x86 EDAC, sb_edac.c: Take account of channel hashing when needed
authorTony Luck <tony.luck@intel.com>
Thu, 14 Apr 2016 17:22:02 +0000 (10:22 -0700)
committerIngo Molnar <mingo@kernel.org>
Fri, 22 Apr 2016 08:10:01 +0000 (10:10 +0200)
commitea5dfb5fae81939f777ca569d8cfb599252da2e8
treead877f65ffb0a4090d17a78069212c8d75662730
parentff15e95c82768d589957dbb17d7eb7dba7904659
x86 EDAC, sb_edac.c: Take account of channel hashing when needed

Haswell and Broadwell can be configured to hash the channel
interleave function using bits [27:12] of the physical address.

On those processor models we must check to see if hashing is
enabled (bit21 of the HASWELL_HASYSDEFEATURE2 register) and
act accordingly.

Based on a patch by patrickg <patrickg@supermicro.com>

Tested-by: Patrick Geary <patrickg@supermicro.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Acked-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: Aristeu Rozanski <arozansk@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-edac@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
drivers/edac/sb_edac.c