1d22157b3SChris WrightWhat: /sys/bus/pci/drivers/.../bind 2d22157b3SChris WrightDate: December 2003 3d22157b3SChris WrightContact: linux-pci@vger.kernel.org 4d22157b3SChris WrightDescription: 5d22157b3SChris Wright Writing a device location to this file will cause 6d22157b3SChris Wright the driver to attempt to bind to the device found at 7d22157b3SChris Wright this location. This is useful for overriding default 8d22157b3SChris Wright bindings. The format for the location is: DDDD:BB:DD.F. 9d22157b3SChris Wright That is Domain:Bus:Device.Function and is the same as 10d22157b3SChris Wright found in /sys/bus/pci/devices/. For example: 11d22157b3SChris Wright # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind 12d22157b3SChris Wright (Note: kernels before 2.6.28 may require echo -n). 13d22157b3SChris Wright 14d22157b3SChris WrightWhat: /sys/bus/pci/drivers/.../unbind 15d22157b3SChris WrightDate: December 2003 16d22157b3SChris WrightContact: linux-pci@vger.kernel.org 17d22157b3SChris WrightDescription: 18d22157b3SChris Wright Writing a device location to this file will cause the 19d22157b3SChris Wright driver to attempt to unbind from the device found at 20d22157b3SChris Wright this location. This may be useful when overriding default 21d22157b3SChris Wright bindings. The format for the location is: DDDD:BB:DD.F. 22d22157b3SChris Wright That is Domain:Bus:Device.Function and is the same as 23d22157b3SChris Wright found in /sys/bus/pci/devices/. For example: 24d22157b3SChris Wright # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind 25d22157b3SChris Wright (Note: kernels before 2.6.28 may require echo -n). 26d22157b3SChris Wright 27d22157b3SChris WrightWhat: /sys/bus/pci/drivers/.../new_id 28d22157b3SChris WrightDate: December 2003 29d22157b3SChris WrightContact: linux-pci@vger.kernel.org 30d22157b3SChris WrightDescription: 31d22157b3SChris Wright Writing a device ID to this file will attempt to 32d22157b3SChris Wright dynamically add a new device ID to a PCI device driver. 33d22157b3SChris Wright This may allow the driver to support more hardware than 34d22157b3SChris Wright was included in the driver's static device ID support 35d22157b3SChris Wright table at compile time. The format for the device ID is: 36d22157b3SChris Wright VVVV DDDD SVVV SDDD CCCC MMMM PPPP. That is Vendor ID, 37d22157b3SChris Wright Device ID, Subsystem Vendor ID, Subsystem Device ID, 38d22157b3SChris Wright Class, Class Mask, and Private Driver Data. The Vendor ID 39d22157b3SChris Wright and Device ID fields are required, the rest are optional. 40d22157b3SChris Wright Upon successfully adding an ID, the driver will probe 41d22157b3SChris Wright for the device and attempt to bind to it. For example: 42d22157b3SChris Wright # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id 43d22157b3SChris Wright 440994375eSChris WrightWhat: /sys/bus/pci/drivers/.../remove_id 450994375eSChris WrightDate: February 2009 460994375eSChris WrightContact: Chris Wright <chrisw@sous-sol.org> 470994375eSChris WrightDescription: 480994375eSChris Wright Writing a device ID to this file will remove an ID 490994375eSChris Wright that was dynamically added via the new_id sysfs entry. 500994375eSChris Wright The format for the device ID is: 510994375eSChris Wright VVVV DDDD SVVV SDDD CCCC MMMM. That is Vendor ID, Device 520994375eSChris Wright ID, Subsystem Vendor ID, Subsystem Device ID, Class, 530994375eSChris Wright and Class Mask. The Vendor ID and Device ID fields are 540994375eSChris Wright required, the rest are optional. After successfully 550994375eSChris Wright removing an ID, the driver will no longer support the 560994375eSChris Wright device. This is useful to ensure auto probing won't 570994375eSChris Wright match the driver to the device. For example: 580994375eSChris Wright # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id 590994375eSChris Wright 60705b1aaaSAlex ChiangWhat: /sys/bus/pci/rescan 61705b1aaaSAlex ChiangDate: January 2009 62705b1aaaSAlex ChiangContact: Linux PCI developers <linux-pci@vger.kernel.org> 63705b1aaaSAlex ChiangDescription: 64705b1aaaSAlex Chiang Writing a non-zero value to this attribute will 65705b1aaaSAlex Chiang force a rescan of all PCI buses in the system, and 66705b1aaaSAlex Chiang re-discover previously removed devices. 67705b1aaaSAlex Chiang Depends on CONFIG_HOTPLUG. 68705b1aaaSAlex Chiang 69b50cac55SNeil HormanWhat: /sys/bus/pci/devices/.../msi_irqs/ 70b50cac55SNeil HormanDate: September, 2011 71b50cac55SNeil HormanContact: Neil Horman <nhorman@tuxdriver.com> 72b50cac55SNeil HormanDescription: 73b50cac55SNeil Horman The /sys/devices/.../msi_irqs directory contains a variable set 74b50cac55SNeil Horman of sub-directories, with each sub-directory being named after a 75b50cac55SNeil Horman corresponding msi irq vector allocated to that device. Each 76b50cac55SNeil Horman numbered sub-directory N contains attributes of that irq. 77b50cac55SNeil Horman Note that this directory is not created for device drivers which 78b50cac55SNeil Horman do not support msi irqs 79b50cac55SNeil Horman 80b50cac55SNeil HormanWhat: /sys/bus/pci/devices/.../msi_irqs/<N>/mode 81b50cac55SNeil HormanDate: September 2011 82b50cac55SNeil HormanContact: Neil Horman <nhorman@tuxdriver.com> 83b50cac55SNeil HormanDescription: 84b50cac55SNeil Horman This attribute indicates the mode that the irq vector named by 85b50cac55SNeil Horman the parent directory is in (msi vs. msix) 86b50cac55SNeil Horman 8777c27c7bSAlex ChiangWhat: /sys/bus/pci/devices/.../remove 8877c27c7bSAlex ChiangDate: January 2009 8977c27c7bSAlex ChiangContact: Linux PCI developers <linux-pci@vger.kernel.org> 9077c27c7bSAlex ChiangDescription: 9177c27c7bSAlex Chiang Writing a non-zero value to this attribute will 9277c27c7bSAlex Chiang hot-remove the PCI device and any of its children. 9377c27c7bSAlex Chiang Depends on CONFIG_HOTPLUG. 9477c27c7bSAlex Chiang 95b9d320fcSYinghai LuWhat: /sys/bus/pci/devices/.../pci_bus/.../rescan 96b9d320fcSYinghai LuDate: May 2011 97b9d320fcSYinghai LuContact: Linux PCI developers <linux-pci@vger.kernel.org> 98b9d320fcSYinghai LuDescription: 99b9d320fcSYinghai Lu Writing a non-zero value to this attribute will 100b9d320fcSYinghai Lu force a rescan of the bus and all child buses, 101b9d320fcSYinghai Lu and re-discover devices removed earlier from this 102b9d320fcSYinghai Lu part of the device tree. Depends on CONFIG_HOTPLUG. 103b9d320fcSYinghai Lu 104738a6396SAlex ChiangWhat: /sys/bus/pci/devices/.../rescan 105738a6396SAlex ChiangDate: January 2009 106738a6396SAlex ChiangContact: Linux PCI developers <linux-pci@vger.kernel.org> 107738a6396SAlex ChiangDescription: 108738a6396SAlex Chiang Writing a non-zero value to this attribute will 109738a6396SAlex Chiang force a rescan of the device's parent bus and all 110738a6396SAlex Chiang child buses, and re-discover devices removed earlier 111738a6396SAlex Chiang from this part of the device tree. 112738a6396SAlex Chiang Depends on CONFIG_HOTPLUG. 113738a6396SAlex Chiang 114711d5779SMichael S. TsirkinWhat: /sys/bus/pci/devices/.../reset 115711d5779SMichael S. TsirkinDate: July 2009 116711d5779SMichael S. TsirkinContact: Michael S. Tsirkin <mst@redhat.com> 117711d5779SMichael S. TsirkinDescription: 118711d5779SMichael S. Tsirkin Some devices allow an individual function to be reset 119711d5779SMichael S. Tsirkin without affecting other functions in the same device. 120711d5779SMichael S. Tsirkin For devices that have this support, a file named reset 121711d5779SMichael S. Tsirkin will be present in sysfs. Writing 1 to this file 122711d5779SMichael S. Tsirkin will perform reset. 123711d5779SMichael S. Tsirkin 12494e61088SBen HutchingsWhat: /sys/bus/pci/devices/.../vpd 12594e61088SBen HutchingsDate: February 2008 12694e61088SBen HutchingsContact: Ben Hutchings <bhutchings@solarflare.com> 12794e61088SBen HutchingsDescription: 12894e61088SBen Hutchings A file named vpd in a device directory will be a 12994e61088SBen Hutchings binary file containing the Vital Product Data for the 13094e61088SBen Hutchings device. It should follow the VPD format defined in 13194e61088SBen Hutchings PCI Specification 2.1 or 2.2, but users should consider 13294e61088SBen Hutchings that some devices may have malformatted data. If the 13394e61088SBen Hutchings underlying VPD has a writable section then the 13494e61088SBen Hutchings corresponding section of this file will be writable. 13501db4957SYu Zhao 13601db4957SYu ZhaoWhat: /sys/bus/pci/devices/.../virtfnN 13701db4957SYu ZhaoDate: March 2009 13801db4957SYu ZhaoContact: Yu Zhao <yu.zhao@intel.com> 13901db4957SYu ZhaoDescription: 14001db4957SYu Zhao This symbolic link appears when hardware supports the SR-IOV 14101db4957SYu Zhao capability and the Physical Function driver has enabled it. 14201db4957SYu Zhao The symbolic link points to the PCI device sysfs entry of the 14301db4957SYu Zhao Virtual Function whose index is N (0...MaxVFs-1). 14401db4957SYu Zhao 14501db4957SYu ZhaoWhat: /sys/bus/pci/devices/.../dep_link 14601db4957SYu ZhaoDate: March 2009 14701db4957SYu ZhaoContact: Yu Zhao <yu.zhao@intel.com> 14801db4957SYu ZhaoDescription: 14901db4957SYu Zhao This symbolic link appears when hardware supports the SR-IOV 15001db4957SYu Zhao capability and the Physical Function driver has enabled it, 15101db4957SYu Zhao and this device has vendor specific dependencies with others. 15201db4957SYu Zhao The symbolic link points to the PCI device sysfs entry of 15301db4957SYu Zhao Physical Function this device depends on. 15401db4957SYu Zhao 15501db4957SYu ZhaoWhat: /sys/bus/pci/devices/.../physfn 15601db4957SYu ZhaoDate: March 2009 15701db4957SYu ZhaoContact: Yu Zhao <yu.zhao@intel.com> 15801db4957SYu ZhaoDescription: 15901db4957SYu Zhao This symbolic link appears when a device is a Virtual Function. 16001db4957SYu Zhao The symbolic link points to the PCI device sysfs entry of the 16101db4957SYu Zhao Physical Function this device associates with. 162c825bc94SKenji Kaneshige 163c825bc94SKenji KaneshigeWhat: /sys/bus/pci/slots/.../module 164c825bc94SKenji KaneshigeDate: June 2009 165c825bc94SKenji KaneshigeContact: linux-pci@vger.kernel.org 166c825bc94SKenji KaneshigeDescription: 167c825bc94SKenji Kaneshige This symbolic link points to the PCI hotplug controller driver 168c825bc94SKenji Kaneshige module that manages the hotplug slot. 169911e1c9bSNarendra K 170911e1c9bSNarendra KWhat: /sys/bus/pci/devices/.../label 171911e1c9bSNarendra KDate: July 2010 172911e1c9bSNarendra KContact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com 173911e1c9bSNarendra KDescription: 174911e1c9bSNarendra K Reading this attribute will provide the firmware 1756058989bSNarendra_K@Dell.com given name (SMBIOS type 41 string or ACPI _DSM string) of 1766058989bSNarendra_K@Dell.com the PCI device. The attribute will be created only 1776058989bSNarendra_K@Dell.com if the firmware has given a name to the PCI device. 1786058989bSNarendra_K@Dell.com ACPI _DSM string name will be given priority if the 1796058989bSNarendra_K@Dell.com system firmware provides SMBIOS type 41 string also. 180911e1c9bSNarendra KUsers: 181911e1c9bSNarendra K Userspace applications interested in knowing the 182911e1c9bSNarendra K firmware assigned name of the PCI device. 183911e1c9bSNarendra K 184911e1c9bSNarendra KWhat: /sys/bus/pci/devices/.../index 185911e1c9bSNarendra KDate: July 2010 186911e1c9bSNarendra KContact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com 187911e1c9bSNarendra KDescription: 188911e1c9bSNarendra K Reading this attribute will provide the firmware 1896058989bSNarendra_K@Dell.com given instance (SMBIOS type 41 device type instance) of the 1906058989bSNarendra_K@Dell.com PCI device. The attribute will be created only if the firmware 1916058989bSNarendra_K@Dell.com has given an instance number to the PCI device. 192911e1c9bSNarendra KUsers: 193911e1c9bSNarendra K Userspace applications interested in knowing the 194911e1c9bSNarendra K firmware assigned device type instance of the PCI 195911e1c9bSNarendra K device that can help in understanding the firmware 196911e1c9bSNarendra K intended order of the PCI device. 1976058989bSNarendra_K@Dell.com 1986058989bSNarendra_K@Dell.comWhat: /sys/bus/pci/devices/.../acpi_index 1996058989bSNarendra_K@Dell.comDate: July 2010 2006058989bSNarendra_K@Dell.comContact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com 2016058989bSNarendra_K@Dell.comDescription: 2026058989bSNarendra_K@Dell.com Reading this attribute will provide the firmware 2036058989bSNarendra_K@Dell.com given instance (ACPI _DSM instance number) of the PCI device. 2046058989bSNarendra_K@Dell.com The attribute will be created only if the firmware has given 2056058989bSNarendra_K@Dell.com an instance number to the PCI device. ACPI _DSM instance number 2066058989bSNarendra_K@Dell.com will be given priority if the system firmware provides SMBIOS 2076058989bSNarendra_K@Dell.com type 41 device type instance also. 2086058989bSNarendra_K@Dell.comUsers: 2096058989bSNarendra_K@Dell.com Userspace applications interested in knowing the 2106058989bSNarendra_K@Dell.com firmware assigned instance number of the PCI 2116058989bSNarendra_K@Dell.com device that can help in understanding the firmware 2126058989bSNarendra_K@Dell.com intended order of the PCI device. 213*046c6531SHuang Ying 214*046c6531SHuang YingWhat: /sys/bus/pci/devices/.../d3cold_allowed 215*046c6531SHuang YingDate: July 2012 216*046c6531SHuang YingContact: Huang Ying <ying.huang@intel.com> 217*046c6531SHuang YingDescription: 218*046c6531SHuang Ying d3cold_allowed is bit to control whether the corresponding PCI 219*046c6531SHuang Ying device can be put into D3Cold state. If it is cleared, the 220*046c6531SHuang Ying device will never be put into D3Cold state. If it is set, the 221*046c6531SHuang Ying device may be put into D3Cold state if other requirements are 222*046c6531SHuang Ying satisfied too. Reading this attribute will show the current 223*046c6531SHuang Ying value of d3cold_allowed bit. Writing this attribute will set 224*046c6531SHuang Ying the value of d3cold_allowed bit. 225