From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751394AbbLKNQo (ORCPT ); Fri, 11 Dec 2015 08:16:44 -0500 Received: from mga11.intel.com ([192.55.52.93]:57798 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750987AbbLKNQm (ORCPT ); Fri, 11 Dec 2015 08:16:42 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,413,1444719600"; d="scan'208";a="869547455" From: Hubert Chrzaniuk To: hubert.chrzaniuk@intel.com, lukasz.anaczkowski@intel.com, mchehab@redhat.com, dougthompson@xmission.com Cc: linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] sb_edac: Setting fixed DIMM width for Xeon Knights Landing platform. Date: Fri, 11 Dec 2015 14:16:35 +0100 Message-Id: <1449839795-17566-1-git-send-email-hubert.chrzaniuk@intel.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Knights Landing does not come with register that could be used to fetch DIMM width. However the value is fixed for this architecture so it can be hardcoded. Fixes: d0cdf900314 (sb_edac: Add Knights Landing (Xeon Phi gen 2) support) Signed-off-by: Hubert Chrzaniuk --- drivers/edac/sb_edac.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c index 9c0424d..6ea9b1f 100644 --- a/drivers/edac/sb_edac.c +++ b/drivers/edac/sb_edac.c @@ -924,6 +924,12 @@ out: return mtype; } +static enum dev_type knl_get_width(struct sbridge_pvt *pvt, u32 mtr) +{ + /* for KNL value is fixed */ + return DEV_X16; +} + static enum dev_type sbridge_get_width(struct sbridge_pvt *pvt, u32 mtr) { /* there's no way to figure out */ @@ -3370,7 +3376,7 @@ static int sbridge_register_mci(struct sbridge_dev *sbridge_dev, enum type type) pvt->info.interleave_list = knl_interleave_list; pvt->info.max_interleave = ARRAY_SIZE(knl_interleave_list); pvt->info.interleave_pkg = ibridge_interleave_pkg; - pvt->info.get_width = ibridge_get_width; + pvt->info.get_width = knl_get_width; mci->ctl_name = kasprintf(GFP_KERNEL, "Knights Landing Socket#%d", mci->mc_idx); -- 1.8.3.1