xref: /linux/Documentation/ABI/stable/sysfs-driver-dma-idxd (revision be1ca3ee8f97067fee87fda73ea5959d5ab75bbf)
1What:		/sys/bus/dsa/devices/dsa<m>/version
2Date:		Apr 15, 2020
3KernelVersion:	5.8.0
4Contact:	dmaengine@vger.kernel.org
5Description:	The hardware version number.
6
7What:           /sys/bus/dsa/devices/dsa<m>/cdev_major
8Date:           Oct 25, 2019
9KernelVersion:  5.6.0
10Contact:        dmaengine@vger.kernel.org
11Description:	The major number that the character device driver assigned to
12		this device.
13
14What:           /sys/bus/dsa/devices/dsa<m>/errors
15Date:           Oct 25, 2019
16KernelVersion:  5.6.0
17Contact:        dmaengine@vger.kernel.org
18Description:    The error information for this device.
19
20What:           /sys/bus/dsa/devices/dsa<m>/max_batch_size
21Date:           Oct 25, 2019
22KernelVersion:  5.6.0
23Contact:        dmaengine@vger.kernel.org
24Description:    The largest number of work descriptors in a batch.
25                It's not visible when the device does not support batch.
26
27What:           /sys/bus/dsa/devices/dsa<m>/max_work_queues_size
28Date:           Oct 25, 2019
29KernelVersion:  5.6.0
30Contact:        dmaengine@vger.kernel.org
31Description:    The maximum work queue size supported by this device.
32
33What:           /sys/bus/dsa/devices/dsa<m>/max_engines
34Date:           Oct 25, 2019
35KernelVersion:  5.6.0
36Contact:        dmaengine@vger.kernel.org
37Description:    The maximum number of engines supported by this device.
38
39What:           /sys/bus/dsa/devices/dsa<m>/max_groups
40Date:           Oct 25, 2019
41KernelVersion:  5.6.0
42Contact:        dmaengine@vger.kernel.org
43Description:    The maximum number of groups can be created under this device.
44
45What:           /sys/bus/dsa/devices/dsa<m>/max_read_buffers
46Date:           Dec 10, 2021
47KernelVersion:  5.17.0
48Contact:        dmaengine@vger.kernel.org
49Description:    The total number of read buffers supported by this device.
50		The read buffers represent resources within the DSA
51		implementation, and these resources are allocated by engines to
52		support operations. See DSA spec v1.2 9.2.4 Total Read Buffers.
53		It's not visible when the device does not support Read Buffer
54		allocation control.
55
56What:           /sys/bus/dsa/devices/dsa<m>/max_transfer_size
57Date:           Oct 25, 2019
58KernelVersion:  5.6.0
59Contact:        dmaengine@vger.kernel.org
60Description:    The number of bytes to be read from the source address to
61		perform the operation. The maximum transfer size is dependent on
62		the workqueue the descriptor was submitted to.
63
64What:           /sys/bus/dsa/devices/dsa<m>/max_work_queues
65Date:           Oct 25, 2019
66KernelVersion:  5.6.0
67Contact:        dmaengine@vger.kernel.org
68Description:    The maximum work queue number that this device supports.
69
70What:           /sys/bus/dsa/devices/dsa<m>/numa_node
71Date:           Oct 25, 2019
72KernelVersion:  5.6.0
73Contact:        dmaengine@vger.kernel.org
74Description:    The numa node number for this device.
75
76What:           /sys/bus/dsa/devices/dsa<m>/op_cap
77Date:           Oct 25, 2019
78KernelVersion:  5.6.0
79Contact:        dmaengine@vger.kernel.org
80Description:    The operation capability bit mask specify the operation types
81		supported by the this device.
82
83What:		/sys/bus/dsa/devices/dsa<m>/pasid_enabled
84Date:		Oct 27, 2020
85KernelVersion:	5.11.0
86Contact:	dmaengine@vger.kernel.org
87Description:	To indicate if user PASID (process address space identifier) is
88		enabled or not for this device.
89
90What:           /sys/bus/dsa/devices/dsa<m>/state
91Date:           Oct 25, 2019
92KernelVersion:  5.6.0
93Contact:        dmaengine@vger.kernel.org
94Description:    The state information of this device. It can be either enabled
95		or disabled.
96
97What:           /sys/bus/dsa/devices/dsa<m>/group<m>.<n>
98Date:           Oct 25, 2019
99KernelVersion:  5.6.0
100Contact:        dmaengine@vger.kernel.org
101Description:    The assigned group under this device.
102
103What:           /sys/bus/dsa/devices/dsa<m>/engine<m>.<n>
104Date:           Oct 25, 2019
105KernelVersion:  5.6.0
106Contact:        dmaengine@vger.kernel.org
107Description:    The assigned engine under this device.
108
109What:           /sys/bus/dsa/devices/dsa<m>/wq<m>.<n>
110Date:           Oct 25, 2019
111KernelVersion:  5.6.0
112Contact:        dmaengine@vger.kernel.org
113Description:    The assigned work queue under this device.
114
115What:           /sys/bus/dsa/devices/dsa<m>/configurable
116Date:           Oct 25, 2019
117KernelVersion:  5.6.0
118Contact:        dmaengine@vger.kernel.org
119Description:    To indicate if this device is configurable or not.
120
121What:           /sys/bus/dsa/devices/dsa<m>/read_buffer_limit
122Date:           Dec 10, 2021
123KernelVersion:  5.17.0
124Contact:        dmaengine@vger.kernel.org
125Description:    The maximum number of read buffers that may be in use at
126		one time by operations that access low bandwidth memory in the
127		device. See DSA spec v1.2 9.2.8 GENCFG on Global Read Buffer Limit.
128		It's not visible when the device does not support Read Buffer
129		allocation control.
130
131What:		/sys/bus/dsa/devices/dsa<m>/cmd_status
132Date:		Aug 28, 2020
133KernelVersion:	5.10.0
134Contact:	dmaengine@vger.kernel.org
135Description:	The last executed device administrative command's status/error.
136		Also last configuration error overloaded.
137		Writing to it will clear the status.
138
139What:		/sys/bus/dsa/devices/dsa<m>/dsacaps
140Date:		April 5, 2026
141KernelVersion:	6.20.0
142Contact:	dmaengine@vger.kernel.org
143Description:	The DSA3 specification introduces three new capability
144		registers: dsacap[0-2]. User components (e.g., configuration
145		libraries and workload applications) require this information
146		to properly utilize the DSA3 features.
147		This includes SGL capability support, Enabling hardware-specific
148		optimizations, Configuring memory, etc.
149		The output format is '<dsacap2>,<dsacap1>,<dsacap0>' where each
150		DSA cap value is a 64 bit hex value.
151		This attribute should only be visible on DSA devices of version
152		3 or later.
153
154What:		/sys/bus/dsa/devices/dsa<m>/iaa_cap
155Date:		Sept 14, 2022
156KernelVersion: 6.0.0
157Contact:	dmaengine@vger.kernel.org
158Description:	IAA (IAX) capability mask. Exported to user space for application
159		consumption. This attribute should only be visible on IAA devices
160		that are version 2 or later.
161
162What:		/sys/bus/dsa/devices/dsa<m>/event_log_size
163Date:		Sept 14, 2022
164KernelVersion: 6.4.0
165Contact:	dmaengine@vger.kernel.org
166Description:	The event log size to be configured. Default is 64 entries and
167		occupies 4k size if the evl entry is 64 bytes. It's visible
168		only on platforms that support the capability.
169
170What:		/sys/bus/dsa/devices/wq<m>.<n>/block_on_fault
171Date:		Oct 27, 2020
172KernelVersion:	5.11.0
173Contact:	dmaengine@vger.kernel.org
174Description:	To indicate block on fault is allowed or not for the work queue
175		to support on demand paging.
176
177What:           /sys/bus/dsa/devices/wq<m>.<n>/group_id
178Date:           Oct 25, 2019
179KernelVersion:  5.6.0
180Contact:        dmaengine@vger.kernel.org
181Description:    The group id that this work queue belongs to.
182
183What:           /sys/bus/dsa/devices/wq<m>.<n>/size
184Date:           Oct 25, 2019
185KernelVersion:  5.6.0
186Contact:        dmaengine@vger.kernel.org
187Description:    The work queue size for this work queue.
188
189What:           /sys/bus/dsa/devices/wq<m>.<n>/type
190Date:           Oct 25, 2019
191KernelVersion:  5.6.0
192Contact:        dmaengine@vger.kernel.org
193Description:    The type of this work queue, it can be "kernel" type for work
194		queue usages in the kernel space or "user" type for work queue
195		usages by applications in user space.
196
197What:           /sys/bus/dsa/devices/wq<m>.<n>/cdev_minor
198Date:           Oct 25, 2019
199KernelVersion:  5.6.0
200Contact:        dmaengine@vger.kernel.org
201Description:    The minor number assigned to this work queue by the character
202		device driver.
203
204What:           /sys/bus/dsa/devices/wq<m>.<n>/mode
205Date:           Oct 25, 2019
206KernelVersion:  5.6.0
207Contact:        dmaengine@vger.kernel.org
208Description:    The work queue mode type for this work queue.
209
210What:           /sys/bus/dsa/devices/wq<m>.<n>/priority
211Date:           Oct 25, 2019
212KernelVersion:  5.6.0
213Contact:        dmaengine@vger.kernel.org
214Description:    The priority value of this work queue, it is a value relative to
215		other work queue in the same group to control quality of service
216		for dispatching work from multiple workqueues in the same group.
217
218What:           /sys/bus/dsa/devices/wq<m>.<n>/state
219Date:           Oct 25, 2019
220KernelVersion:  5.6.0
221Contact:        dmaengine@vger.kernel.org
222Description:    The current state of the work queue.
223
224What:           /sys/bus/dsa/devices/wq<m>.<n>/threshold
225Date:           Oct 25, 2019
226KernelVersion:  5.6.0
227Contact:        dmaengine@vger.kernel.org
228Description:    The number of entries in this work queue that may be filled
229		via a limited portal.
230
231What:		/sys/bus/dsa/devices/wq<m>.<n>/max_transfer_size
232Date:		Aug 28, 2020
233KernelVersion:	5.10.0
234Contact:	dmaengine@vger.kernel.org
235Description:	The max transfer sized for this workqueue. Cannot exceed device
236		max transfer size. Configurable parameter.
237
238What:		/sys/bus/dsa/devices/wq<m>.<n>/max_batch_size
239Date:		Aug 28, 2020
240KernelVersion:	5.10.0
241Contact:	dmaengine@vger.kernel.org
242Description:	The max batch size for this workqueue. Cannot exceed device
243		max batch size. Configurable parameter.
244		It's not visible when the device does not support batch.
245
246What:		/sys/bus/dsa/devices/wq<m>.<n>/ats_disable
247Date:		Nov 13, 2020
248KernelVersion:	5.11.0
249Contact:	dmaengine@vger.kernel.org
250Description:	Indicate whether ATS disable is turned on for the workqueue.
251		0 indicates ATS is on, and 1 indicates ATS is off for the workqueue.
252
253What:		/sys/bus/dsa/devices/wq<m>.<n>/prs_disable
254Date:		Sept 14, 2022
255KernelVersion: 6.4.0
256Contact:	dmaengine@vger.kernel.org
257Description:	Controls whether PRS disable is turned on for the workqueue.
258		0 indicates PRS is on, and 1 indicates PRS is off for the
259		workqueue. This option overrides block_on_fault attribute
260		if set. It's visible only on platforms that support the
261		capability.
262
263What:		/sys/bus/dsa/devices/wq<m>.<n>/occupancy
264Date:		May 25, 2021
265KernelVersion:	5.14.0
266Contact:	dmaengine@vger.kernel.org
267Description:	Show the current number of entries in this WQ if WQ Occupancy
268		Support bit WQ capabilities is 1.
269
270What:		/sys/bus/dsa/devices/wq<m>.<n>/enqcmds_retries
271Date:		Oct 29, 2021
272KernelVersion:	5.17.0
273Contact:	dmaengine@vger.kernel.org
274Description:	Indicate the number of retires for an enqcmds submission on a sharedwq.
275		A max value to set attribute is capped at 64.
276
277What:		/sys/bus/dsa/devices/wq<m>.<n>/op_config
278Date:		Sept 14, 2022
279KernelVersion:	6.0.0
280Contact:	dmaengine@vger.kernel.org
281Description:	Shows the operation capability bits displayed in bitmap format
282		presented by %*pb printk() output format specifier.
283		The attribute can be configured when the WQ is disabled in
284		order to configure the WQ to accept specific bits that
285		correlates to the operations allowed. It's visible only
286		on platforms that support the capability.
287
288What:		/sys/bus/dsa/devices/wq<m>.<n>/driver_name
289Date:		Sept 8, 2023
290KernelVersion:	6.7.0
291Contact:	dmaengine@vger.kernel.org
292Description:	Name of driver to be bounded to the wq.
293
294What:           /sys/bus/dsa/devices/engine<m>.<n>/group_id
295Date:           Oct 25, 2019
296KernelVersion:  5.6.0
297Contact:        dmaengine@vger.kernel.org
298Description:    The group that this engine belongs to.
299
300What:		/sys/bus/dsa/devices/group<m>.<n>/use_read_buffer_limit
301Date:		Dec 10, 2021
302KernelVersion:	5.17.0
303Contact:	dmaengine@vger.kernel.org
304Description:	Enable the use of global read buffer limit for the group. See DSA
305		spec v1.2 9.2.18 GRPCFG Use Global Read Buffer Limit.
306		It's not visible when the device does not support Read Buffer
307		allocation control.
308
309What:		/sys/bus/dsa/devices/group<m>.<n>/read_buffers_allowed
310Date:		Dec 10, 2021
311KernelVersion:	5.17.0
312Contact:	dmaengine@vger.kernel.org
313Description:	Indicates max number of read buffers that may be in use at one time
314		by all engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read
315		Buffers Allowed.
316		It's not visible when the device does not support Read Buffer
317		allocation control.
318
319What:		/sys/bus/dsa/devices/group<m>.<n>/read_buffers_reserved
320Date:		Dec 10, 2021
321KernelVersion:	5.17.0
322Contact:	dmaengine@vger.kernel.org
323Description:	Indicates the number of Read Buffers reserved for the use of
324		engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read Buffers
325		Reserved.
326		It's not visible when the device does not support Read Buffer
327		allocation control.
328
329What:		/sys/bus/dsa/devices/group<m>.<n>/desc_progress_limit
330Date:		Sept 14, 2022
331KernelVersion:	6.0.0
332Contact:	dmaengine@vger.kernel.org
333Description:	Allows control of the number of work descriptors that can be
334		concurrently processed by an engine in the group as a fraction
335		of the Maximum Work Descriptors in Progress value specified in
336		the ENGCAP register. The acceptable values are 0 (default),
337		1 (1/2 of max value), 2 (1/4 of the max value), and 3 (1/8 of
338		the max value). It's visible only on platforms that support
339		the capability.
340
341What:		/sys/bus/dsa/devices/group<m>.<n>/batch_progress_limit
342Date:		Sept 14, 2022
343KernelVersion:	6.0.0
344Contact:	dmaengine@vger.kernel.org
345Description:	Allows control of the number of batch descriptors that can be
346		concurrently processed by an engine in the group as a fraction
347		of the Maximum Batch Descriptors in Progress value specified in
348		the ENGCAP register. The acceptable values are 0 (default),
349		1 (1/2 of max value), 2 (1/4 of the max value), and 3 (1/8 of
350		the max value). It's visible only on platforms that support
351		the capability.
352
353What:		/sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/cr_faults
354Date:		Sept 14, 2022
355KernelVersion:	6.4.0
356Contact:	dmaengine@vger.kernel.org
357Description:	Show the number of Completion Record (CR) faults this application
358		has caused.
359
360What:		/sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/cr_fault_failures
361Date:		Sept 14, 2022
362KernelVersion:	6.4.0
363Contact:	dmaengine@vger.kernel.org
364Description:	Show the number of Completion Record (CR) faults failures that this
365		application has caused. The failure counter is incremented when the
366		driver cannot fault in the address for the CR. Typically this is caused
367		by a bad address programmed in the submitted descriptor or a malicious
368		submitter is using bad CR address on purpose.
369
370What:		/sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/pid
371Date:		Sept 14, 2022
372KernelVersion:	6.4.0
373Contact:	dmaengine@vger.kernel.org
374Description:	Show the process id of the application that opened the file. This is
375		helpful information for a monitor daemon that wants to kill the
376		application that opened the file.
377