^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) What: /sys/bus/pci/drivers/.../bind
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Date: December 2003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Contact: linux-pci@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Writing a device location to this file will cause
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) the driver to attempt to bind to the device found at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) this location. This is useful for overriding default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) bindings. The format for the location is: DDDD:BB:DD.F.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) That is Domain:Bus:Device.Function and is the same as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) found in /sys/bus/pci/devices/. For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) (Note: kernels before 2.6.28 may require echo -n).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) What: /sys/bus/pci/drivers/.../unbind
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Date: December 2003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Contact: linux-pci@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Writing a device location to this file will cause the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) driver to attempt to unbind from the device found at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) this location. This may be useful when overriding default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) bindings. The format for the location is: DDDD:BB:DD.F.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) That is Domain:Bus:Device.Function and is the same as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) found in /sys/bus/pci/devices/. For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) (Note: kernels before 2.6.28 may require echo -n).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) What: /sys/bus/pci/drivers/.../new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Date: December 2003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Contact: linux-pci@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Writing a device ID to this file will attempt to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) dynamically add a new device ID to a PCI device driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) This may allow the driver to support more hardware than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) was included in the driver's static device ID support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) table at compile time. The format for the device ID is:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) VVVV DDDD SVVV SDDD CCCC MMMM PPPP. That is Vendor ID,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Device ID, Subsystem Vendor ID, Subsystem Device ID,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Class, Class Mask, and Private Driver Data. The Vendor ID
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) and Device ID fields are required, the rest are optional.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) Upon successfully adding an ID, the driver will probe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) for the device and attempt to bind to it. For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) What: /sys/bus/pci/drivers/.../remove_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Date: February 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) Contact: Chris Wright <chrisw@sous-sol.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) Writing a device ID to this file will remove an ID
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) that was dynamically added via the new_id sysfs entry.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) The format for the device ID is:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) VVVV DDDD SVVV SDDD CCCC MMMM. That is Vendor ID, Device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) ID, Subsystem Vendor ID, Subsystem Device ID, Class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) and Class Mask. The Vendor ID and Device ID fields are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) required, the rest are optional. After successfully
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) removing an ID, the driver will no longer support the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) device. This is useful to ensure auto probing won't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) match the driver to the device. For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) What: /sys/bus/pci/rescan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) Date: January 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) Contact: Linux PCI developers <linux-pci@vger.kernel.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) Writing a non-zero value to this attribute will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) force a rescan of all PCI buses in the system, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) re-discover previously removed devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) What: /sys/bus/pci/devices/.../msi_bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) Date: September 2014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) Contact: Linux PCI developers <linux-pci@vger.kernel.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) Writing a zero value to this attribute disallows MSI and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) MSI-X for any future drivers of the device. If the device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) is a bridge, MSI and MSI-X will be disallowed for future
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) drivers of all child devices under the bridge. Drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) must be reloaded for the new setting to take effect.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) What: /sys/bus/pci/devices/.../msi_irqs/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) Date: September, 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) Contact: Neil Horman <nhorman@tuxdriver.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) The /sys/devices/.../msi_irqs directory contains a variable set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) of files, with each file being named after a corresponding msi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) irq vector allocated to that device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) What: /sys/bus/pci/devices/.../msi_irqs/<N>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) Date: September 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) Contact: Neil Horman <nhorman@tuxdriver.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) This attribute indicates the mode that the irq vector named by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) the file is in (msi vs. msix)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) What: /sys/bus/pci/devices/.../remove
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) Date: January 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) Contact: Linux PCI developers <linux-pci@vger.kernel.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) Writing a non-zero value to this attribute will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) hot-remove the PCI device and any of its children.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) What: /sys/bus/pci/devices/.../pci_bus/.../rescan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) Date: May 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) Contact: Linux PCI developers <linux-pci@vger.kernel.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) Writing a non-zero value to this attribute will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) force a rescan of the bus and all child buses,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) and re-discover devices removed earlier from this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) part of the device tree.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) What: /sys/bus/pci/devices/.../rescan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) Date: January 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) Contact: Linux PCI developers <linux-pci@vger.kernel.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) Writing a non-zero value to this attribute will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) force a rescan of the device's parent bus and all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) child buses, and re-discover devices removed earlier
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) from this part of the device tree.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) What: /sys/bus/pci/devices/.../reset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Date: July 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) Contact: Michael S. Tsirkin <mst@redhat.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) Some devices allow an individual function to be reset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) without affecting other functions in the same device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) For devices that have this support, a file named reset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) will be present in sysfs. Writing 1 to this file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) will perform reset.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) What: /sys/bus/pci/devices/.../vpd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) Date: February 2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) Contact: Ben Hutchings <bwh@kernel.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) A file named vpd in a device directory will be a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) binary file containing the Vital Product Data for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) device. It should follow the VPD format defined in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) PCI Specification 2.1 or 2.2, but users should consider
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) that some devices may have malformatted data. If the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) underlying VPD has a writable section then the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) corresponding section of this file will be writable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) What: /sys/bus/pci/devices/.../virtfnN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) Date: March 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) Contact: Yu Zhao <yu.zhao@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) This symbolic link appears when hardware supports the SR-IOV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) capability and the Physical Function driver has enabled it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) The symbolic link points to the PCI device sysfs entry of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) Virtual Function whose index is N (0...MaxVFs-1).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) What: /sys/bus/pci/devices/.../dep_link
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) Date: March 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) Contact: Yu Zhao <yu.zhao@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) This symbolic link appears when hardware supports the SR-IOV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) capability and the Physical Function driver has enabled it,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) and this device has vendor specific dependencies with others.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) The symbolic link points to the PCI device sysfs entry of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) Physical Function this device depends on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) What: /sys/bus/pci/devices/.../physfn
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) Date: March 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) Contact: Yu Zhao <yu.zhao@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) This symbolic link appears when a device is a Virtual Function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) The symbolic link points to the PCI device sysfs entry of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) Physical Function this device associates with.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) What: /sys/bus/pci/slots/.../module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) Date: June 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) Contact: linux-pci@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) This symbolic link points to the PCI hotplug controller driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) module that manages the hotplug slot.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) What: /sys/bus/pci/devices/.../label
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) Date: July 2010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) Contact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) Reading this attribute will provide the firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) given name (SMBIOS type 41 string or ACPI _DSM string) of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) the PCI device. The attribute will be created only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) if the firmware has given a name to the PCI device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) ACPI _DSM string name will be given priority if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) system firmware provides SMBIOS type 41 string also.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) Userspace applications interested in knowing the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) firmware assigned name of the PCI device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) What: /sys/bus/pci/devices/.../index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) Date: July 2010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) Contact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) Reading this attribute will provide the firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) given instance (SMBIOS type 41 device type instance) of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) PCI device. The attribute will be created only if the firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) has given an instance number to the PCI device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) Userspace applications interested in knowing the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) firmware assigned device type instance of the PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) device that can help in understanding the firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) intended order of the PCI device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) What: /sys/bus/pci/devices/.../acpi_index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) Date: July 2010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) Contact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) Reading this attribute will provide the firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) given instance (ACPI _DSM instance number) of the PCI device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) The attribute will be created only if the firmware has given
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) an instance number to the PCI device. ACPI _DSM instance number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) will be given priority if the system firmware provides SMBIOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) type 41 device type instance also.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) Userspace applications interested in knowing the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) firmware assigned instance number of the PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) device that can help in understanding the firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) intended order of the PCI device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) What: /sys/bus/pci/devices/.../d3cold_allowed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) Date: July 2012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) Contact: Huang Ying <ying.huang@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) d3cold_allowed is bit to control whether the corresponding PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) device can be put into D3Cold state. If it is cleared, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) device will never be put into D3Cold state. If it is set, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) device may be put into D3Cold state if other requirements are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) satisfied too. Reading this attribute will show the current
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) value of d3cold_allowed bit. Writing this attribute will set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) the value of d3cold_allowed bit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) What: /sys/bus/pci/devices/.../sriov_totalvfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) Date: November 2012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) Contact: Donald Dutile <ddutile@redhat.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) This file appears when a physical PCIe device supports SR-IOV.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) Userspace applications can read this file to determine the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) maximum number of Virtual Functions (VFs) a PCIe physical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) function (PF) can support. Typically, this is the value reported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) in the PF's SR-IOV extended capability structure's TotalVFs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) element. Drivers have the ability at probe time to reduce the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) value read from this file via the pci_sriov_set_totalvfs()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) What: /sys/bus/pci/devices/.../sriov_numvfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) Date: November 2012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) Contact: Donald Dutile <ddutile@redhat.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) This file appears when a physical PCIe device supports SR-IOV.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) Userspace applications can read and write to this file to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) determine and control the enablement or disablement of Virtual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) Functions (VFs) on the physical function (PF). A read of this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) file will return the number of VFs that are enabled on this PF.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) A number written to this file will enable the specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) number of VFs. A userspace application would typically read the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) file and check that the value is zero, and then write the number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) of VFs that should be enabled on the PF; the value written
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) should be less than or equal to the value in the sriov_totalvfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) file. A userspace application wanting to disable the VFs would
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) write a zero to this file. The core ensures that valid values
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) are written to this file, and returns errors when values are not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) valid. For example, writing a 2 to this file when sriov_numvfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) is not 0 and not 2 already will return an error. Writing a 10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) when the value of sriov_totalvfs is 8 will return an error.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) What: /sys/bus/pci/devices/.../driver_override
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) Date: April 2014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) Contact: Alex Williamson <alex.williamson@redhat.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) This file allows the driver for a device to be specified which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) will override standard static and dynamic ID matching. When
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) specified, only a driver with a name matching the value written
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) to driver_override will have an opportunity to bind to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) device. The override is specified by writing a string to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) driver_override file (echo pci-stub > driver_override) and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) may be cleared with an empty string (echo > driver_override).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) This returns the device to standard matching rules binding.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) Writing to driver_override does not automatically unbind the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) device from its current driver or make any attempt to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) automatically load the specified driver. If no driver with a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) matching name is currently loaded in the kernel, the device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) will not bind to any driver. This also allows devices to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) opt-out of driver binding using a driver_override name such as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) "none". Only a single driver may be specified in the override,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) there is no support for parsing delimiters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) What: /sys/bus/pci/devices/.../numa_node
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) Date: Oct 2014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) Contact: Prarit Bhargava <prarit@redhat.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) This file contains the NUMA node to which the PCI device is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) attached, or -1 if the node is unknown. The initial value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) comes from an ACPI _PXM method or a similar firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) source. If that is missing or incorrect, this file can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) written to override the node. In that case, please report
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) a firmware bug to the system vendor. Writing to this file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) taints the kernel with TAINT_FIRMWARE_WORKAROUND, which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) reduces the supportability of your system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) What: /sys/bus/pci/devices/.../revision
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) Date: November 2016
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) Contact: Emil Velikov <emil.l.velikov@gmail.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) This file contains the revision field of the PCI device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) The value comes from device config space. The file is read only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) What: /sys/bus/pci/devices/.../sriov_drivers_autoprobe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) Date: April 2017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) Contact: Bodong Wang<bodong@mellanox.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) This file is associated with the PF of a device that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) supports SR-IOV. It determines whether newly-enabled VFs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) are immediately bound to a driver. It initially contains
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) 1, which means the kernel automatically binds VFs to a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) compatible driver immediately after they are enabled. If
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) an application writes 0 to the file before enabling VFs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) the kernel will not bind VFs to a driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) A typical use case is to write 0 to this file, then enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) VFs, then assign the newly-created VFs to virtual machines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) Note that changing this file does not affect already-
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) enabled VFs. In this scenario, the user must first disable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) the VFs, write 0 to sriov_drivers_autoprobe, then re-enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) the VFs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) This is similar to /sys/bus/pci/drivers_autoprobe, but
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) affects only the VFs associated with a specific PF.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) What: /sys/bus/pci/devices/.../p2pmem/size
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) Date: November 2017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) Contact: Logan Gunthorpe <logang@deltatee.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) If the device has any Peer-to-Peer memory registered, this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) file contains the total amount of memory that the device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) provides (in decimal).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) What: /sys/bus/pci/devices/.../p2pmem/available
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) Date: November 2017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) Contact: Logan Gunthorpe <logang@deltatee.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) If the device has any Peer-to-Peer memory registered, this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) file contains the amount of memory that has not been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) allocated (in decimal).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) What: /sys/bus/pci/devices/.../p2pmem/published
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) Date: November 2017
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) Contact: Logan Gunthorpe <logang@deltatee.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) If the device has any Peer-to-Peer memory registered, this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) file contains a '1' if the memory has been published for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) use outside the driver that owns the device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) What: /sys/bus/pci/devices/.../link/clkpm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) /sys/bus/pci/devices/.../link/l0s_aspm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) /sys/bus/pci/devices/.../link/l1_aspm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) /sys/bus/pci/devices/.../link/l1_1_aspm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) /sys/bus/pci/devices/.../link/l1_2_aspm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) /sys/bus/pci/devices/.../link/l1_1_pcipm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) /sys/bus/pci/devices/.../link/l1_2_pcipm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) Date: October 2019
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) Contact: Heiner Kallweit <hkallweit1@gmail.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) Description: If ASPM is supported for an endpoint, these files can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) used to disable or enable the individual power management
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) states. Write y/1/on to enable, n/0/off to disable.