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