284 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			284 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
What:		/sys/bus/pci/drivers/.../bind
 | 
						|
Date:		December 2003
 | 
						|
Contact:	linux-pci@vger.kernel.org
 | 
						|
Description:
 | 
						|
		Writing a device location to this file will cause
 | 
						|
		the driver to attempt to bind to the device found at
 | 
						|
		this location.	This is useful for overriding default
 | 
						|
		bindings.  The format for the location is: DDDD:BB:DD.F.
 | 
						|
		That is Domain:Bus:Device.Function and is the same as
 | 
						|
		found in /sys/bus/pci/devices/.  For example:
 | 
						|
		# echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind
 | 
						|
		(Note: kernels before 2.6.28 may require echo -n).
 | 
						|
 | 
						|
What:		/sys/bus/pci/drivers/.../unbind
 | 
						|
Date:		December 2003
 | 
						|
Contact:	linux-pci@vger.kernel.org
 | 
						|
Description:
 | 
						|
		Writing a device location to this file will cause the
 | 
						|
		driver to attempt to unbind from the device found at
 | 
						|
		this location.	This may be useful when overriding default
 | 
						|
		bindings.  The format for the location is: DDDD:BB:DD.F.
 | 
						|
		That is Domain:Bus:Device.Function and is the same as
 | 
						|
		found in /sys/bus/pci/devices/. For example:
 | 
						|
		# echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind
 | 
						|
		(Note: kernels before 2.6.28 may require echo -n).
 | 
						|
 | 
						|
What:		/sys/bus/pci/drivers/.../new_id
 | 
						|
Date:		December 2003
 | 
						|
Contact:	linux-pci@vger.kernel.org
 | 
						|
Description:
 | 
						|
		Writing a device ID to this file will attempt to
 | 
						|
		dynamically add a new device ID to a PCI device driver.
 | 
						|
		This may allow the driver to support more hardware than
 | 
						|
		was included in the driver's static device ID support
 | 
						|
		table at compile time.  The format for the device ID is:
 | 
						|
		VVVV DDDD SVVV SDDD CCCC MMMM PPPP.  That is Vendor ID,
 | 
						|
		Device ID, Subsystem Vendor ID, Subsystem Device ID,
 | 
						|
		Class, Class Mask, and Private Driver Data.  The Vendor ID
 | 
						|
		and Device ID fields are required, the rest are optional.
 | 
						|
		Upon successfully adding an ID, the driver will probe
 | 
						|
		for the device and attempt to bind to it.  For example:
 | 
						|
		# echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id
 | 
						|
 | 
						|
What:		/sys/bus/pci/drivers/.../remove_id
 | 
						|
Date:		February 2009
 | 
						|
Contact:	Chris Wright <chrisw@sous-sol.org>
 | 
						|
Description:
 | 
						|
		Writing a device ID to this file will remove an ID
 | 
						|
		that was dynamically added via the new_id sysfs entry.
 | 
						|
		The format for the device ID is:
 | 
						|
		VVVV DDDD SVVV SDDD CCCC MMMM.	That is Vendor ID, Device
 | 
						|
		ID, Subsystem Vendor ID, Subsystem Device ID, Class,
 | 
						|
		and Class Mask.  The Vendor ID and Device ID fields are
 | 
						|
		required, the rest are optional.  After successfully
 | 
						|
		removing an ID, the driver will no longer support the
 | 
						|
		device.  This is useful to ensure auto probing won't
 | 
						|
		match the driver to the device.  For example:
 | 
						|
		# echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id
 | 
						|
 | 
						|
What:		/sys/bus/pci/rescan
 | 
						|
Date:		January 2009
 | 
						|
Contact:	Linux PCI developers <linux-pci@vger.kernel.org>
 | 
						|
Description:
 | 
						|
		Writing a non-zero value to this attribute will
 | 
						|
		force a rescan of all PCI buses in the system, and
 | 
						|
		re-discover previously removed devices.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../msi_bus
 | 
						|
Date:		September 2014
 | 
						|
Contact:	Linux PCI developers <linux-pci@vger.kernel.org>
 | 
						|
Description:
 | 
						|
		Writing a zero value to this attribute disallows MSI and
 | 
						|
		MSI-X for any future drivers of the device.  If the device
 | 
						|
		is a bridge, MSI and MSI-X will be disallowed for future
 | 
						|
		drivers of all child devices under the bridge.  Drivers
 | 
						|
		must be reloaded for the new setting to take effect.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../msi_irqs/
 | 
						|
Date:		September, 2011
 | 
						|
Contact:	Neil Horman <nhorman@tuxdriver.com>
 | 
						|
Description:
 | 
						|
		The /sys/devices/.../msi_irqs directory contains a variable set
 | 
						|
		of files, with each file being named after a corresponding msi
 | 
						|
		irq vector allocated to that device.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../msi_irqs/<N>
 | 
						|
Date:		September 2011
 | 
						|
