x86/amd_nb: Add SMN and Indirect Data Fabric access for AMD Fam17h
authorYazen Ghannam <Yazen.Ghannam@amd.com>
Thu, 10 Nov 2016 21:10:56 +0000 (15:10 -0600)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 16 Nov 2016 19:46:38 +0000 (20:46 +0100)
commitddfe43cdc0da3189feac4bb9f0f818bef6d6e56e
tree1f356fa7ee90d0a4eee3e380a1bb031dccb3396c
parentb791c6b6a55c402367cc544f54921074253db061
x86/amd_nb: Add SMN and Indirect Data Fabric access for AMD Fam17h

Some devices on Fam17h can only be accessed through the System Management
Network (SMN). The SMN is accessed by a pair of index/data registers in PCI
config space. Add a pair of functions to read from and write to the SMN.

The Data Fabric on Fam17h allows multiple devices to use the same register
space. The registers of a specific device are accessed indirectly using the
device's DF InstanceId. Currently, we only need to read from these devices,
so only define a read function for now.

Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: x86-ml <x86@kernel.org>
Link: http://lkml.kernel.org/r/1478812257-5424-5-git-send-email-Yazen.Ghannam@amd.com
[ Boris: make __amd_smn_rw() even more compact. ]
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/include/asm/amd_nb.h
arch/x86/kernel/amd_nb.c