Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp1315ybp; Thu, 3 Oct 2019 09:20:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqxF8mSP2DsdisYDUAeZDD9orS4cDPEHah9lm3+2ySI+l5MuWB1Lp6Io02mK8QJ0BoUXvSpq X-Received: by 2002:a17:906:5584:: with SMTP id y4mr8466084ejp.89.1570119634016; Thu, 03 Oct 2019 09:20:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570119634; cv=none; d=google.com; s=arc-20160816; b=Qng1HwOA4PqsIx9pLvbA6OOTj8uA+YKrncV5hNuovYVMwHq9lY6J3pHL04lQeZ4Sgz NX7h5vpQoYRX5YSY5WtVeR1ldeolpd9uYqpCCe1w3AEYGx7U4iheiSlVHvXgI1dpkM8F 4hMM+NrEQGl56TdNufZisXFjW3yiyJiAxinD6reSHV7duvgxKYH5nuT8TQYX9lQ4IUhd f4wblprn56bMfSyvN7s/ZkrA7gOhwiSZp4PMclu7pnoPTwpwcovkDgVHJ4wE5t8zZe2y 6O4OcT8DvEN37DD4Rsc1x+4Nvl9fMB3/u9fpxXg0hVyAjo3MuiQWv8x3nemZZNthA1CI pw0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=vKIfG7fKLfokymx6Vide2ICwMIo9syt6/Xbc1E6XK20=; b=0j1SMIzULs6YJdI/R+hYVwOkm2fd917XWkBaCNqKentkoee02LhZ+A/Rku90flHUoc P1DHK+H6GQdZ+WCEb7Te6vJjrKV63DZdTZyA9HnQWT9pJ8MLITyQmoXSg6la5+x7XmBL lbvim/SOj5lpr4aJXlNfJ0UHTVdJLD3/mKe7IFPOcLD9Mc3yZYc0vLr6W4siOAVZCp0w hysP+zTRftQS1299LP1ug1VP+Jg/PZp8+27sE3hv5AFgYzrUEwvRmulPz1Ve1w5NfmDB pxA2KPm5Qunt0nR0++CCb7RwvGF+P/4SF6XvFfCLLiAGb0jILZI5goVC/riAjFu3+1Si P7wA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b1SH7jgc; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j4si1465806ejv.67.2019.10.03.09.20.08; Thu, 03 Oct 2019 09:20:34 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b1SH7jgc; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389604AbfJCQSm (ORCPT + 99 others); Thu, 3 Oct 2019 12:18:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:45332 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388699AbfJCQSl (ORCPT ); Thu, 3 Oct 2019 12:18:41 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 94FF121783; Thu, 3 Oct 2019 16:18:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570119520; bh=2RCEg7l97LRwKRzZakcVXzs9bT+W5NfSG1bK1ShynnA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b1SH7jgcqdh1GhHsAfZn6W3ioQMYJCeaLjd1OGexssiYgIVpOK98spcGgBADZxKyE /F6+c0lYzKMC0+wMJwFSLNGWeKymA7m7uA3HsMVnIhSFLI1hQjfRCDbat1AWhC9XBW 8relT58mU/dB9MwQHpsRnzfALkFfGUsOq7PRMnxg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yazen Ghannam , Borislav Petkov , "linux-edac@vger.kernel.org" , James Morse , Mauro Carvalho Chehab , Tony Luck , Sasha Levin Subject: [PATCH 4.19 095/211] EDAC/amd64: Recognize DRAM device type ECC capability Date: Thu, 3 Oct 2019 17:52:41 +0200 Message-Id: <20191003154508.721172968@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191003154447.010950442@linuxfoundation.org> References: <20191003154447.010950442@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yazen Ghannam [ Upstream commit f8be8e5680225ac9caf07d4545f8529b7395327f ] AMD Family 17h systems support x4 and x16 DRAM devices. However, the device type is not checked when setting mci.edac_ctl_cap. Set the appropriate capability flag based on the device type. Default to x8 DRAM device when neither the x4 or x16 bits are set. [ bp: reverse cpk_en check to save an indentation level. ] Fixes: 2d09d8f301f5 ("EDAC, amd64: Determine EDAC MC capabilities on Fam17h") Signed-off-by: Yazen Ghannam Signed-off-by: Borislav Petkov Cc: "linux-edac@vger.kernel.org" Cc: James Morse Cc: Mauro Carvalho Chehab Cc: Tony Luck Link: https://lkml.kernel.org/r/20190821235938.118710-3-Yazen.Ghannam@amd.com Signed-off-by: Sasha Levin --- drivers/edac/amd64_edac.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index e2addb2bca296..1613df20774f9 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c @@ -3101,12 +3101,15 @@ static bool ecc_enabled(struct pci_dev *F3, u16 nid) static inline void f17h_determine_edac_ctl_cap(struct mem_ctl_info *mci, struct amd64_pvt *pvt) { - u8 i, ecc_en = 1, cpk_en = 1; + u8 i, ecc_en = 1, cpk_en = 1, dev_x4 = 1, dev_x16 = 1; for (i = 0; i < NUM_UMCS; i++) { if (pvt->umc[i].sdp_ctrl & UMC_SDP_INIT) { ecc_en &= !!(pvt->umc[i].umc_cap_hi & UMC_ECC_ENABLED); cpk_en &= !!(pvt->umc[i].umc_cap_hi & UMC_ECC_CHIPKILL_CAP); + + dev_x4 &= !!(pvt->umc[i].dimm_cfg & BIT(6)); + dev_x16 &= !!(pvt->umc[i].dimm_cfg & BIT(7)); } } @@ -3114,8 +3117,15 @@ f17h_determine_edac_ctl_cap(struct mem_ctl_info *mci, struct amd64_pvt *pvt) if (ecc_en) { mci->edac_ctl_cap |= EDAC_FLAG_SECDED; - if (cpk_en) + if (!cpk_en) + return; + + if (dev_x4) mci->edac_ctl_cap |= EDAC_FLAG_S4ECD4ED; + else if (dev_x16) + mci->edac_ctl_cap |= EDAC_FLAG_S16ECD16ED; + else + mci->edac_ctl_cap |= EDAC_FLAG_S8ECD8ED; } } -- 2.20.1