aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.rst
diff options
context:
space:
mode:
Diffstat (limited to 'roms/skiboot/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.rst')
-rw-r--r--roms/skiboot/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.rst203
1 files changed, 203 insertions, 0 deletions
diff --git a/roms/skiboot/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.rst b/roms/skiboot/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.rst
new file mode 100644
index 000000000..6d603f173
--- /dev/null
+++ b/roms/skiboot/doc/opal-api/opal-npu2-opencapi-159-160-161-171-172.rst
@@ -0,0 +1,203 @@
+.. _OPAL_NPU_SPA_SETUP:
+
+OPAL_NPU_SPA_SETUP
+==================
+
+OpenCAPI devices only.
+
+Sets up a Shared Process Area (SPA) with the Shared Process Area
+Pointer (SPAP) set to the provided address `addr`, and sets the OTL PE
+mask (used for PASID to PE handle conversion) to `PE_mask`.
+
+If `addr` is NULL, the SPA will be disabled. `addr` must be 4K aligned.
+
+Parameters
+----------
+::
+
+ uint64_t phb_id
+ int bdfn
+ uint64_t addr
+ uint64_t PE_mask
+
+``phb_id``
+ OPAL ID of PHB
+
+``bdfn``
+ Bus-Device-Function number of OpenCAPI AFU
+
+``addr``
+ Address of Shared Process Area, or NULL to disable SPA. Must be 4K aligned.
+
+``PE_mask``
+ Process Element mask for PASID to PE handle conversion
+
+Return Values
+-------------
+
+OPAL_SUCCESS
+ SPAP and PE mask were successfully set
+
+OPAL_PARAMETER
+ A provided parameter was invalid
+
+OPAL_BUSY
+ SPA is already enabled (or if addr is NULL, SPA is already disabled)
+
+.. _OPAL_NPU_SPA_CLEAR_CACHE:
+
+OPAL_NPU_SPA_CLEAR_CACHE
+========================
+
+OpenCAPI devices only.
+
+Invalidates the Process Element with the given `PE_handle` from the NPU's SPA cache.
+
+Parameters
+----------
+::
+
+ uint64_t phb_id
+ uint32_t bdfn
+ uint64_t PE_handle
+
+``phb_id``
+ OPAL ID of PHB
+
+``bdfn``
+ Bus-Device-Function number of OpenCAPI AFU
+
+``PE_handle``
+ Handle of Process Element being cleared from SPA cache
+
+Return Values
+-------------
+
+OPAL_SUCCESS
+ PE was successfully cleared from SPA cache
+
+OPAL_PARAMETER
+ A provided parameter was invalid
+
+OPAL_BUSY
+ XSLO is currently invalidating a previously requested entry
+
+.. _OPAL_NPU_TL_SET:
+
+OPAL_NPU_TL_SET
+===============
+
+OpenCAPI devices only.
+
+Update the NPU OTL configuration with device capabilities.
+
+Parameters
+----------
+::
+
+ uint64_t phb_id
+ uint32_t bdfn
+ long capabilities
+ uint64_t rate_phys
+ int rate_sz
+
+``phb_id``
+ OPAL ID of PHB
+
+``bdfn``
+ Bus-Device-Function number of OpenCAPI AFU
+
+``capabilities``
+ Bitmap of TL templates the device can receive
+
+``rate_phys``
+ Physical address of rates buffer
+
+``rate_sz``
+ Size of rates buffer (must be equal to 32)
+
+Return Values
+-------------
+
+OPAL_SUCCESS
+ OTL configuration was successfully updated
+
+OPAL_PARAMETER
+ A provided parameter was invalid
+
+ .. _OPAL_NPU_MEM_ALLOC:
+
+OPAL_NPU_MEM_ALLOC
+==================
+
+OpenCAPI devices only.
+
+Sets up the NPU memory BAR for Lowest Point of Coherency (LPC) memory.
+
+At present, only one device per CPU can use LPC memory, and a maximum of 4TB
+can be allocated.
+
+Parameters
+----------
+::
+
+ uint64_t phb_id
+ uint32_t bdfn
+ uint64_t size
+ uint64_t *bar
+
+``phb_id``
+ OPAL ID of PHB
+
+``bdfn``
+ Bus-Device-Function number of OpenCAPI AFU
+
+``size``
+ Size of requested LPC memory area in bytes
+
+``bar``
+ Pointer to variable where base of LPC memory area will be returned
+
+Return Values
+-------------
+
+OPAL_SUCCESS
+ BAR setup completed successfully
+
+OPAL_PARAMETER
+ A provided parameter was invalid
+
+OPAL_RESOURCE
+ The BAR could not be assigned due to limitations
+
+.. _OPAL_NPU_MEM_RELEASE:
+
+OPAL_NPU_MEM_RELEASE
+====================
+
+OpenCAPI devices only.
+
+Releases NPU memory BAR.
+
+Parameters
+----------
+::
+
+ uint64_t phb_id
+ uint32_t bdfn
+
+``phb_id``
+ OPAL ID of PHB
+
+``bdfn``
+ Bus-Device-Function number of OpenCAPI AFU
+
+Return Values
+-------------
+
+OPAL_SUCCESS
+ BAR setup completed successfully
+
+OPAL_PARAMETER
+ A provided parameter was invalid, or the specified device does not currently
+ have LPC memory assigned