PCI: Expose ari_enabled in sysfs
authorStuart Hayes <stuart.w.hayes@gmail.com>
Fri, 5 Jan 2018 18:51:55 +0000 (12:51 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 23 Jan 2018 20:39:24 +0000 (14:39 -0600)
commit0077a845f7e31a6eabafaefc99540903b65439d4
treec7efc95fec475348b002cbe185a23e08ba319276
parentaa008206634363ef800fbd5f0262016c9ff81dea
PCI: Expose ari_enabled in sysfs

Some multifunction PCI devices with more than 8 functions use "alternative
routing-ID interpretation" (ARI), which means the 8-bit device/function
number field will be interpreted as 8 bits specifying the function number
(the device number is 0 implicitly), rather than the upper 5 bits
specifying the device number and the lower 3 bits specifying the function
number. The kernel can enable and use this.

Expose in a sysfs attribute whether the kernel has enabled ARI, so that a
program in userspace won't have to parse PCI devices and PCI configuration
space to figure out if it is enabled. This will allow better predictable
network naming using PCI function numbers without using PCI bus or device
numbers, which is desirable because bus and device numbers can change with
system configuration but function numbers will not.

Signed-off-by: Stuart Hayes <stuart.w.hayes@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pci-sysfs.c