xref: /OK3568_Linux_fs/kernel/Documentation/ABI/testing/sysfs-class-cxl (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunPlease note that attributes that are shared between devices are stored in
2*4882a593Smuzhiyunthe directory pointed to by the symlink device/.
3*4882a593SmuzhiyunFor example, the real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
4*4882a593Smuzhiyun/sys/class/cxl/afu0.0s/device/irqs_max, i.e. /sys/class/cxl/afu0.0/irqs_max.
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunSlave contexts (eg. /sys/class/cxl/afu0.0s):
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/afu_err_buf
10*4882a593SmuzhiyunDate:           September 2014
11*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
12*4882a593SmuzhiyunDescription:    read only
13*4882a593Smuzhiyun                AFU Error Buffer contents. The contents of this file are
14*4882a593Smuzhiyun		application specific and depends on the AFU being used.
15*4882a593Smuzhiyun		Applications interacting with the AFU can use this attribute
16*4882a593Smuzhiyun		to know about the current error condition and take appropriate
17*4882a593Smuzhiyun		action like logging the event etc.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/irqs_max
21*4882a593SmuzhiyunDate:           September 2014
22*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
23*4882a593SmuzhiyunDescription:    read/write
24*4882a593Smuzhiyun                Decimal value of maximum number of interrupts that can be
25*4882a593Smuzhiyun                requested by userspace.  The default on probe is the maximum
26*4882a593Smuzhiyun                that hardware can support (eg. 2037). Write values will limit
27*4882a593Smuzhiyun                userspace applications to that many userspace interrupts. Must
28*4882a593Smuzhiyun                be >= irqs_min.
29*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/irqs_min
32*4882a593SmuzhiyunDate:           September 2014
33*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
34*4882a593SmuzhiyunDescription:    read only
35*4882a593Smuzhiyun                Decimal value of the minimum number of interrupts that
36*4882a593Smuzhiyun                userspace must request on a CXL_START_WORK ioctl. Userspace may
37*4882a593Smuzhiyun                omit the num_interrupts field in the START_WORK IOCTL to get
38*4882a593Smuzhiyun                this minimum automatically.
39*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
40*4882a593Smuzhiyun
41*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/mmio_size
42*4882a593SmuzhiyunDate:           September 2014
43*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
44*4882a593SmuzhiyunDescription:    read only
45*4882a593Smuzhiyun                Decimal value of the size of the MMIO space that may be mmaped
46*4882a593Smuzhiyun                by userspace.
47*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
48*4882a593Smuzhiyun
49*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/modes_supported
50*4882a593SmuzhiyunDate:           September 2014
51*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
52*4882a593SmuzhiyunDescription:    read only
53*4882a593Smuzhiyun                List of the modes this AFU supports. One per line.
54*4882a593Smuzhiyun                Valid entries are: "dedicated_process" and "afu_directed"
55*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
56*4882a593Smuzhiyun
57*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/mode
58*4882a593SmuzhiyunDate:           September 2014
59*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
60*4882a593SmuzhiyunDescription:    read/write
61*4882a593Smuzhiyun                The current mode the AFU is using. Will be one of the modes
62*4882a593Smuzhiyun                given in modes_supported. Writing will change the mode
63*4882a593Smuzhiyun                provided that no user contexts are attached.
64*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun
67*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/prefault_mode
68*4882a593SmuzhiyunDate:           September 2014
69*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
70*4882a593SmuzhiyunDescription:    read/write
71*4882a593Smuzhiyun                Set the mode for prefaulting in segments into the segment table
72*4882a593Smuzhiyun                when performing the START_WORK ioctl. Only applicable when
73*4882a593Smuzhiyun                running under hashed page table mmu.
74*4882a593Smuzhiyun                Possible values:
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun                =======================  ======================================
77*4882a593Smuzhiyun		none			 No prefaulting (default)
78*4882a593Smuzhiyun		work_element_descriptor  Treat the work element
79*4882a593Smuzhiyun					 descriptor as an effective address and
80*4882a593Smuzhiyun					 prefault what it points to.
81*4882a593Smuzhiyun                all			 all segments process calling
82*4882a593Smuzhiyun					 START_WORK maps.
83*4882a593Smuzhiyun                =======================  ======================================
84*4882a593Smuzhiyun
85*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
86*4882a593Smuzhiyun
87*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/reset
88*4882a593SmuzhiyunDate:           September 2014
89*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
90*4882a593SmuzhiyunDescription:    write only
91*4882a593Smuzhiyun                Writing 1 here will reset the AFU provided there are not
92*4882a593Smuzhiyun                contexts active on the AFU.
93*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
94*4882a593Smuzhiyun
95*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/api_version
96*4882a593SmuzhiyunDate:           September 2014
97*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
98*4882a593SmuzhiyunDescription:    read only
99*4882a593Smuzhiyun                Decimal value of the current version of the kernel/user API.
100*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
101*4882a593Smuzhiyun
102*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/api_version_compatible
103*4882a593SmuzhiyunDate:           September 2014
104*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
105*4882a593SmuzhiyunDescription:    read only
106*4882a593Smuzhiyun                Decimal value of the the lowest version of the userspace API
107*4882a593Smuzhiyun                this this kernel supports.
108*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun
111*4882a593SmuzhiyunAFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
112*4882a593Smuzhiyun
113*4882a593SmuzhiyunAn AFU may optionally export one or more PCIe like configuration records, known
114*4882a593Smuzhiyunas AFU configuration records, which will show up here (if present).
115*4882a593Smuzhiyun
116*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/cr<config num>/vendor
117*4882a593SmuzhiyunDate:           February 2015
118*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
119*4882a593SmuzhiyunDescription:    read only
120*4882a593Smuzhiyun		Hexadecimal value of the vendor ID found in this AFU
121*4882a593Smuzhiyun		configuration record.
122*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
123*4882a593Smuzhiyun
124*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/cr<config num>/device
125*4882a593SmuzhiyunDate:           February 2015
126*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
127*4882a593SmuzhiyunDescription:    read only
128*4882a593Smuzhiyun		Hexadecimal value of the device ID found in this AFU
129*4882a593Smuzhiyun		configuration record.
130*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
131*4882a593Smuzhiyun
132*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/cr<config num>/class
133*4882a593SmuzhiyunDate:           February 2015
134*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
135*4882a593SmuzhiyunDescription:    read only
136*4882a593Smuzhiyun		Hexadecimal value of the class code found in this AFU
137*4882a593Smuzhiyun		configuration record.
138*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
139*4882a593Smuzhiyun
140*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>/cr<config num>/config
141*4882a593SmuzhiyunDate:           February 2015
142*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
143*4882a593SmuzhiyunDescription:    read only
144*4882a593Smuzhiyun		This binary file provides raw access to the AFU configuration
145*4882a593Smuzhiyun		record. The format is expected to match the either the standard
146*4882a593Smuzhiyun		or extended configuration space defined by the PCIe
147*4882a593Smuzhiyun		specification.
148*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun
152*4882a593SmuzhiyunMaster contexts (eg. /sys/class/cxl/afu0.0m)
153*4882a593Smuzhiyun
154*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>m/mmio_size
155*4882a593SmuzhiyunDate:           September 2014
156*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
157*4882a593SmuzhiyunDescription:    read only
158*4882a593Smuzhiyun                Decimal value of the size of the MMIO space that may be mmaped
159*4882a593Smuzhiyun                by userspace. This includes all slave contexts space also.
160*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
161*4882a593Smuzhiyun
162*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>m/pp_mmio_len
163*4882a593SmuzhiyunDate:           September 2014
164*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
165*4882a593SmuzhiyunDescription:    read only
166*4882a593Smuzhiyun                Decimal value of the Per Process MMIO space length.
167*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
168*4882a593Smuzhiyun
169*4882a593SmuzhiyunWhat:           /sys/class/cxl/<afu>m/pp_mmio_off (not in a guest)
170*4882a593SmuzhiyunDate:           September 2014
171*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
172*4882a593SmuzhiyunDescription:    read only
173*4882a593Smuzhiyun                Decimal value of the Per Process MMIO space offset.
174*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun
177*4882a593SmuzhiyunCard info (eg. /sys/class/cxl/card0)
178*4882a593Smuzhiyun
179*4882a593SmuzhiyunWhat:           /sys/class/cxl/<card>/caia_version
180*4882a593SmuzhiyunDate:           September 2014
181*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
182*4882a593SmuzhiyunDescription:    read only
183*4882a593Smuzhiyun                Identifies the CAIA Version the card implements.
184*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
185*4882a593Smuzhiyun
186*4882a593SmuzhiyunWhat:           /sys/class/cxl/<card>/psl_revision
187*4882a593SmuzhiyunDate:           September 2014
188*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
189*4882a593SmuzhiyunDescription:    read only
190*4882a593Smuzhiyun                Identifies the revision level of the PSL.
191*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
192*4882a593Smuzhiyun
193*4882a593SmuzhiyunWhat:           /sys/class/cxl/<card>/base_image (not in a guest)
194*4882a593SmuzhiyunDate:           September 2014
195*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
196*4882a593SmuzhiyunDescription:    read only
197*4882a593Smuzhiyun                Identifies the revision level of the base image for devices
198*4882a593Smuzhiyun                that support loadable PSLs. For FPGAs this field identifies
199*4882a593Smuzhiyun                the image contained in the on-adapter flash which is loaded
200*4882a593Smuzhiyun                during the initial program load.
201*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
202*4882a593Smuzhiyun
203*4882a593SmuzhiyunWhat:           /sys/class/cxl/<card>/image_loaded (not in a guest)
204*4882a593SmuzhiyunDate:           September 2014
205*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
206*4882a593SmuzhiyunDescription:    read only
207*4882a593Smuzhiyun                Will return "user" or "factory" depending on the image loaded
208*4882a593Smuzhiyun                onto the card.
209*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
210*4882a593Smuzhiyun
211*4882a593SmuzhiyunWhat:           /sys/class/cxl/<card>/load_image_on_perst (not in a guest)
212*4882a593SmuzhiyunDate:           December 2014
213*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
214*4882a593SmuzhiyunDescription:    read/write
215*4882a593Smuzhiyun                Valid entries are "none", "user", and "factory".
216*4882a593Smuzhiyun                "none" means PERST will not cause image to be loaded to the
217*4882a593Smuzhiyun                card.  A power cycle is required to load the image.
218*4882a593Smuzhiyun                "none" could be useful for debugging because the trace arrays
219*4882a593Smuzhiyun                are preserved.
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun                "user" and "factory" means PERST will cause either the user or
222*4882a593Smuzhiyun                user or factory image to be loaded.
223*4882a593Smuzhiyun                Default is to reload on PERST whichever image the card has
224*4882a593Smuzhiyun                loaded.
225*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
226*4882a593Smuzhiyun
227*4882a593SmuzhiyunWhat:           /sys/class/cxl/<card>/reset
228*4882a593SmuzhiyunDate:           October 2014
229*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
230*4882a593SmuzhiyunDescription:    write only
231*4882a593Smuzhiyun                Writing 1 will issue a PERST to card provided there are no
232*4882a593Smuzhiyun                contexts active on any one of the card AFUs. This may cause
233*4882a593Smuzhiyun                the card to reload the FPGA depending on load_image_on_perst.
234*4882a593Smuzhiyun                Writing -1 will do a force PERST irrespective of any active
235*4882a593Smuzhiyun                contexts on the card AFUs.
236*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
237*4882a593Smuzhiyun
238*4882a593SmuzhiyunWhat:		/sys/class/cxl/<card>/perst_reloads_same_image (not in a guest)
239*4882a593SmuzhiyunDate:		July 2015
240*4882a593SmuzhiyunContact:	linuxppc-dev@lists.ozlabs.org
241*4882a593SmuzhiyunDescription:	read/write
242*4882a593Smuzhiyun		Trust that when an image is reloaded via PERST, it will not
243*4882a593Smuzhiyun		have changed.
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun		==  =================================================
246*4882a593Smuzhiyun		0   don't trust, the image may be different (default)
247*4882a593Smuzhiyun		1   trust that the image will not change.
248*4882a593Smuzhiyun		==  =================================================
249*4882a593SmuzhiyunUsers:		https://github.com/ibm-capi/libcxl
250*4882a593Smuzhiyun
251*4882a593SmuzhiyunWhat:           /sys/class/cxl/<card>/psl_timebase_synced
252*4882a593SmuzhiyunDate:           March 2016
253*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
254*4882a593SmuzhiyunDescription:    read only
255*4882a593Smuzhiyun                Returns 1 if the psl timebase register is synchronized
256*4882a593Smuzhiyun                with the core timebase register, 0 otherwise.
257*4882a593SmuzhiyunUsers:          https://github.com/ibm-capi/libcxl
258*4882a593Smuzhiyun
259*4882a593SmuzhiyunWhat:           /sys/class/cxl/<card>/tunneled_ops_supported
260*4882a593SmuzhiyunDate:           May 2018
261*4882a593SmuzhiyunContact:        linuxppc-dev@lists.ozlabs.org
262*4882a593SmuzhiyunDescription:    read only
263*4882a593Smuzhiyun                Returns 1 if tunneled operations are supported in capi mode,
264*4882a593Smuzhiyun                0 otherwise.
265*4882a593SmuzhiyunUsers:          https://github.com/ibm-capi/libcxl
266