Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45f4d3ab authored by Hubert Chrzaniuk's avatar Hubert Chrzaniuk Committed by Borislav Petkov
Browse files

EDAC, sb_edac: Set fixed DIMM width on Xeon Knights Landing



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.

Signed-off-by: default avatarHubert Chrzaniuk <hubert.chrzaniuk@intel.com>
Cc: Doug Thompson <dougthompson@xmission.com>
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: lukasz.anaczkowski@intel.com
Link: http://lkml.kernel.org/r/1449840082-18673-1-git-send-email-hubert.chrzaniuk@intel.com


Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
parent c4cf3b45
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -924,6 +924,12 @@ static enum mem_type haswell_get_memory_type(struct sbridge_pvt *pvt)
	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 */
@@ -3393,7 +3399,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);