blob: d46bba801aace45ed29ea559a7a1c9c1fe764fd5 [file] [log] [blame]
Philippe Bergheaud49fd6442014-12-12 11:28:53 +01001Note: Attributes that are shared between devices are stored in the directory
2pointed to by the symlink device/.
3Example: The real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
4/sys/class/cxl/afu0.0s/device/irqs_max, i.e. /sys/class/cxl/afu0.0/irqs_max.
5
6
Ian Munsiea9282d02014-10-08 19:55:05 +11007Slave contexts (eg. /sys/class/cxl/afu0.0s):
8
9What: /sys/class/cxl/<afu>/irqs_max
10Date: September 2014
11Contact: linuxppc-dev@lists.ozlabs.org
12Description: read/write
13 Decimal value of maximum number of interrupts that can be
14 requested by userspace. The default on probe is the maximum
15 that hardware can support (eg. 2037). Write values will limit
16 userspace applications to that many userspace interrupts. Must
17 be >= irqs_min.
18
19What: /sys/class/cxl/<afu>/irqs_min
20Date: September 2014
21Contact: linuxppc-dev@lists.ozlabs.org
22Description: read only
23 Decimal value of the minimum number of interrupts that
24 userspace must request on a CXL_START_WORK ioctl. Userspace may
25 omit the num_interrupts field in the START_WORK IOCTL to get
26 this minimum automatically.
27
28What: /sys/class/cxl/<afu>/mmio_size
29Date: September 2014
30Contact: linuxppc-dev@lists.ozlabs.org
31Description: read only
32 Decimal value of the size of the MMIO space that may be mmaped
33 by userspace.
34
35What: /sys/class/cxl/<afu>/modes_supported
36Date: September 2014
37Contact: linuxppc-dev@lists.ozlabs.org
38Description: read only
39 List of the modes this AFU supports. One per line.
40 Valid entries are: "dedicated_process" and "afu_directed"
41
42What: /sys/class/cxl/<afu>/mode
43Date: September 2014
44Contact: linuxppc-dev@lists.ozlabs.org
45Description: read/write
46 The current mode the AFU is using. Will be one of the modes
47 given in modes_supported. Writing will change the mode
48 provided that no user contexts are attached.
49
50
51What: /sys/class/cxl/<afu>/prefault_mode
52Date: September 2014
53Contact: linuxppc-dev@lists.ozlabs.org
54Description: read/write
55 Set the mode for prefaulting in segments into the segment table
56 when performing the START_WORK ioctl. Possible values:
57 none: No prefaulting (default)
58 work_element_descriptor: Treat the work element
59 descriptor as an effective address and
60 prefault what it points to.
61 all: all segments process calling START_WORK maps.
62
63What: /sys/class/cxl/<afu>/reset
64Date: September 2014
65Contact: linuxppc-dev@lists.ozlabs.org
66Description: write only
67 Writing 1 here will reset the AFU provided there are not
68 contexts active on the AFU.
69
70What: /sys/class/cxl/<afu>/api_version
71Date: September 2014
72Contact: linuxppc-dev@lists.ozlabs.org
73Description: read only
74 Decimal value of the current version of the kernel/user API.
75
Philippe Bergheaud49fd6442014-12-12 11:28:53 +010076What: /sys/class/cxl/<afu>/api_version_compatible
Ian Munsiea9282d02014-10-08 19:55:05 +110077Date: September 2014
78Contact: linuxppc-dev@lists.ozlabs.org
79Description: read only
80 Decimal value of the the lowest version of the userspace API
81 this this kernel supports.
82
83
Ian Munsieb087e612015-02-04 19:09:01 +110084AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
85
86An AFU may optionally export one or more PCIe like configuration records, known
87as AFU configuration records, which will show up here (if present).
88
89What: /sys/class/cxl/<afu>/cr<config num>/vendor
90Date: February 2015
91Contact: linuxppc-dev@lists.ozlabs.org
92Description: read only
93 Hexadecimal value of the vendor ID found in this AFU
94 configuration record.
95
96What: /sys/class/cxl/<afu>/cr<config num>/device
97Date: February 2015
98Contact: linuxppc-dev@lists.ozlabs.org
99Description: read only
100 Hexadecimal value of the device ID found in this AFU
101 configuration record.
102
Philippe Bergheaud52fd4752015-03-26 11:46:56 +0100103What: /sys/class/cxl/<afu>/cr<config num>/class
Ian Munsieb087e612015-02-04 19:09:01 +1100104Date: February 2015
105Contact: linuxppc-dev@lists.ozlabs.org
106Description: read only
107 Hexadecimal value of the class code found in this AFU
108 configuration record.
109
110What: /sys/class/cxl/<afu>/cr<config num>/config
111Date: February 2015
112Contact: linuxppc-dev@lists.ozlabs.org
113Description: read only
114 This binary file provides raw access to the AFU configuration
115 record. The format is expected to match the either the standard
116 or extended configuration space defined by the PCIe
117 specification.
118
119
120
Ian Munsiea9282d02014-10-08 19:55:05 +1100121Master contexts (eg. /sys/class/cxl/afu0.0m)
122
123What: /sys/class/cxl/<afu>m/mmio_size
124Date: September 2014
125Contact: linuxppc-dev@lists.ozlabs.org
126Description: read only
127 Decimal value of the size of the MMIO space that may be mmaped
128 by userspace. This includes all slave contexts space also.
129
130What: /sys/class/cxl/<afu>m/pp_mmio_len
131Date: September 2014
132Contact: linuxppc-dev@lists.ozlabs.org
133Description: read only
134 Decimal value of the Per Process MMIO space length.
135
136What: /sys/class/cxl/<afu>m/pp_mmio_off
137Date: September 2014
138Contact: linuxppc-dev@lists.ozlabs.org
139Description: read only
140 Decimal value of the Per Process MMIO space offset.
141
142
143Card info (eg. /sys/class/cxl/card0)
144
145What: /sys/class/cxl/<card>/caia_version
146Date: September 2014
147Contact: linuxppc-dev@lists.ozlabs.org
148Description: read only
149 Identifies the CAIA Version the card implements.
150
Philippe Bergheaud49fd6442014-12-12 11:28:53 +0100151What: /sys/class/cxl/<card>/psl_revision
Ian Munsiea9282d02014-10-08 19:55:05 +1100152Date: September 2014
153Contact: linuxppc-dev@lists.ozlabs.org
154Description: read only
155 Identifies the revision level of the PSL.
156
157What: /sys/class/cxl/<card>/base_image
158Date: September 2014
159Contact: linuxppc-dev@lists.ozlabs.org
160Description: read only
161 Identifies the revision level of the base image for devices
162 that support loadable PSLs. For FPGAs this field identifies
163 the image contained in the on-adapter flash which is loaded
164 during the initial program load.
165
166What: /sys/class/cxl/<card>/image_loaded
167Date: September 2014
168Contact: linuxppc-dev@lists.ozlabs.org
169Description: read only
170 Will return "user" or "factory" depending on the image loaded
171 onto the card.
Ryan Grimm95bc11b2015-01-19 11:52:49 -0600172
173What: /sys/class/cxl/<card>/load_image_on_perst
174Date: December 2014
175Contact: linuxppc-dev@lists.ozlabs.org
176Description: read/write
177 Valid entries are "none", "user", and "factory".
178 "none" means PERST will not cause image to be loaded to the
179 card. A power cycle is required to load the image.
180 "none" could be useful for debugging because the trace arrays
181 are preserved.
182 "user" and "factory" means PERST will cause either the user or
183 user or factory image to be loaded.
184 Default is to reload on PERST whichever image the card has
185 loaded.
Ryan Grimm62fa19d2015-01-19 11:52:51 -0600186
187What: /sys/class/cxl/<card>/reset
188Date: October 2014
189Contact: linuxppc-dev@lists.ozlabs.org
190Description: write only
191 Writing 1 will issue a PERST to card which may cause the card
192 to reload the FPGA depending on load_image_on_perst.