Contact:	Neil Horman <nhorman@tuxdriver.com>
 | 
						|
Description:
 | 
						|
		This attribute indicates the mode that the irq vector named by
 | 
						|
		the file is in (msi vs. msix)
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../remove
 | 
						|
Date:		January 2009
 | 
						|
Contact:	Linux PCI developers <linux-pci@vger.kernel.org>
 | 
						|
Description:
 | 
						|
		Writing a non-zero value to this attribute will
 | 
						|
		hot-remove the PCI device and any of its children.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../pci_bus/.../rescan
 | 
						|
Date:		May 2011
 | 
						|
Contact:	Linux PCI developers <linux-pci@vger.kernel.org>
 | 
						|
Description:
 | 
						|
		Writing a non-zero value to this attribute will
 | 
						|
		force a rescan of the bus and all child buses,
 | 
						|
		and re-discover devices removed earlier from this
 | 
						|
		part of the device tree.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../rescan
 | 
						|
Date:		January 2009
 | 
						|
Contact:	Linux PCI developers <linux-pci@vger.kernel.org>
 | 
						|
Description:
 | 
						|
		Writing a non-zero value to this attribute will
 | 
						|
		force a rescan of the device's parent bus and all
 | 
						|
		child buses, and re-discover devices removed earlier
 | 
						|
		from this part of the device tree.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../reset
 | 
						|
Date:		July 2009
 | 
						|
Contact:	Michael S. Tsirkin <mst@redhat.com>
 | 
						|
Description:
 | 
						|
		Some devices allow an individual function to be reset
 | 
						|
		without affecting other functions in the same device.
 | 
						|
		For devices that have this support, a file named reset
 | 
						|
		will be present in sysfs.  Writing 1 to this file
 | 
						|
		will perform reset.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../vpd
 | 
						|
Date:		February 2008
 | 
						|
Contact:	Ben Hutchings <bwh@kernel.org>
 | 
						|
Description:
 | 
						|
		A file named vpd in a device directory will be a
 | 
						|
		binary file containing the Vital Product Data for the
 | 
						|
		device.  It should follow the VPD format defined in
 | 
						|
		PCI Specification 2.1 or 2.2, but users should consider
 | 
						|
		that some devices may have malformatted data.  If the
 | 
						|
		underlying VPD has a writable section then the
 | 
						|
		corresponding section of this file will be writable.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../virtfnN
 | 
						|
Date:		March 2009
 | 
						|
Contact:	Yu Zhao <yu.zhao@intel.com>
 | 
						|
Description:
 | 
						|
		This symbolic link appears when hardware supports the SR-IOV
 | 
						|
		capability and the Physical Function driver has enabled it.
 | 
						|
		The symbolic link points to the PCI device sysfs entry of the
 | 
						|
		Virtual Function whose index is N (0...MaxVFs-1).
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../dep_link
 | 
						|
Date:		March 2009
 | 
						|
Contact:	Yu Zhao <yu.zhao@intel.com>
 | 
						|
Description:
 | 
						|
		This symbolic link appears when hardware supports the SR-IOV
 | 
						|
		capability and the Physical Function driver has enabled it,
 | 
						|
		and this device has vendor specific dependencies with others.
 | 
						|
		The symbolic link points to the PCI device sysfs entry of
 | 
						|
		Physical Function this device depends on.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../physfn
 | 
						|
Date:		March 2009
 | 
						|
Contact:	Yu Zhao <yu.zhao@intel.com>
 | 
						|
Description:
 | 
						|
		This symbolic link appears when a device is a Virtual Function.
 | 
						|
		The symbolic link points to the PCI device sysfs entry of the
 | 
						|
		Physical Function this device associates with.
 | 
						|
 | 
						|
What:		/sys/bus/pci/slots/.../module
 | 
						|
Date:		June 2009
 | 
						|
Contact:	linux-pci@vger.kernel.org
 | 
						|
Description:
 | 
						|
		This symbolic link points to the PCI hotplug controller driver
 | 
						|
		module that manages the hotplug slot.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../label
 | 
						|
Date:		July 2010
 | 
						|
Contact:	Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
 | 
						|
Description:
 | 
						|
		Reading this attribute will provide the firmware
 | 
						|
		given name (SMBIOS type 41 string or ACPI _DSM string) of
 | 
						|
		the PCI device.	The attribute will be created only
 | 
						|
		if the firmware	has given a name to the PCI device.
 | 
						|
		ACPI _DSM string name will be given priority if the
 | 
						|
		system firmware provides SMBIOS type 41 string also.
 | 
						|
Users:
 | 
						|
		Userspace applications interested in knowing the
 | 
						|
		firmware assigned name of the PCI device.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../index
 | 
						|
Date:		July 2010
 | 
						|
Contact:	Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
 | 
						|
Description:
 | 
						|
		Reading this attribute will provide the firmware
 | 
						|
		given instance (SMBIOS type 41 device type instance) of the
 | 
						|
		PCI device. The attribute will be created only if the firmware
 | 
						|
		has given an instance number to the PCI device.
 | 
						|
