Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/xe/pf: Add documentation for sriov_admin attributes

Add initial documentation for all recently added Xe driver
specific SR-IOV sysfs files located under device/sriov_admin.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patch.msgid.link/20251030222348.186658-18-michal.wajdeczko@intel.com

+159
+159
Documentation/ABI/testing/sysfs-driver-intel-xe-sriov
··· 1 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/ 2 + Date: October 2025 3 + KernelVersion: 6.19 4 + Contact: intel-xe@lists.freedesktop.org 5 + Description: 6 + This directory appears for the particular Intel Xe device when: 7 + 8 + - device supports SR-IOV, and 9 + - device is a Physical Function (PF), and 10 + - driver support for the SR-IOV PF is enabled on given device. 11 + 12 + This directory is used as a root for all attributes required to 13 + manage both Physical Function (PF) and Virtual Functions (VFs). 14 + 15 + 16 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/pf/ 17 + Date: October 2025 18 + KernelVersion: 6.19 19 + Contact: intel-xe@lists.freedesktop.org 20 + Description: 21 + This directory holds attributes related to the SR-IOV Physical 22 + Function (PF). 23 + 24 + 25 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/vf1/ 26 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/vf2/ 27 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/vf<N>/ 28 + Date: October 2025 29 + KernelVersion: 6.19 30 + Contact: intel-xe@lists.freedesktop.org 31 + Description: 32 + These directories hold attributes related to the SR-IOV Virtual 33 + Functions (VFs). 34 + 35 + Note that the VF number <N> is 1-based as described in PCI SR-IOV 36 + specification as the Xe driver follows that naming schema. 37 + 38 + There could be "vf1", "vf2" and so on, up to "vf<N>", where <N> 39 + matches the value of the "sriov_totalvfs" attribute. 40 + 41 + 42 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/pf/profile/exec_quantum_ms 43 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/pf/profile/preempt_timeout_us 44 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/pf/profile/sched_priority 45 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/exec_quantum_ms 46 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/preempt_timeout_us 47 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/sched_priority 48 + Date: October 2025 49 + KernelVersion: 6.19 50 + Contact: intel-xe@lists.freedesktop.org 51 + Description: 52 + These files expose scheduling parameters for the PF and its VFs, and 53 + are visible only on Intel Xe platforms that use time-sliced GPU sharing. 54 + They can be changed even if VFs are enabled and running and reflect the 55 + settings of all tiles/GTs assigned to the given function. 56 + 57 + exec_quantum_ms: (RW) unsigned integer 58 + The GT execution quantum (EQ) in [ms] for the given function. 59 + Actual quantum value might be aligned per HW/FW requirements. 60 + 61 + Default is 0 (unlimited). 62 + 63 + preempt_timeout_us: (RW) unsigned integer 64 + The GT preemption timeout in [us] of the given function. 65 + Actual timeout value might be aligned per HW/FW requirements. 66 + 67 + Default is 0 (unlimited). 68 + 69 + sched_priority: (RW/RO) string 70 + The GT scheduling priority of the given function. 71 + 72 + "low" - function will be scheduled on the GPU for its EQ/PT 73 + only if function has any work already submitted. 74 + 75 + "normal" - functions will be scheduled on the GPU for its EQ/PT 76 + irrespective of whether it has submitted a work or not. 77 + 78 + "high" - function will be scheduled on the GPU for its EQ/PT 79 + in the next time-slice after the current one completes 80 + and function has a work submitted. 81 + 82 + Default is "low". 83 + 84 + When read, this file will display the current and available 85 + scheduling priorities. The currently active priority level will 86 + be enclosed in square brackets, like: 87 + 88 + [low] normal high 89 + 90 + This file can be read-only if changing the priority is not 91 + supported. 92 + 93 + Writes to these attributes may fail with errors like: 94 + -EINVAL if provided input is malformed or not recognized, 95 + -EPERM if change is not applicable on given HW/FW, 96 + -EIO if FW refuses to change the provisioning. 97 + 98 + Reads from these attributes may fail with: 99 + -EUCLEAN if value is not consistent across all tiles/GTs. 100 + 101 + 102 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/exec_quantum_ms 103 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/preempt_timeout_us 104 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/sched_priority 105 + Date: October 2025 106 + KernelVersion: 6.19 107 + Contact: intel-xe@lists.freedesktop.org 108 + Description: 109 + These files allows bulk reconfiguration of the scheduling parameters 110 + of the PF or VFs and are available only for Intel Xe platforms with 111 + GPU sharing based on the time-slice basis. These scheduling parameters 112 + can be changed even if VFs are enabled and running. 113 + 114 + exec_quantum_ms: (WO) unsigned integer 115 + The GT execution quantum (EQ) in [ms] to be applied to all functions. 116 + See sriov_admin/{pf,vf<N>}/profile/exec_quantum_ms for more details. 117 + 118 + preempt_timeout_us: (WO) unsigned integer 119 + The GT preemption timeout (PT) in [us] to be applied to all functions. 120 + See sriov_admin/{pf,vf<N>}/profile/preempt_timeout_us for more details. 121 + 122 + sched_priority: (RW/RO) string 123 + The GT scheduling priority to be applied for all functions. 124 + See sriov_admin/{pf,vf<N>}/profile/sched_priority for more details. 125 + 126 + Writes to these attributes may fail with errors like: 127 + -EINVAL if provided input is malformed or not recognized, 128 + -EPERM if change is not applicable on given HW/FW, 129 + -EIO if FW refuses to change the provisioning. 130 + 131 + 132 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/stop 133 + Date: October 2025 134 + KernelVersion: 6.19 135 + Contact: intel-xe@lists.freedesktop.org 136 + Description: 137 + This file allows to control scheduling of the VF on the Intel Xe GPU 138 + platforms. It allows to implement custom policy mechanism in case VFs 139 + are misbehaving or triggering adverse events above defined thresholds. 140 + 141 + stop: (WO) bool 142 + All GT executions of given function shall be immediately stopped. 143 + To allow scheduling this VF again, the VF FLR must be triggered. 144 + 145 + Writes to this attribute may fail with errors like: 146 + -EINVAL if provided input is malformed or not recognized, 147 + -EPERM if change is not applicable on given HW/FW, 148 + -EIO if FW refuses to change the scheduling. 149 + 150 + 151 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/pf/device 152 + What: /sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/device 153 + Date: October 2025 154 + KernelVersion: 6.19 155 + Contact: intel-xe@lists.freedesktop.org 156 + Description: 157 + These are symlinks to the underlying PCI device entry representing 158 + given Xe SR-IOV function. For the PF, this link is always present. 159 + For VFs, this link is present only for currently enabled VFs.