18c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/drivers/.../bind
28c2ecf20Sopenharmony_ciDate:		December 2003
38c2ecf20Sopenharmony_ciContact:	linux-pci@vger.kernel.org
48c2ecf20Sopenharmony_ciDescription:
58c2ecf20Sopenharmony_ci		Writing a device location to this file will cause
68c2ecf20Sopenharmony_ci		the driver to attempt to bind to the device found at
78c2ecf20Sopenharmony_ci		this location.	This is useful for overriding default
88c2ecf20Sopenharmony_ci		bindings.  The format for the location is: DDDD:BB:DD.F.
98c2ecf20Sopenharmony_ci		That is Domain:Bus:Device.Function and is the same as
108c2ecf20Sopenharmony_ci		found in /sys/bus/pci/devices/.  For example::
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci		  # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci		(Note: kernels before 2.6.28 may require echo -n).
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/drivers/.../unbind
178c2ecf20Sopenharmony_ciDate:		December 2003
188c2ecf20Sopenharmony_ciContact:	linux-pci@vger.kernel.org
198c2ecf20Sopenharmony_ciDescription:
208c2ecf20Sopenharmony_ci		Writing a device location to this file will cause the
218c2ecf20Sopenharmony_ci		driver to attempt to unbind from the device found at
228c2ecf20Sopenharmony_ci		this location.	This may be useful when overriding default
238c2ecf20Sopenharmony_ci		bindings.  The format for the location is: DDDD:BB:DD.F.
248c2ecf20Sopenharmony_ci		That is Domain:Bus:Device.Function and is the same as
258c2ecf20Sopenharmony_ci		found in /sys/bus/pci/devices/. For example::
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci		  # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci		(Note: kernels before 2.6.28 may require echo -n).
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/drivers/.../new_id
328c2ecf20Sopenharmony_ciDate:		December 2003
338c2ecf20Sopenharmony_ciContact:	linux-pci@vger.kernel.org
348c2ecf20Sopenharmony_ciDescription:
358c2ecf20Sopenharmony_ci		Writing a device ID to this file will attempt to
368c2ecf20Sopenharmony_ci		dynamically add a new device ID to a PCI device driver.
378c2ecf20Sopenharmony_ci		This may allow the driver to support more hardware than
388c2ecf20Sopenharmony_ci		was included in the driver's static device ID support
398c2ecf20Sopenharmony_ci		table at compile time.  The format for the device ID is:
408c2ecf20Sopenharmony_ci		VVVV DDDD SVVV SDDD CCCC MMMM PPPP.  That is Vendor ID,
418c2ecf20Sopenharmony_ci		Device ID, Subsystem Vendor ID, Subsystem Device ID,
428c2ecf20Sopenharmony_ci		Class, Class Mask, and Private Driver Data.  The Vendor ID
438c2ecf20Sopenharmony_ci		and Device ID fields are required, the rest are optional.
448c2ecf20Sopenharmony_ci		Upon successfully adding an ID, the driver will probe
458c2ecf20Sopenharmony_ci		for the device and attempt to bind to it.  For example::
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci		  # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/drivers/.../remove_id
508c2ecf20Sopenharmony_ciDate:		February 2009
518c2ecf20Sopenharmony_ciContact:	Chris Wright <chrisw@sous-sol.org>
528c2ecf20Sopenharmony_ciDescription:
538c2ecf20Sopenharmony_ci		Writing a device ID to this file will remove an ID
548c2ecf20Sopenharmony_ci		that was dynamically added via the new_id sysfs entry.
558c2ecf20Sopenharmony_ci		The format for the device ID is:
568c2ecf20Sopenharmony_ci		VVVV DDDD SVVV SDDD CCCC MMMM.	That is Vendor ID, Device
578c2ecf20Sopenharmony_ci		ID, Subsystem Vendor ID, Subsystem Device ID, Class,
588c2ecf20Sopenharmony_ci		and Class Mask.  The Vendor ID and Device ID fields are
598c2ecf20Sopenharmony_ci		required, the rest are optional.  After successfully
608c2ecf20Sopenharmony_ci		removing an ID, the driver will no longer support the
618c2ecf20Sopenharmony_ci		device.  This is useful to ensure auto probing won't
628c2ecf20Sopenharmony_ci		match the driver to the device.  For example::
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci		  # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/rescan
678c2ecf20Sopenharmony_ciDate:		January 2009
688c2ecf20Sopenharmony_ciContact:	Linux PCI developers <linux-pci@vger.kernel.org>
698c2ecf20Sopenharmony_ciDescription:
708c2ecf20Sopenharmony_ci		Writing a non-zero value to this attribute will
718c2ecf20Sopenharmony_ci		force a rescan of all PCI buses in the system, and
728c2ecf20Sopenharmony_ci		re-discover previously removed devices.
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../msi_bus
758c2ecf20Sopenharmony_ciDate:		September 2014
768c2ecf20Sopenharmony_ciContact:	Linux PCI developers <linux-pci@vger.kernel.org>
778c2ecf20Sopenharmony_ciDescription:
788c2ecf20Sopenharmony_ci		Writing a zero value to this attribute disallows MSI and
798c2ecf20Sopenharmony_ci		MSI-X for any future drivers of the device.  If the device
808c2ecf20Sopenharmony_ci		is a bridge, MSI and MSI-X will be disallowed for future
818c2ecf20Sopenharmony_ci		drivers of all child devices under the bridge.  Drivers
828c2ecf20Sopenharmony_ci		must be reloaded for the new setting to take effect.
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../msi_irqs/
858c2ecf20Sopenharmony_ciDate:		September, 2011
868c2ecf20Sopenharmony_ciContact:	Neil Horman <nhorman@tuxdriver.com>
878c2ecf20Sopenharmony_ciDescription:
888c2ecf20Sopenharmony_ci		The /sys/devices/.../msi_irqs directory contains a variable set
898c2ecf20Sopenharmony_ci		of files, with each file being named after a corresponding msi
908c2ecf20Sopenharmony_ci		irq vector allocated to that device.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../msi_irqs/<N>
938c2ecf20Sopenharmony_ciDate:		September 2011
948c2ecf20Sopenharmony_ciContact:	Neil Horman <nhorman@tuxdriver.com>
958c2ecf20Sopenharmony_ciDescription:
968c2ecf20Sopenharmony_ci		This attribute indicates the mode that the irq vector named by
978c2ecf20Sopenharmony_ci		the file is in (msi vs. msix)
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../remove
1008c2ecf20Sopenharmony_ciDate:		January 2009
1018c2ecf20Sopenharmony_ciContact:	Linux PCI developers <linux-pci@vger.kernel.org>
1028c2ecf20Sopenharmony_ciDescription:
1038c2ecf20Sopenharmony_ci		Writing a non-zero value to this attribute will
1048c2ecf20Sopenharmony_ci		hot-remove the PCI device and any of its children.
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../pci_bus/.../rescan
1078c2ecf20Sopenharmony_ciDate:		May 2011
1088c2ecf20Sopenharmony_ciContact:	Linux PCI developers <linux-pci@vger.kernel.org>
1098c2ecf20Sopenharmony_ciDescription:
1108c2ecf20Sopenharmony_ci		Writing a non-zero value to this attribute will
1118c2ecf20Sopenharmony_ci		force a rescan of the bus and all child buses,
1128c2ecf20Sopenharmony_ci		and re-discover devices removed earlier from this
1138c2ecf20Sopenharmony_ci		part of the device tree.
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../rescan
1168c2ecf20Sopenharmony_ciDate:		January 2009
1178c2ecf20Sopenharmony_ciContact:	Linux PCI developers <linux-pci@vger.kernel.org>
1188c2ecf20Sopenharmony_ciDescription:
1198c2ecf20Sopenharmony_ci		Writing a non-zero value to this attribute will
1208c2ecf20Sopenharmony_ci		force a rescan of the device's parent bus and all
1218c2ecf20Sopenharmony_ci		child buses, and re-discover devices removed earlier
1228c2ecf20Sopenharmony_ci		from this part of the device tree.
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../reset
1258c2ecf20Sopenharmony_ciDate:		July 2009
1268c2ecf20Sopenharmony_ciContact:	Michael S. Tsirkin <mst@redhat.com>
1278c2ecf20Sopenharmony_ciDescription:
1288c2ecf20Sopenharmony_ci		Some devices allow an individual function to be reset
1298c2ecf20Sopenharmony_ci		without affecting other functions in the same device.
1308c2ecf20Sopenharmony_ci		For devices that have this support, a file named reset
1318c2ecf20Sopenharmony_ci		will be present in sysfs.  Writing 1 to this file
1328c2ecf20Sopenharmony_ci		will perform reset.
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../vpd
1358c2ecf20Sopenharmony_ciDate:		February 2008
1368c2ecf20Sopenharmony_ciContact:	Ben Hutchings <bwh@kernel.org>
1378c2ecf20Sopenharmony_ciDescription:
1388c2ecf20Sopenharmony_ci		A file named vpd in a device directory will be a
1398c2ecf20Sopenharmony_ci		binary file containing the Vital Product Data for the
1408c2ecf20Sopenharmony_ci		device.  It should follow the VPD format defined in
1418c2ecf20Sopenharmony_ci		PCI Specification 2.1 or 2.2, but users should consider
1428c2ecf20Sopenharmony_ci		that some devices may have malformatted data.  If the
1438c2ecf20Sopenharmony_ci		underlying VPD has a writable section then the
1448c2ecf20Sopenharmony_ci		corresponding section of this file will be writable.
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../virtfnN
1478c2ecf20Sopenharmony_ciDate:		March 2009
1488c2ecf20Sopenharmony_ciContact:	Yu Zhao <yu.zhao@intel.com>
1498c2ecf20Sopenharmony_ciDescription:
1508c2ecf20Sopenharmony_ci		This symbolic link appears when hardware supports the SR-IOV
1518c2ecf20Sopenharmony_ci		capability and the Physical Function driver has enabled it.
1528c2ecf20Sopenharmony_ci		The symbolic link points to the PCI device sysfs entry of the
1538c2ecf20Sopenharmony_ci		Virtual Function whose index is N (0...MaxVFs-1).
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../dep_link
1568c2ecf20Sopenharmony_ciDate:		March 2009
1578c2ecf20Sopenharmony_ciContact:	Yu Zhao <yu.zhao@intel.com>
1588c2ecf20Sopenharmony_ciDescription:
1598c2ecf20Sopenharmony_ci		This symbolic link appears when hardware supports the SR-IOV
1608c2ecf20Sopenharmony_ci		capability and the Physical Function driver has enabled it,
1618c2ecf20Sopenharmony_ci		and this device has vendor specific dependencies with others.
1628c2ecf20Sopenharmony_ci		The symbolic link points to the PCI device sysfs entry of
1638c2ecf20Sopenharmony_ci		Physical Function this device depends on.
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../physfn
1668c2ecf20Sopenharmony_ciDate:		March 2009
1678c2ecf20Sopenharmony_ciContact:	Yu Zhao <yu.zhao@intel.com>
1688c2ecf20Sopenharmony_ciDescription:
1698c2ecf20Sopenharmony_ci		This symbolic link appears when a device is a Virtual Function.
1708c2ecf20Sopenharmony_ci		The symbolic link points to the PCI device sysfs entry of the
1718c2ecf20Sopenharmony_ci		Physical Function this device associates with.
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/slots/.../module
1748c2ecf20Sopenharmony_ciDate:		June 2009
1758c2ecf20Sopenharmony_ciContact:	linux-pci@vger.kernel.org
1768c2ecf20Sopenharmony_ciDescription:
1778c2ecf20Sopenharmony_ci		This symbolic link points to the PCI hotplug controller driver
1788c2ecf20Sopenharmony_ci		module that manages the hotplug slot.
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../label
1818c2ecf20Sopenharmony_ciDate:		July 2010
1828c2ecf20Sopenharmony_ciContact:	Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
1838c2ecf20Sopenharmony_ciDescription:
1848c2ecf20Sopenharmony_ci		Reading this attribute will provide the firmware
1858c2ecf20Sopenharmony_ci		given name (SMBIOS type 41 string or ACPI _DSM string) of
1868c2ecf20Sopenharmony_ci		the PCI device.	The attribute will be created only
1878c2ecf20Sopenharmony_ci		if the firmware	has given a name to the PCI device.
1888c2ecf20Sopenharmony_ci		ACPI _DSM string name will be given priority if the
1898c2ecf20Sopenharmony_ci		system firmware provides SMBIOS type 41 string also.
1908c2ecf20Sopenharmony_ciUsers:
1918c2ecf20Sopenharmony_ci		Userspace applications interested in knowing the
1928c2ecf20Sopenharmony_ci		firmware assigned name of the PCI device.
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../index
1958c2ecf20Sopenharmony_ciDate:		July 2010
1968c2ecf20Sopenharmony_ciContact:	Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
1978c2ecf20Sopenharmony_ciDescription:
1988c2ecf20Sopenharmony_ci		Reading this attribute will provide the firmware
1998c2ecf20Sopenharmony_ci		given instance (SMBIOS type 41 device type instance) of the
2008c2ecf20Sopenharmony_ci		PCI device. The attribute will be created only if the firmware
2018c2ecf20Sopenharmony_ci		has given an instance number to the PCI device.
2028c2ecf20Sopenharmony_ciUsers:
2038c2ecf20Sopenharmony_ci		Userspace applications interested in knowing the
2048c2ecf20Sopenharmony_ci		firmware assigned device type instance of the PCI
2058c2ecf20Sopenharmony_ci		device that can help in understanding the firmware
2068c2ecf20Sopenharmony_ci		intended order of the PCI device.
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../acpi_index
2098c2ecf20Sopenharmony_ciDate:		July 2010
2108c2ecf20Sopenharmony_ciContact:	Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
2118c2ecf20Sopenharmony_ciDescription:
2128c2ecf20Sopenharmony_ci		Reading this attribute will provide the firmware
2138c2ecf20Sopenharmony_ci		given instance (ACPI _DSM instance number) of the PCI device.
2148c2ecf20Sopenharmony_ci		The attribute will be created only if the firmware has given
2158c2ecf20Sopenharmony_ci		an instance number to the PCI device. ACPI _DSM instance number
2168c2ecf20Sopenharmony_ci		will be given priority if the system firmware provides SMBIOS
2178c2ecf20Sopenharmony_ci		type 41 device type instance also.
2188c2ecf20Sopenharmony_ciUsers:
2198c2ecf20Sopenharmony_ci		Userspace applications interested in knowing the
2208c2ecf20Sopenharmony_ci		firmware assigned instance number of the PCI
2218c2ecf20Sopenharmony_ci		device that can help in understanding the firmware
2228c2ecf20Sopenharmony_ci		intended order of the PCI device.
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../d3cold_allowed
2258c2ecf20Sopenharmony_ciDate:		July 2012
2268c2ecf20Sopenharmony_ciContact:	Huang Ying <ying.huang@intel.com>
2278c2ecf20Sopenharmony_ciDescription:
2288c2ecf20Sopenharmony_ci		d3cold_allowed is bit to control whether the corresponding PCI
2298c2ecf20Sopenharmony_ci		device can be put into D3Cold state.  If it is cleared, the
2308c2ecf20Sopenharmony_ci		device will never be put into D3Cold state.  If it is set, the
2318c2ecf20Sopenharmony_ci		device may be put into D3Cold state if other requirements are
2328c2ecf20Sopenharmony_ci		satisfied too.  Reading this attribute will show the current
2338c2ecf20Sopenharmony_ci		value of d3cold_allowed bit.  Writing this attribute will set
2348c2ecf20Sopenharmony_ci		the value of d3cold_allowed bit.
2358c2ecf20Sopenharmony_ci
2368c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../sriov_totalvfs
2378c2ecf20Sopenharmony_ciDate:		November 2012
2388c2ecf20Sopenharmony_ciContact:	Donald Dutile <ddutile@redhat.com>
2398c2ecf20Sopenharmony_ciDescription:
2408c2ecf20Sopenharmony_ci		This file appears when a physical PCIe device supports SR-IOV.
2418c2ecf20Sopenharmony_ci		Userspace applications can read this file to determine the
2428c2ecf20Sopenharmony_ci		maximum number of Virtual Functions (VFs) a PCIe physical
2438c2ecf20Sopenharmony_ci		function (PF) can support. Typically, this is the value reported
2448c2ecf20Sopenharmony_ci		in the PF's SR-IOV extended capability structure's TotalVFs
2458c2ecf20Sopenharmony_ci		element.  Drivers have the ability at probe time to reduce the
2468c2ecf20Sopenharmony_ci		value read from this file via the pci_sriov_set_totalvfs()
2478c2ecf20Sopenharmony_ci		function.
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../sriov_numvfs
2508c2ecf20Sopenharmony_ciDate:		November 2012
2518c2ecf20Sopenharmony_ciContact:	Donald Dutile <ddutile@redhat.com>
2528c2ecf20Sopenharmony_ciDescription:
2538c2ecf20Sopenharmony_ci		This file appears when a physical PCIe device supports SR-IOV.
2548c2ecf20Sopenharmony_ci		Userspace applications can read and write to this file to
2558c2ecf20Sopenharmony_ci		determine and control the enablement or disablement of Virtual
2568c2ecf20Sopenharmony_ci		Functions (VFs) on the physical function (PF). A read of this
2578c2ecf20Sopenharmony_ci		file will return the number of VFs that are enabled on this PF.
2588c2ecf20Sopenharmony_ci		A number written to this file will enable the specified
2598c2ecf20Sopenharmony_ci		number of VFs. A userspace application would typically read the
2608c2ecf20Sopenharmony_ci		file and check that the value is zero, and then write the number
2618c2ecf20Sopenharmony_ci		of VFs that should be enabled on the PF; the value written
2628c2ecf20Sopenharmony_ci		should be less than or equal to the value in the sriov_totalvfs
2638c2ecf20Sopenharmony_ci		file. A userspace application wanting to disable the VFs would
2648c2ecf20Sopenharmony_ci		write a zero to this file. The core ensures that valid values
2658c2ecf20Sopenharmony_ci		are written to this file, and returns errors when values are not
2668c2ecf20Sopenharmony_ci		valid.  For example, writing a 2 to this file when sriov_numvfs
2678c2ecf20Sopenharmony_ci		is not 0 and not 2 already will return an error. Writing a 10
2688c2ecf20Sopenharmony_ci		when the value of sriov_totalvfs is 8 will return an error.
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../driver_override
2718c2ecf20Sopenharmony_ciDate:		April 2014
2728c2ecf20Sopenharmony_ciContact:	Alex Williamson <alex.williamson@redhat.com>
2738c2ecf20Sopenharmony_ciDescription:
2748c2ecf20Sopenharmony_ci		This file allows the driver for a device to be specified which
2758c2ecf20Sopenharmony_ci		will override standard static and dynamic ID matching.  When
2768c2ecf20Sopenharmony_ci		specified, only a driver with a name matching the value written
2778c2ecf20Sopenharmony_ci		to driver_override will have an opportunity to bind to the
2788c2ecf20Sopenharmony_ci		device.  The override is specified by writing a string to the
2798c2ecf20Sopenharmony_ci		driver_override file (echo pci-stub > driver_override) and
2808c2ecf20Sopenharmony_ci		may be cleared with an empty string (echo > driver_override).
2818c2ecf20Sopenharmony_ci		This returns the device to standard matching rules binding.
2828c2ecf20Sopenharmony_ci		Writing to driver_override does not automatically unbind the
2838c2ecf20Sopenharmony_ci		device from its current driver or make any attempt to
2848c2ecf20Sopenharmony_ci		automatically load the specified driver.  If no driver with a
2858c2ecf20Sopenharmony_ci		matching name is currently loaded in the kernel, the device
2868c2ecf20Sopenharmony_ci		will not bind to any driver.  This also allows devices to
2878c2ecf20Sopenharmony_ci		opt-out of driver binding using a driver_override name such as
2888c2ecf20Sopenharmony_ci		"none".  Only a single driver may be specified in the override,
2898c2ecf20Sopenharmony_ci		there is no support for parsing delimiters.
2908c2ecf20Sopenharmony_ci
2918c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../numa_node
2928c2ecf20Sopenharmony_ciDate:		Oct 2014
2938c2ecf20Sopenharmony_ciContact:	Prarit Bhargava <prarit@redhat.com>
2948c2ecf20Sopenharmony_ciDescription:
2958c2ecf20Sopenharmony_ci		This file contains the NUMA node to which the PCI device is
2968c2ecf20Sopenharmony_ci		attached, or -1 if the node is unknown.  The initial value
2978c2ecf20Sopenharmony_ci		comes from an ACPI _PXM method or a similar firmware
2988c2ecf20Sopenharmony_ci		source.  If that is missing or incorrect, this file can be
2998c2ecf20Sopenharmony_ci		written to override the node.  In that case, please report
3008c2ecf20Sopenharmony_ci		a firmware bug to the system vendor.  Writing to this file
3018c2ecf20Sopenharmony_ci		taints the kernel with TAINT_FIRMWARE_WORKAROUND, which
3028c2ecf20Sopenharmony_ci		reduces the supportability of your system.
3038c2ecf20Sopenharmony_ci
3048c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../revision
3058c2ecf20Sopenharmony_ciDate:		November 2016
3068c2ecf20Sopenharmony_ciContact:	Emil Velikov <emil.l.velikov@gmail.com>
3078c2ecf20Sopenharmony_ciDescription:
3088c2ecf20Sopenharmony_ci		This file contains the revision field of the PCI device.
3098c2ecf20Sopenharmony_ci		The value comes from device config space. The file is read only.
3108c2ecf20Sopenharmony_ci
3118c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../sriov_drivers_autoprobe
3128c2ecf20Sopenharmony_ciDate:		April 2017
3138c2ecf20Sopenharmony_ciContact:	Bodong Wang<bodong@mellanox.com>
3148c2ecf20Sopenharmony_ciDescription:
3158c2ecf20Sopenharmony_ci		This file is associated with the PF of a device that
3168c2ecf20Sopenharmony_ci		supports SR-IOV.  It determines whether newly-enabled VFs
3178c2ecf20Sopenharmony_ci		are immediately bound to a driver.  It initially contains
3188c2ecf20Sopenharmony_ci		1, which means the kernel automatically binds VFs to a
3198c2ecf20Sopenharmony_ci		compatible driver immediately after they are enabled.  If
3208c2ecf20Sopenharmony_ci		an application writes 0 to the file before enabling VFs,
3218c2ecf20Sopenharmony_ci		the kernel will not bind VFs to a driver.
3228c2ecf20Sopenharmony_ci
3238c2ecf20Sopenharmony_ci		A typical use case is to write 0 to this file, then enable
3248c2ecf20Sopenharmony_ci		VFs, then assign the newly-created VFs to virtual machines.
3258c2ecf20Sopenharmony_ci		Note that changing this file does not affect already-
3268c2ecf20Sopenharmony_ci		enabled VFs.  In this scenario, the user must first disable
3278c2ecf20Sopenharmony_ci		the VFs, write 0 to sriov_drivers_autoprobe, then re-enable
3288c2ecf20Sopenharmony_ci		the VFs.
3298c2ecf20Sopenharmony_ci
3308c2ecf20Sopenharmony_ci		This is similar to /sys/bus/pci/drivers_autoprobe, but
3318c2ecf20Sopenharmony_ci		affects only the VFs associated with a specific PF.
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../p2pmem/size
3348c2ecf20Sopenharmony_ciDate:		November 2017
3358c2ecf20Sopenharmony_ciContact:	Logan Gunthorpe <logang@deltatee.com>
3368c2ecf20Sopenharmony_ciDescription:
3378c2ecf20Sopenharmony_ci		If the device has any Peer-to-Peer memory registered, this
3388c2ecf20Sopenharmony_ci	        file contains the total amount of memory that the device
3398c2ecf20Sopenharmony_ci		provides (in decimal).
3408c2ecf20Sopenharmony_ci
3418c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../p2pmem/available
3428c2ecf20Sopenharmony_ciDate:		November 2017
3438c2ecf20Sopenharmony_ciContact:	Logan Gunthorpe <logang@deltatee.com>
3448c2ecf20Sopenharmony_ciDescription:
3458c2ecf20Sopenharmony_ci		If the device has any Peer-to-Peer memory registered, this
3468c2ecf20Sopenharmony_ci	        file contains the amount of memory that has not been
3478c2ecf20Sopenharmony_ci		allocated (in decimal).
3488c2ecf20Sopenharmony_ci
3498c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../p2pmem/published
3508c2ecf20Sopenharmony_ciDate:		November 2017
3518c2ecf20Sopenharmony_ciContact:	Logan Gunthorpe <logang@deltatee.com>
3528c2ecf20Sopenharmony_ciDescription:
3538c2ecf20Sopenharmony_ci		If the device has any Peer-to-Peer memory registered, this
3548c2ecf20Sopenharmony_ci	        file contains a '1' if the memory has been published for
3558c2ecf20Sopenharmony_ci		use outside the driver that owns the device.
3568c2ecf20Sopenharmony_ci
3578c2ecf20Sopenharmony_ciWhat:		/sys/bus/pci/devices/.../link/clkpm
3588c2ecf20Sopenharmony_ci		/sys/bus/pci/devices/.../link/l0s_aspm
3598c2ecf20Sopenharmony_ci		/sys/bus/pci/devices/.../link/l1_aspm
3608c2ecf20Sopenharmony_ci		/sys/bus/pci/devices/.../link/l1_1_aspm
3618c2ecf20Sopenharmony_ci		/sys/bus/pci/devices/.../link/l1_2_aspm
3628c2ecf20Sopenharmony_ci		/sys/bus/pci/devices/.../link/l1_1_pcipm
3638c2ecf20Sopenharmony_ci		/sys/bus/pci/devices/.../link/l1_2_pcipm
3648c2ecf20Sopenharmony_ciDate:		October 2019
3658c2ecf20Sopenharmony_ciContact:	Heiner Kallweit <hkallweit1@gmail.com>
3668c2ecf20Sopenharmony_ciDescription:	If ASPM is supported for an endpoint, these files can be
3678c2ecf20Sopenharmony_ci		used to disable or enable the individual power management
3688c2ecf20Sopenharmony_ci		states. Write y/1/on to enable, n/0/off to disable.
369