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¶
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¶
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¶
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¶
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