203 lines
3.4 KiB
ReStructuredText
203 lines
3.4 KiB
ReStructuredText
.. _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
|