mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
Core:
- bpf:
- allow bpf programs calling kernel functions (initially to
reuse TCP congestion control implementations)
- enable task local storage for tracing programs - remove the
need to store per-task state in hash maps, and allow tracing
programs access to task local storage previously added for
BPF_LSM
- add bpf_for_each_map_elem() helper, allowing programs to
walk all map elements in a more robust and easier to verify
fashion
- sockmap: support UDP and cross-protocol BPF_SK_SKB_VERDICT
redirection
- lpm: add support for batched ops in LPM trie
- add BTF_KIND_FLOAT support - mostly to allow use of BTF
on s390 which has floats in its headers files
- improve BPF syscall documentation and extend the use of kdoc
parsing scripts we already employ for bpf-helpers
- libbpf, bpftool: support static linking of BPF ELF files
- improve support for encapsulation of L2 packets
- xdp: restructure redirect actions to avoid a runtime lookup,
improving performance by 4-8% in microbenchmarks
- xsk: build skb by page (aka generic zerocopy xmit) - improve
performance of software AF_XDP path by 33% for devices
which don't need headers in the linear skb part (e.g. virtio)
- nexthop: resilient next-hop groups - improve path stability
on next-hops group changes (incl. offload for mlxsw)
- ipv6: segment routing: add support for IPv4 decapsulation
- icmp: add support for RFC 8335 extended PROBE messages
- inet: use bigger hash table for IP ID generation
- tcp: deal better with delayed TX completions - make sure we don't
give up on fast TCP retransmissions only because driver is
slow in reporting that it completed transmitting the original
- tcp: reorder tcp_congestion_ops for better cache locality
- mptcp:
- add sockopt support for common TCP options
- add support for common TCP msg flags
- include multiple address ids in RM_ADDR
- add reset option support for resetting one subflow
- udp: GRO L4 improvements - improve 'forward' / 'frag_list'
co-existence with UDP tunnel GRO, allowing the first to take
place correctly even for encapsulated UDP traffic
- micro-optimize dev_gro_receive() and flow dissection, avoid
retpoline overhead on VLAN and TEB GRO
- use less memory for sysctls, add a new sysctl type, to allow using
u8 instead of "int" and "long" and shrink networking sysctls
- veth: allow GRO without XDP - this allows aggregating UDP
packets before handing them off to routing, bridge, OvS, etc.
- allow specifing ifindex when device is moved to another namespace
- netfilter:
- nft_socket: add support for cgroupsv2
- nftables: add catch-all set element - special element used
to define a default action in case normal lookup missed
- use net_generic infra in many modules to avoid allocating
per-ns memory unnecessarily
- xps: improve the xps handling to avoid potential out-of-bound
accesses and use-after-free when XPS change race with other
re-configuration under traffic
- add a config knob to turn off per-cpu netdev refcnt to catch
underflows in testing
Device APIs:
- add WWAN subsystem to organize the WWAN interfaces better and
hopefully start driving towards more unified and vendor-
-independent APIs
- ethtool:
- add interface for reading IEEE MIB stats (incl. mlx5 and
bnxt support)
- allow network drivers to dump arbitrary SFP EEPROM data,
current offset+length API was a poor fit for modern SFP
which define EEPROM in terms of pages (incl. mlx5 support)
- act_police, flow_offload: add support for packet-per-second
policing (incl. offload for nfp)
- psample: add additional metadata attributes like transit delay
for packets sampled from switch HW (and corresponding egress
and policy-based sampling in the mlxsw driver)
- dsa: improve support for sandwiched LAGs with bridge and DSA
- netfilter:
- flowtable: use direct xmit in topologies with IP
forwarding, bridging, vlans etc.
- nftables: counter hardware offload support
- Bluetooth:
- improvements for firmware download w/ Intel devices
- add support for reading AOSP vendor capabilities
- add support for virtio transport driver
- mac80211:
- allow concurrent monitor iface and ethernet rx decap
- set priority and queue mapping for injected frames
- phy: add support for Clause-45 PHY Loopback
- pci/iov: add sysfs MSI-X vector assignment interface
to distribute MSI-X resources to VFs (incl. mlx5 support)
New hardware/drivers:
- dsa: mv88e6xxx: add support for Marvell mv88e6393x -
11-port Ethernet switch with 8x 1-Gigabit Ethernet
and 3x 10-Gigabit interfaces.
- dsa: support for legacy Broadcom tags used on BCM5325, BCM5365
and BCM63xx switches
- Microchip KSZ8863 and KSZ8873; 3x 10/100Mbps Ethernet switches
- ath11k: support for QCN9074 a 802.11ax device
- Bluetooth: Broadcom BCM4330 and BMC4334
- phy: Marvell 88X2222 transceiver support
- mdio: add BCM6368 MDIO mux bus controller
- r8152: support RTL8153 and RTL8156 (USB Ethernet) chips
- mana: driver for Microsoft Azure Network Adapter (MANA)
- Actions Semi Owl Ethernet MAC
- can: driver for ETAS ES58X CAN/USB interfaces
Pure driver changes:
- add XDP support to: enetc, igc, stmmac
- add AF_XDP support to: stmmac
- virtio:
- page_to_skb() use build_skb when there's sufficient tailroom
(21% improvement for 1000B UDP frames)
- support XDP even without dedicated Tx queues - share the Tx
queues with the stack when necessary
- mlx5:
- flow rules: add support for mirroring with conntrack,
matching on ICMP, GTP, flex filters and more
- support packet sampling with flow offloads
- persist uplink representor netdev across eswitch mode
changes
- allow coexistence of CQE compression and HW time-stamping
- add ethtool extended link error state reporting
- ice, iavf: support flow filters, UDP Segmentation Offload
- dpaa2-switch:
- move the driver out of staging
- add spanning tree (STP) support
- add rx copybreak support
- add tc flower hardware offload on ingress traffic
- ionic:
- implement Rx page reuse
- support HW PTP time-stamping
- octeon: support TC hardware offloads - flower matching on ingress
and egress ratelimitting.
- stmmac:
- add RX frame steering based on VLAN priority in tc flower
- support frame preemption (FPE)
- intel: add cross time-stamping freq difference adjustment
- ocelot:
- support forwarding of MRP frames in HW
- support multiple bridges
- support PTP Sync one-step timestamping
- dsa: mv88e6xxx, dpaa2-switch: offload bridge port flags like
learning, flooding etc.
- ipa: add IPA v4.5, v4.9 and v4.11 support (Qualcomm SDX55, SM8350,
SC7280 SoCs)
- mt7601u: enable TDLS support
- mt76:
- add support for 802.3 rx frames (mt7915/mt7615)
- mt7915 flash pre-calibration support
- mt7921/mt7663 runtime power management fixes
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE6jPA+I1ugmIBA4hXMUZtbf5SIrsFAmCKFPIACgkQMUZtbf5S
Irtw0g/+NA8bWdHNgG4H5rya0pv2z3IieLRmSdDfKRQQXcJpklawc5MKVVaTee/Q
5/QqgPdCsu1LAU6JXBKsKmyDDaMlQKdWuKbOqDSiAQKoMesZStTEHf9d851ZzgxA
Cdb6O7BD3lBl/IN+oxNG+KcmD1LKquTPKGySq2mQtEdLO12ekAsranzmj4voKffd
q9tBShpXQ7Dq77DLYfiQXVCvsizNcbbJFuxX0o9Lpb9+61ZyYAbogZSa9ypiZZwR
I/9azRBtJg7UV1aD/cLuAfy66Qh7t63+rCxVazs5Os8jVO26P/jQdisnnOe/x+p9
wYEmKm3GSu0V4SAPxkWW+ooKusflCeqDoMIuooKt6kbP6BRj540veGw3Ww/m5YFr
7pLQkTSP/tSjuGQIdBE1LOP5LBO8DZeC8Kiop9V0fzAW9hFSZbEq25WW0bPj8QQO
zA4Z7yWlslvxcfY2BdJX3wD8klaINkl/8fDWZFFsBdfFX2VeLtm7Xfduw34BJpvU
rYT3oWr6PhtkPAKR32SUcemSfeWgIVU41eSshzRz3kez1NngBUuLlSGGSEaKbes5
pZVt6pYFFVByyf6MTHFEoQvafZfEw04JILZpo4R5V8iTHzom0kD3Py064sBiXEw2
B6t+OW4qgcxGblpFkK2lD4kR2s1TPUs0ckVO6sAy1x8q60KKKjY=
=vcbA
-----END PGP SIGNATURE-----
Merge tag 'net-next-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
Pull networking updates from Jakub Kicinski:
"Core:
- bpf:
- allow bpf programs calling kernel functions (initially to
reuse TCP congestion control implementations)
- enable task local storage for tracing programs - remove the
need to store per-task state in hash maps, and allow tracing
programs access to task local storage previously added for
BPF_LSM
- add bpf_for_each_map_elem() helper, allowing programs to walk
all map elements in a more robust and easier to verify fashion
- sockmap: support UDP and cross-protocol BPF_SK_SKB_VERDICT
redirection
- lpm: add support for batched ops in LPM trie
- add BTF_KIND_FLOAT support - mostly to allow use of BTF on
s390 which has floats in its headers files
- improve BPF syscall documentation and extend the use of kdoc
parsing scripts we already employ for bpf-helpers
- libbpf, bpftool: support static linking of BPF ELF files
- improve support for encapsulation of L2 packets
- xdp: restructure redirect actions to avoid a runtime lookup,
improving performance by 4-8% in microbenchmarks
- xsk: build skb by page (aka generic zerocopy xmit) - improve
performance of software AF_XDP path by 33% for devices which don't
need headers in the linear skb part (e.g. virtio)
- nexthop: resilient next-hop groups - improve path stability on
next-hops group changes (incl. offload for mlxsw)
- ipv6: segment routing: add support for IPv4 decapsulation
- icmp: add support for RFC 8335 extended PROBE messages
- inet: use bigger hash table for IP ID generation
- tcp: deal better with delayed TX completions - make sure we don't
give up on fast TCP retransmissions only because driver is slow in
reporting that it completed transmitting the original
- tcp: reorder tcp_congestion_ops for better cache locality
- mptcp:
- add sockopt support for common TCP options
- add support for common TCP msg flags
- include multiple address ids in RM_ADDR
- add reset option support for resetting one subflow
- udp: GRO L4 improvements - improve 'forward' / 'frag_list'
co-existence with UDP tunnel GRO, allowing the first to take place
correctly even for encapsulated UDP traffic
- micro-optimize dev_gro_receive() and flow dissection, avoid
retpoline overhead on VLAN and TEB GRO
- use less memory for sysctls, add a new sysctl type, to allow using
u8 instead of "int" and "long" and shrink networking sysctls
- veth: allow GRO without XDP - this allows aggregating UDP packets
before handing them off to routing, bridge, OvS, etc.
- allow specifing ifindex when device is moved to another namespace
- netfilter:
- nft_socket: add support for cgroupsv2
- nftables: add catch-all set element - special element used to
define a default action in case normal lookup missed
- use net_generic infra in many modules to avoid allocating
per-ns memory unnecessarily
- xps: improve the xps handling to avoid potential out-of-bound
accesses and use-after-free when XPS change race with other
re-configuration under traffic
- add a config knob to turn off per-cpu netdev refcnt to catch
underflows in testing
Device APIs:
- add WWAN subsystem to organize the WWAN interfaces better and
hopefully start driving towards more unified and vendor-
independent APIs
- ethtool:
- add interface for reading IEEE MIB stats (incl. mlx5 and bnxt
support)
- allow network drivers to dump arbitrary SFP EEPROM data,
current offset+length API was a poor fit for modern SFP which
define EEPROM in terms of pages (incl. mlx5 support)
- act_police, flow_offload: add support for packet-per-second
policing (incl. offload for nfp)
- psample: add additional metadata attributes like transit delay for
packets sampled from switch HW (and corresponding egress and
policy-based sampling in the mlxsw driver)
- dsa: improve support for sandwiched LAGs with bridge and DSA
- netfilter:
- flowtable: use direct xmit in topologies with IP forwarding,
bridging, vlans etc.
- nftables: counter hardware offload support
- Bluetooth:
- improvements for firmware download w/ Intel devices
- add support for reading AOSP vendor capabilities
- add support for virtio transport driver
- mac80211:
- allow concurrent monitor iface and ethernet rx decap
- set priority and queue mapping for injected frames
- phy: add support for Clause-45 PHY Loopback
- pci/iov: add sysfs MSI-X vector assignment interface to distribute
MSI-X resources to VFs (incl. mlx5 support)
New hardware/drivers:
- dsa: mv88e6xxx: add support for Marvell mv88e6393x - 11-port
Ethernet switch with 8x 1-Gigabit Ethernet and 3x 10-Gigabit
interfaces.
- dsa: support for legacy Broadcom tags used on BCM5325, BCM5365 and
BCM63xx switches
- Microchip KSZ8863 and KSZ8873; 3x 10/100Mbps Ethernet switches
- ath11k: support for QCN9074 a 802.11ax device
- Bluetooth: Broadcom BCM4330 and BMC4334
- phy: Marvell 88X2222 transceiver support
- mdio: add BCM6368 MDIO mux bus controller
- r8152: support RTL8153 and RTL8156 (USB Ethernet) chips
- mana: driver for Microsoft Azure Network Adapter (MANA)
- Actions Semi Owl Ethernet MAC
- can: driver for ETAS ES58X CAN/USB interfaces
Pure driver changes:
- add XDP support to: enetc, igc, stmmac
- add AF_XDP support to: stmmac
- virtio:
- page_to_skb() use build_skb when there's sufficient tailroom
(21% improvement for 1000B UDP frames)
- support XDP even without dedicated Tx queues - share the Tx
queues with the stack when necessary
- mlx5:
- flow rules: add support for mirroring with conntrack, matching
on ICMP, GTP, flex filters and more
- support packet sampling with flow offloads
- persist uplink representor netdev across eswitch mode changes
- allow coexistence of CQE compression and HW time-stamping
- add ethtool extended link error state reporting
- ice, iavf: support flow filters, UDP Segmentation Offload
- dpaa2-switch:
- move the driver out of staging
- add spanning tree (STP) support
- add rx copybreak support
- add tc flower hardware offload on ingress traffic
- ionic:
- implement Rx page reuse
- support HW PTP time-stamping
- octeon: support TC hardware offloads - flower matching on ingress
and egress ratelimitting.
- stmmac:
- add RX frame steering based on VLAN priority in tc flower
- support frame preemption (FPE)
- intel: add cross time-stamping freq difference adjustment
- ocelot:
- support forwarding of MRP frames in HW
- support multiple bridges
- support PTP Sync one-step timestamping
- dsa: mv88e6xxx, dpaa2-switch: offload bridge port flags like
learning, flooding etc.
- ipa: add IPA v4.5, v4.9 and v4.11 support (Qualcomm SDX55, SM8350,
SC7280 SoCs)
- mt7601u: enable TDLS support
- mt76:
- add support for 802.3 rx frames (mt7915/mt7615)
- mt7915 flash pre-calibration support
- mt7921/mt7663 runtime power management fixes"
* tag 'net-next-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2451 commits)
net: selftest: fix build issue if INET is disabled
net: netrom: nr_in: Remove redundant assignment to ns
net: tun: Remove redundant assignment to ret
net: phy: marvell: add downshift support for M88E1240
net: dsa: ksz: Make reg_mib_cnt a u8 as it never exceeds 255
net/sched: act_ct: Remove redundant ct get and check
icmp: standardize naming of RFC 8335 PROBE constants
bpf, selftests: Update array map tests for per-cpu batched ops
bpf: Add batched ops support for percpu array
bpf: Implement formatted output helpers with bstr_printf
seq_file: Add a seq_bprintf function
sfc: adjust efx->xdp_tx_queue_count with the real number of initialized queues
net:nfc:digital: Fix a double free in digital_tg_recv_dep_req
net: fix a concurrency bug in l2tp_tunnel_register()
net/smc: Remove redundant assignment to rc
mpls: Remove redundant assignment to err
llc2: Remove redundant assignment to rc
net/tls: Remove redundant initialization of record
rds: Remove redundant assignment to nr_sig
dt-bindings: net: mdio-gpio: add compatible for microchip,mdio-smi0
...
410 lines
16 KiB
Plaintext
410 lines
16 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
|
|
number of the PCI device. Depending on the platform this can
|
|
be for example the SMBIOS type 41 device type instance or the
|
|
user-defined ID (UID) on s390. The attribute will be created
|
|
only if the firmware has given an instance number to the PCI
|
|
device and that number is guaranteed to uniquely identify the
|
|
device in the system.
|
|
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.
|
|
|
|
What: /sys/bus/pci/devices/.../numa_node
|
|
Date: Oct 2014
|
|
Contact: Prarit Bhargava <prarit@redhat.com>
|
|
Description:
|
|
This file contains the NUMA node to which the PCI device is
|
|
attached, or -1 if the node is unknown. The initial value
|
|
comes from an ACPI _PXM method or a similar firmware
|
|
source. If that is missing or incorrect, this file can be
|
|
written to override the node. In that case, please report
|
|
a firmware bug to the system vendor. Writing to this file
|
|
taints the kernel with TAINT_FIRMWARE_WORKAROUND, which
|
|
reduces the supportability of your system.
|
|
|
|
What: /sys/bus/pci/devices/.../revision
|
|
Date: November 2016
|
|
Contact: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Description:
|
|
This file contains the revision field of the PCI device.
|
|
The value comes from device config space. The file is read only.
|
|
|
|
What: /sys/bus/pci/devices/.../sriov_drivers_autoprobe
|
|
Date: April 2017
|
|
Contact: Bodong Wang<bodong@mellanox.com>
|
|
Description:
|
|
This file is associated with the PF of a device that
|
|
supports SR-IOV. It determines whether newly-enabled VFs
|
|
are immediately bound to a driver. It initially contains
|
|
1, which means the kernel automatically binds VFs to a
|
|
compatible driver immediately after they are enabled. If
|
|
an application writes 0 to the file before enabling VFs,
|
|
the kernel will not bind VFs to a driver.
|
|
|
|
A typical use case is to write 0 to this file, then enable
|
|
VFs, then assign the newly-created VFs to virtual machines.
|
|
Note that changing this file does not affect already-
|
|
enabled VFs. In this scenario, the user must first disable
|
|
the VFs, write 0 to sriov_drivers_autoprobe, then re-enable
|
|
the VFs.
|
|
|
|
This is similar to /sys/bus/pci/drivers_autoprobe, but
|
|
affects only the VFs associated with a specific PF.
|
|
|
|
What: /sys/bus/pci/devices/.../p2pmem/size
|
|
Date: November 2017
|
|
Contact: Logan Gunthorpe <logang@deltatee.com>
|
|
Description:
|
|
If the device has any Peer-to-Peer memory registered, this
|
|
file contains the total amount of memory that the device
|
|
provides (in decimal).
|
|
|
|
What: /sys/bus/pci/devices/.../p2pmem/available
|
|
Date: November 2017
|
|
Contact: Logan Gunthorpe <logang@deltatee.com>
|
|
Description:
|
|
If the device has any Peer-to-Peer memory registered, this
|
|
file contains the amount of memory that has not been
|
|
allocated (in decimal).
|
|
|
|
What: /sys/bus/pci/devices/.../p2pmem/published
|
|
Date: November 2017
|
|
Contact: Logan Gunthorpe <logang@deltatee.com>
|
|
Description:
|
|
If the device has any Peer-to-Peer memory registered, this
|
|
file contains a '1' if the memory has been published for
|
|
use outside the driver that owns the device.
|
|
|
|
What: /sys/bus/pci/devices/.../link/clkpm
|
|
/sys/bus/pci/devices/.../link/l0s_aspm
|
|
/sys/bus/pci/devices/.../link/l1_aspm
|
|
/sys/bus/pci/devices/.../link/l1_1_aspm
|
|
/sys/bus/pci/devices/.../link/l1_2_aspm
|
|
/sys/bus/pci/devices/.../link/l1_1_pcipm
|
|
/sys/bus/pci/devices/.../link/l1_2_pcipm
|
|
Date: October 2019
|
|
Contact: Heiner Kallweit <hkallweit1@gmail.com>
|
|
Description: If ASPM is supported for an endpoint, these files can be
|
|
used to disable or enable the individual power management
|
|
states. Write y/1/on to enable, n/0/off to disable.
|
|
|
|
What: /sys/bus/pci/devices/.../power_state
|
|
Date: November 2020
|
|
Contact: Linux PCI developers <linux-pci@vger.kernel.org>
|
|
Description:
|
|
This file contains the current PCI power state of the device.
|
|
The value comes from the PCI kernel device state and can be one
|
|
of: "unknown", "error", "D0", D1", "D2", "D3hot", "D3cold".
|
|
The file is read only.
|
|
|
|
What: /sys/bus/pci/devices/.../sriov_vf_total_msix
|
|
Date: January 2021
|
|
Contact: Leon Romanovsky <leonro@nvidia.com>
|
|
Description:
|
|
This file is associated with a SR-IOV physical function (PF).
|
|
It contains the total number of MSI-X vectors available for
|
|
assignment to all virtual functions (VFs) associated with PF.
|
|
The value will be zero if the device doesn't support this
|
|
functionality. For supported devices, the value will be
|
|
constant and won't be changed after MSI-X vectors assignment.
|
|
|
|
What: /sys/bus/pci/devices/.../sriov_vf_msix_count
|
|
Date: January 2021
|
|
Contact: Leon Romanovsky <leonro@nvidia.com>
|
|
Description:
|
|
This file is associated with a SR-IOV virtual function (VF).
|
|
It allows configuration of the number of MSI-X vectors for
|
|
the VF. This allows devices that have a global pool of MSI-X
|
|
vectors to optimally divide them between VFs based on VF usage.
|
|
|
|
The values accepted are:
|
|
* > 0 - this number will be reported as the Table Size in the
|
|
VF's MSI-X capability
|
|
* < 0 - not valid
|
|
* = 0 - will reset to the device default value
|
|
|
|
The file is writable if the PF is bound to a driver that
|
|
implements ->sriov_set_msix_vec_count().
|