From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752502AbbLKNVp (ORCPT ); Fri, 11 Dec 2015 08:21:45 -0500 Received: from mga09.intel.com ([134.134.136.24]:23886 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752312AbbLKNVm (ORCPT ); Fri, 11 Dec 2015 08:21:42 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,413,1444719600"; d="scan'208";a="705464264" From: Hubert Chrzaniuk To: hubert.chrzaniuk@intel.com, lukasz.anaczkowski@intel.com, mchehab@osg.samsung.com, dougthompson@xmission.com Cc: bp@alien8.de, 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:21:22 +0100 Message-Id: <1449840082-18673-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