1Note: 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 7Slave 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 76What: /sys/class/cxl/<afu>/api_version_compatible 77Date: 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 84Master contexts (eg. /sys/class/cxl/afu0.0m) 85 86What: /sys/class/cxl/<afu>m/mmio_size 87Date: September 2014 88Contact: linuxppc-dev@lists.ozlabs.org 89Description: read only 90 Decimal value of the size of the MMIO space that may be mmaped 91 by userspace. This includes all slave contexts space also. 92 93What: /sys/class/cxl/<afu>m/pp_mmio_len 94Date: September 2014 95Contact: linuxppc-dev@lists.ozlabs.org 96Description: read only 97 Decimal value of the Per Process MMIO space length. 98 99What: /sys/class/cxl/<afu>m/pp_mmio_off 100Date: September 2014 101Contact: linuxppc-dev@lists.ozlabs.org 102Description: read only 103 Decimal value of the Per Process MMIO space offset. 104 105 106Card info (eg. /sys/class/cxl/card0) 107 108What: /sys/class/cxl/<card>/caia_version 109Date: September 2014 110Contact: linuxppc-dev@lists.ozlabs.org 111Description: read only 112 Identifies the CAIA Version the card implements. 113 114What: /sys/class/cxl/<card>/psl_revision 115Date: September 2014 116Contact: linuxppc-dev@lists.ozlabs.org 117Description: read only 118 Identifies the revision level of the PSL. 119 120What: /sys/class/cxl/<card>/base_image 121Date: September 2014 122Contact: linuxppc-dev@lists.ozlabs.org 123Description: read only 124 Identifies the revision level of the base image for devices 125 that support loadable PSLs. For FPGAs this field identifies 126 the image contained in the on-adapter flash which is loaded 127 during the initial program load. 128 129What: /sys/class/cxl/<card>/image_loaded 130Date: September 2014 131Contact: linuxppc-dev@lists.ozlabs.org 132Description: read only 133 Will return "user" or "factory" depending on the image loaded 134 onto the card. 135 136What: /sys/class/cxl/<card>/load_image_on_perst 137Date: December 2014 138Contact: linuxppc-dev@lists.ozlabs.org 139Description: read/write 140 Valid entries are "none", "user", and "factory". 141 "none" means PERST will not cause image to be loaded to the 142 card. A power cycle is required to load the image. 143 "none" could be useful for debugging because the trace arrays 144 are preserved. 145 "user" and "factory" means PERST will cause either the user or 146 user or factory image to be loaded. 147 Default is to reload on PERST whichever image the card has 148 loaded. 149 150What: /sys/class/cxl/<card>/reset 151Date: October 2014 152Contact: linuxppc-dev@lists.ozlabs.org 153Description: write only 154 Writing 1 will issue a PERST to card which may cause the card 155 to reload the FPGA depending on load_image_on_perst. 156