blob: 428676cfa61e51917d1fabf0b66e442c943c3768 [file] [log] [blame]
Chris Wrightd22157b2009-02-23 21:50:35 -08001What: /sys/bus/pci/drivers/.../bind
2Date: December 2003
3Contact: linux-pci@vger.kernel.org
4Description:
5 Writing a device location to this file will cause
6 the driver to attempt to bind to the device found at
7 this location. This is useful for overriding default
8 bindings. The format for the location is: DDDD:BB:DD.F.
9 That is Domain:Bus:Device.Function and is the same as
10 found in /sys/bus/pci/devices/. For example:
11 # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind
12 (Note: kernels before 2.6.28 may require echo -n).
13
14What: /sys/bus/pci/drivers/.../unbind
15Date: December 2003
16Contact: linux-pci@vger.kernel.org
17Description:
18 Writing a device location to this file will cause the
19 driver to attempt to unbind from the device found at
20 this location. This may be useful when overriding default
21 bindings. The format for the location is: DDDD:BB:DD.F.
22 That is Domain:Bus:Device.Function and is the same as
23 found in /sys/bus/pci/devices/. For example:
24 # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind
25 (Note: kernels before 2.6.28 may require echo -n).
26
27What: /sys/bus/pci/drivers/.../new_id
28Date: December 2003
29Contact: linux-pci@vger.kernel.org
30Description:
31 Writing a device ID to this file will attempt to
32 dynamically add a new device ID to a PCI device driver.
33 This may allow the driver to support more hardware than
34 was included in the driver's static device ID support
35 table at compile time. The format for the device ID is:
36 VVVV DDDD SVVV SDDD CCCC MMMM PPPP. That is Vendor ID,
37 Device ID, Subsystem Vendor ID, Subsystem Device ID,
38 Class, Class Mask, and Private Driver Data. The Vendor ID
39 and Device ID fields are required, the rest are optional.
40 Upon successfully adding an ID, the driver will probe
41 for the device and attempt to bind to it. For example:
42 # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id
43
Chris Wright09943752009-02-23 21:52:23 -080044What: /sys/bus/pci/drivers/.../remove_id
45Date: February 2009
46Contact: Chris Wright <chrisw@sous-sol.org>
47Description:
48 Writing a device ID to this file will remove an ID
49 that was dynamically added via the new_id sysfs entry.
50 The format for the device ID is:
51 VVVV DDDD SVVV SDDD CCCC MMMM. That is Vendor ID, Device
52 ID, Subsystem Vendor ID, Subsystem Device ID, Class,
53 and Class Mask. The Vendor ID and Device ID fields are
54 required, the rest are optional. After successfully
55 removing an ID, the driver will no longer support the
56 device. This is useful to ensure auto probing won't
57 match the driver to the device. For example:
58 # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id
59
Alex Chiang705b1aa2009-03-20 14:56:31 -060060What: /sys/bus/pci/rescan
61Date: January 2009
62Contact: Linux PCI developers <linux-pci@vger.kernel.org>
63Description:
64 Writing a non-zero value to this attribute will
65 force a rescan of all PCI buses in the system, and
66 re-discover previously removed devices.
67 Depends on CONFIG_HOTPLUG.
68
Alex Chiang77c27c72009-03-20 14:56:36 -060069What: /sys/bus/pci/devices/.../remove
70Date: January 2009
71Contact: Linux PCI developers <linux-pci@vger.kernel.org>
72Description:
73 Writing a non-zero value to this attribute will
74 hot-remove the PCI device and any of its children.
75 Depends on CONFIG_HOTPLUG.
76
Alex Chiang738a6392009-03-20 14:56:41 -060077What: /sys/bus/pci/devices/.../rescan
78Date: January 2009
79Contact: Linux PCI developers <linux-pci@vger.kernel.org>
80Description:
81 Writing a non-zero value to this attribute will
82 force a rescan of the device's parent bus and all
83 child buses, and re-discover devices removed earlier
84 from this part of the device tree.
85 Depends on CONFIG_HOTPLUG.
86
Michael S. Tsirkin711d5772009-07-27 23:37:48 +030087What: /sys/bus/pci/devices/.../reset
88Date: July 2009
89Contact: Michael S. Tsirkin <mst@redhat.com>
90Description:
91 Some devices allow an individual function to be reset
92 without affecting other functions in the same device.
93 For devices that have this support, a file named reset
94 will be present in sysfs. Writing 1 to this file
95 will perform reset.
96
Ben Hutchings94e61082008-03-05 16:52:39 +000097What: /sys/bus/pci/devices/.../vpd
98Date: February 2008
99Contact: Ben Hutchings <bhutchings@solarflare.com>
100Description:
101 A file named vpd in a device directory will be a
102 binary file containing the Vital Product Data for the
103 device. It should follow the VPD format defined in
104 PCI Specification 2.1 or 2.2, but users should consider
105 that some devices may have malformatted data. If the
106 underlying VPD has a writable section then the
107 corresponding section of this file will be writable.
Yu Zhao01db4952009-03-20 11:25:17 +0800108
109What: /sys/bus/pci/devices/.../virtfnN
110Date: March 2009
111Contact: Yu Zhao <yu.zhao@intel.com>
112Description:
113 This symbolic link appears when hardware supports the SR-IOV
114 capability and the Physical Function driver has enabled it.
115 The symbolic link points to the PCI device sysfs entry of the
116 Virtual Function whose index is N (0...MaxVFs-1).
117
118What: /sys/bus/pci/devices/.../dep_link
119Date: March 2009
120Contact: Yu Zhao <yu.zhao@intel.com>
121Description:
122 This symbolic link appears when hardware supports the SR-IOV
123 capability and the Physical Function driver has enabled it,
124 and this device has vendor specific dependencies with others.
125 The symbolic link points to the PCI device sysfs entry of
126 Physical Function this device depends on.
127
128What: /sys/bus/pci/devices/.../physfn
129Date: March 2009
130Contact: Yu Zhao <yu.zhao@intel.com>
131Description:
132 This symbolic link appears when a device is a Virtual Function.
133 The symbolic link points to the PCI device sysfs entry of the
134 Physical Function this device associates with.
Kenji Kaneshigec825bc92009-06-16 11:01:25 +0900135
Alex Chiang75568f82010-03-08 10:24:29 -0700136
137What: /sys/bus/pci/slots/...
138Date: April 2005 (possibly older)
139KernelVersion: 2.6.12 (possibly older)
140Contact: linux-pci@vger.kernel.org
141Description:
142 When the appropriate driver is loaded, it will create a
143 directory per claimed physical PCI slot in
144 /sys/bus/pci/slots/. The names of these directories are
145 specific to the driver, which in turn, are specific to the
146 platform, but in general, should match the label on the
147 machine's physical chassis.
148
149 The drivers that can create slot directories include the
150 PCI hotplug drivers, and as of 2.6.27, the pci_slot driver.
151
152 The slot directories contain, at a minimum, a file named
153 'address' which contains the PCI bus:device:function tuple.
154 Other files may appear as well, but are specific to the
155 driver.
156
157What: /sys/bus/pci/slots/.../function[0-7]
158Date: March 2010
159KernelVersion: 2.6.35
160Contact: linux-pci@vger.kernel.org
161Description:
162 If PCI slot directories (as described above) are created,
163 and the physical slot is actually populated with a device,
164 symbolic links in the slot directory pointing to the
165 device's PCI functions are created as well.
166
167What: /sys/bus/pci/devices/.../slot
168Date: March 2010
169KernelVersion: 2.6.35
170Contact: linux-pci@vger.kernel.org
171Description:
172 If PCI slot directories (as described above) are created,
173 a symbolic link pointing to the slot directory will be
174 created as well.
175
Kenji Kaneshigec825bc92009-06-16 11:01:25 +0900176What: /sys/bus/pci/slots/.../module
177Date: June 2009
178Contact: linux-pci@vger.kernel.org
179Description:
180 This symbolic link points to the PCI hotplug controller driver
181 module that manages the hotplug slot.