PCI: vmd: Add offset to bus numbers if necessary
authorJon Derrick <jonathan.derrick@intel.com>
Fri, 18 May 2018 19:28:00 +0000 (13:28 -0600)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Thu, 24 May 2018 16:43:19 +0000 (17:43 +0100)
commit2a5a9c9a20f919c33bb315dab2867992ec96dfa4
treeccffc149c89d1f0a88ed90ff9cba780190fb8102
parent6788958e4f3ca1b75df841d7e25951807e94e5e0
PCI: vmd: Add offset to bus numbers if necessary

Depending on platform configuration, certain VMD devices may have an
additional configuration option which specifies the range of bus numbers
allowed in a VMD PCIe domain. We determine this requirement by checking
the value of two vendor specific config registers in the VMD endpoint:

 VMCAP[0] | VMCONFIG[9:8] | Bus Numbers
----------------------------------------
    0     |       *       |     0-255
    1     |      00       |     0-127
    1     |      01       |   128-255
    1     |      10       |     0-255

This feature is also added as a bit in driver_data, to allow future
conforming device ids which support these features to be enabled through
sysfs new_id.

Signed-off-by: Jon Derrick <jonathan.derrick@intel.com>
[lorenzo.pieralisi@arm.com: updated commit subject]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/host/vmd.c