forked from Minki/linux
e009a7e858
Failure to synchronize the PSL timebase currently prevents the initialization of the cxl card, thus rendering the card useless. This is too extreme for a feature which is rarely used, if at all. No hardware AFUs or software is currently using PSL timebase. This patch still tries to synchronize the PSL timebase when the card is initialized, but ignores the error if it can't. Instead, it reports a status via /sys. Signed-off-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> Acked-by: Ian Munsie <imunsie@au1.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
244 lines
9.8 KiB
Plaintext
244 lines
9.8 KiB
Plaintext
Note: Attributes that are shared between devices are stored in the directory
|
|
pointed to by the symlink device/.
|
|
Example: The real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
|
|
/sys/class/cxl/afu0.0s/device/irqs_max, i.e. /sys/class/cxl/afu0.0/irqs_max.
|
|
|
|
|
|
Slave contexts (eg. /sys/class/cxl/afu0.0s):
|
|
|
|
What: /sys/class/cxl/<afu>/afu_err_buf
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
AFU Error Buffer contents. The contents of this file are
|
|
application specific and depends on the AFU being used.
|
|
Applications interacting with the AFU can use this attribute
|
|
to know about the current error condition and take appropriate
|
|
action like logging the event etc.
|
|
|
|
|
|
What: /sys/class/cxl/<afu>/irqs_max
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read/write
|
|
Decimal value of maximum number of interrupts that can be
|
|
requested by userspace. The default on probe is the maximum
|
|
that hardware can support (eg. 2037). Write values will limit
|
|
userspace applications to that many userspace interrupts. Must
|
|
be >= irqs_min.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/irqs_min
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Decimal value of the minimum number of interrupts that
|
|
userspace must request on a CXL_START_WORK ioctl. Userspace may
|
|
omit the num_interrupts field in the START_WORK IOCTL to get
|
|
this minimum automatically.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/mmio_size
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Decimal value of the size of the MMIO space that may be mmaped
|
|
by userspace.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/modes_supported
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
List of the modes this AFU supports. One per line.
|
|
Valid entries are: "dedicated_process" and "afu_directed"
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/mode
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read/write
|
|
The current mode the AFU is using. Will be one of the modes
|
|
given in modes_supported. Writing will change the mode
|
|
provided that no user contexts are attached.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
|
|
What: /sys/class/cxl/<afu>/prefault_mode
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read/write
|
|
Set the mode for prefaulting in segments into the segment table
|
|
when performing the START_WORK ioctl. Possible values:
|
|
none: No prefaulting (default)
|
|
work_element_descriptor: Treat the work element
|
|
descriptor as an effective address and
|
|
prefault what it points to.
|
|
all: all segments process calling START_WORK maps.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/reset
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: write only
|
|
Writing 1 here will reset the AFU provided there are not
|
|
contexts active on the AFU.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/api_version
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Decimal value of the current version of the kernel/user API.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/api_version_compatible
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Decimal value of the the lowest version of the userspace API
|
|
this this kernel supports.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
|
|
AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
|
|
|
|
An AFU may optionally export one or more PCIe like configuration records, known
|
|
as AFU configuration records, which will show up here (if present).
|
|
|
|
What: /sys/class/cxl/<afu>/cr<config num>/vendor
|
|
Date: February 2015
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Hexadecimal value of the vendor ID found in this AFU
|
|
configuration record.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/cr<config num>/device
|
|
Date: February 2015
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Hexadecimal value of the device ID found in this AFU
|
|
configuration record.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/cr<config num>/class
|
|
Date: February 2015
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Hexadecimal value of the class code found in this AFU
|
|
configuration record.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>/cr<config num>/config
|
|
Date: February 2015
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
This binary file provides raw access to the AFU configuration
|
|
record. The format is expected to match the either the standard
|
|
or extended configuration space defined by the PCIe
|
|
specification.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
|
|
|
|
Master contexts (eg. /sys/class/cxl/afu0.0m)
|
|
|
|
What: /sys/class/cxl/<afu>m/mmio_size
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Decimal value of the size of the MMIO space that may be mmaped
|
|
by userspace. This includes all slave contexts space also.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>m/pp_mmio_len
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Decimal value of the Per Process MMIO space length.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<afu>m/pp_mmio_off (not in a guest)
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Decimal value of the Per Process MMIO space offset.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
|
|
Card info (eg. /sys/class/cxl/card0)
|
|
|
|
What: /sys/class/cxl/<card>/caia_version
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Identifies the CAIA Version the card implements.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<card>/psl_revision
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Identifies the revision level of the PSL.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<card>/base_image (not in a guest)
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Identifies the revision level of the base image for devices
|
|
that support loadable PSLs. For FPGAs this field identifies
|
|
the image contained in the on-adapter flash which is loaded
|
|
during the initial program load.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<card>/image_loaded (not in a guest)
|
|
Date: September 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Will return "user" or "factory" depending on the image loaded
|
|
onto the card.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<card>/load_image_on_perst (not in a guest)
|
|
Date: December 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read/write
|
|
Valid entries are "none", "user", and "factory".
|
|
"none" means PERST will not cause image to be loaded to the
|
|
card. A power cycle is required to load the image.
|
|
"none" could be useful for debugging because the trace arrays
|
|
are preserved.
|
|
"user" and "factory" means PERST will cause either the user or
|
|
user or factory image to be loaded.
|
|
Default is to reload on PERST whichever image the card has
|
|
loaded.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<card>/reset
|
|
Date: October 2014
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: write only
|
|
Writing 1 will issue a PERST to card which may cause the card
|
|
to reload the FPGA depending on load_image_on_perst.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<card>/perst_reloads_same_image (not in a guest)
|
|
Date: July 2015
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read/write
|
|
Trust that when an image is reloaded via PERST, it will not
|
|
have changed.
|
|
0 = don't trust, the image may be different (default)
|
|
1 = trust that the image will not change.
|
|
Users: https://github.com/ibm-capi/libcxl
|
|
|
|
What: /sys/class/cxl/<card>/psl_timebase_synced
|
|
Date: March 2016
|
|
Contact: linuxppc-dev@lists.ozlabs.org
|
|
Description: read only
|
|
Returns 1 if the psl timebase register is synchronized
|
|
with the core timebase register, 0 otherwise.
|
|
Users: https://github.com/ibm-capi/libcxl
|