Users:
 | 
						|
		Userspace applications interested in knowing the
 | 
						|
		firmware assigned device type instance of the PCI
 | 
						|
		device that can help in understanding the firmware
 | 
						|
		intended order of the PCI device.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../acpi_index
 | 
						|
Date:		July 2010
 | 
						|
Contact:	Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
 | 
						|
Description:
 | 
						|
		Reading this attribute will provide the firmware
 | 
						|
		given instance (ACPI _DSM instance number) of the PCI device.
 | 
						|
		The attribute will be created only if the firmware has given
 | 
						|
		an instance number to the PCI device. ACPI _DSM instance number
 | 
						|
		will be given priority if the system firmware provides SMBIOS
 | 
						|
		type 41 device type instance also.
 | 
						|
Users:
 | 
						|
		Userspace applications interested in knowing the
 | 
						|
		firmware assigned instance number of the PCI
 | 
						|
		device that can help in understanding the firmware
 | 
						|
		intended order of the PCI device.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../d3cold_allowed
 | 
						|
Date:		July 2012
 | 
						|
Contact:	Huang Ying <ying.huang@intel.com>
 | 
						|
Description:
 | 
						|
		d3cold_allowed is bit to control whether the corresponding PCI
 | 
						|
		device can be put into D3Cold state.  If it is cleared, the
 | 
						|
		device will never be put into D3Cold state.  If it is set, the
 | 
						|
		device may be put into D3Cold state if other requirements are
 | 
						|
		satisfied too.  Reading this attribute will show the current
 | 
						|
		value of d3cold_allowed bit.  Writing this attribute will set
 | 
						|
		the value of d3cold_allowed bit.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../sriov_totalvfs
 | 
						|
Date:		November 2012
 | 
						|
Contact:	Donald Dutile <ddutile@redhat.com>
 | 
						|
Description:
 | 
						|
		This file appears when a physical PCIe device supports SR-IOV.
 | 
						|
		Userspace applications can read this file to determine the
 | 
						|
		maximum number of Virtual Functions (VFs) a PCIe physical
 | 
						|
		function (PF) can support. Typically, this is the value reported
 | 
						|
		in the PF's SR-IOV extended capability structure's TotalVFs
 | 
						|
		element.  Drivers have the ability at probe time to reduce the
 | 
						|
		value read from this file via the pci_sriov_set_totalvfs()
 | 
						|
		function.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../sriov_numvfs
 | 
						|
Date:		November 2012
 | 
						|
Contact:	Donald Dutile <ddutile@redhat.com>
 | 
						|
Description:
 | 
						|
		This file appears when a physical PCIe device supports SR-IOV.
 | 
						|
		Userspace applications can read and write to this file to
 | 
						|
		determine and control the enablement or disablement of Virtual
 | 
						|
		Functions (VFs) on the physical function (PF). A read of this
 | 
						|
		file will return the number of VFs that are enabled on this PF.
 | 
						|
		A number written to this file will enable the specified
 | 
						|
		number of VFs. A userspace application would typically read the
 | 
						|
		file and check that the value is zero, and then write the number
 | 
						|
		of VFs that should be enabled on the PF; the value written
 | 
						|
		should be less than or equal to the value in the sriov_totalvfs
 | 
						|
		file. A userspace application wanting to disable the VFs would
 | 
						|
		write a zero to this file. The core ensures that valid values
 | 
						|
		are written to this file, and returns errors when values are not
 | 
						|
		valid.  For example, writing a 2 to this file when sriov_numvfs
 | 
						|
		is not 0 and not 2 already will return an error. Writing a 10
 | 
						|
		when the value of sriov_totalvfs is 8 will return an error.
 | 
						|
 | 
						|
What:		/sys/bus/pci/devices/.../driver_override
 | 
						|
Date:		April 2014
 | 
						|
Contact:	Alex Williamson <alex.williamson@redhat.com>
 | 
						|
Description:
 | 
						|
		This file allows the driver for a device to be specified which
 | 
						|
		will override standard static and dynamic ID matching.  When
 | 
						|
		specified, only a driver with a name matching the value written
 | 
						|
		to driver_override will have an opportunity to bind to the
 | 
						|
		device.  The override is specified by writing a string to the
 | 
						|
		driver_override file (echo pci-stub > driver_override) and
 | 
						|
		may be cleared with an empty string (echo > driver_override).
 | 
						|
		This returns the device to standard matching rules binding.
 | 
						|
		Writing to driver_override does not automatically unbind the
 | 
						|
		device from its current driver or make any attempt to
 | 
						|
		automatically load the specified driver.  If no driver with a
 | 
						|
		matching name is currently loaded in the kernel, the device
 | 
						|
		will not bind to any driver.  This also allows devices to
 | 
						|
		opt-out of driver binding using a driver_override name such as
 | 
						|
		"none".  Only a single driver may be specified in the override,
 | 
						|
		there is no support for parsing delimiters.
 |