mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-03-11 16:19:53 +00:00
530.30.02
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
/*!
|
||||
* @ref NVB0CC_CTRL_CMD_ALLOC_PMA_STREAM
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_INTERNAL_ALLOC_PMA_STREAM (0xb0cc0200) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_INTERNAL_INTERFACE_ID << 8) | NVB0CC_CTRL_CMD_INTERNAL_ALLOC_PMA_STREAM_FINN_PARAMS_MESSAGE_ID" */
|
||||
#define NVB0CC_CTRL_CMD_INTERNAL_ALLOC_PMA_STREAM (0xb0cc0204) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_INTERNAL_INTERFACE_ID << 8) | NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS_MESSAGE_ID" */
|
||||
|
||||
|
||||
// FINN PORT: The below type was generated by the FINN port to
|
||||
@@ -76,4 +76,123 @@ typedef struct NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS {
|
||||
NvBool bMemoryProfilingPermitted;
|
||||
} NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS;
|
||||
|
||||
#define NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS_MESSAGE_ID (0x4U)
|
||||
|
||||
typedef struct NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS {
|
||||
/*!
|
||||
* [in] Memory handle (RW memory) for streaming records.
|
||||
* Size of this must be >= @ref pmaBufferOffset + @ref pmaBufferSize.
|
||||
*/
|
||||
NvHandle hMemPmaBuffer;
|
||||
|
||||
/*!
|
||||
* [in] Start offset of PMA buffer (offset in @ref hMemPmaBuffer).
|
||||
*/
|
||||
NV_DECLARE_ALIGNED(NvU64 pmaBufferOffset, 8);
|
||||
|
||||
/*!
|
||||
* [in] size of the buffer. This must be <= NVB0CC_PMA_BUFFER_SIZE_MAX.
|
||||
*/
|
||||
NV_DECLARE_ALIGNED(NvU64 pmaBufferSize, 8);
|
||||
|
||||
/*!
|
||||
* [in] Memory handle (RO memory) for streaming number of bytes available.
|
||||
* Size of this must be of at least @ref pmaBytesAvailableOffset +
|
||||
* @ref NVB0CC_PMA_BYTES_AVAILABLE_SIZE.
|
||||
*/
|
||||
NvHandle hMemPmaBytesAvailable;
|
||||
|
||||
/*!
|
||||
* [in] Start offset of PMA bytes available buffer (offset in @ref hMemPmaBytesAvailable).
|
||||
*/
|
||||
NV_DECLARE_ALIGNED(NvU64 pmaBytesAvailableOffset, 8);
|
||||
|
||||
/*!
|
||||
* [in] Enable ctxsw for PMA stream.
|
||||
*/
|
||||
NvBool ctxsw;
|
||||
|
||||
/*!
|
||||
* [in/out] The PMA Channel Index associated with a given PMA stream.
|
||||
* This parameter is input when bInputPmaChIdx is true, else it's output parameter.
|
||||
*/
|
||||
NvU32 pmaChannelIdx;
|
||||
|
||||
/*!
|
||||
* [out] PMA buffer VA. Note that this is a HWPM Virtual address.
|
||||
*/
|
||||
NV_DECLARE_ALIGNED(NvU64 pmaBufferVA, 8);
|
||||
|
||||
/*!
|
||||
* [In] This field must be specified by the client to indicate whether the
|
||||
* pmaChannelIdx is input parameter or output parameter.
|
||||
*/
|
||||
NvBool bInputPmaChIdx;
|
||||
} NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS;
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
* NVB0CC_CTRL_CMD_INTERNAL_FREE_PMA_STREAM
|
||||
*
|
||||
* Internal logic for PMA Stream Free
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_INTERNAL_FREE_PMA_STREAM (0xb0cc0206) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_INTERNAL_INTERFACE_ID << 8) | NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS_MESSAGE_ID" */
|
||||
|
||||
#define NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS_MESSAGE_ID (0x6U)
|
||||
|
||||
typedef struct NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS {
|
||||
/*!
|
||||
* [in] The PMA channel index associated with a given PMA stream.
|
||||
*/
|
||||
NvU32 pmaChannelIdx;
|
||||
} NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS;
|
||||
|
||||
/*!
|
||||
* NVB0CC_CTRL_CMD_INTERNAL_GET_MAX_PMAS
|
||||
*
|
||||
* Get the maximum number of PMA channels
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_INTERNAL_GET_MAX_PMAS (0xb0cc0207) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_INTERNAL_INTERFACE_ID << 8) | NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS_MESSAGE_ID" */
|
||||
|
||||
#define NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS_MESSAGE_ID (0x7U)
|
||||
|
||||
typedef struct NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS {
|
||||
/*!
|
||||
* [out] Max number of PMA channels
|
||||
*/
|
||||
NvU32 maxPmaChannels;
|
||||
} NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS;
|
||||
|
||||
/*!
|
||||
* NVB0CC_CTRL_CMD_INTERNAL_BIND_PM_RESOURCES
|
||||
*
|
||||
* Internally bind PM resources.
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_INTERNAL_BIND_PM_RESOURCES (0xb0cc0208) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_INTERNAL_INTERFACE_ID << 8) | 0x8" */
|
||||
|
||||
|
||||
/*!
|
||||
* NVB0CC_CTRL_CMD_INTERNAL_UNBIND_PM_RESOURCES
|
||||
*
|
||||
* Internally unbind PM resources.
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_INTERNAL_UNBIND_PM_RESOURCES (0xb0cc0209) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_INTERNAL_INTERFACE_ID << 8) | 0x9" */
|
||||
|
||||
/*!
|
||||
* NVB0CC_CTRL_CMD_INTERNAL_RESERVE_HWPM_LEGACY
|
||||
*
|
||||
* Reserve legacy HWPM resources
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_INTERNAL_RESERVE_HWPM_LEGACY (0xb0cc020a) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_INTERNAL_INTERFACE_ID << 8) | NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS_MESSAGE_ID" */
|
||||
|
||||
#define NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS_MESSAGE_ID (0xaU)
|
||||
|
||||
typedef struct NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS {
|
||||
/*!
|
||||
* [in] Enable ctxsw for HWPM.
|
||||
*/
|
||||
NvBool ctxsw;
|
||||
} NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS;
|
||||
|
||||
/* _ctrlb0ccinternal_h_ */
|
||||
|
||||
@@ -109,7 +109,7 @@ typedef struct NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS {
|
||||
* for streaming the updated bytes available in the buffer.
|
||||
*
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_ALLOC_PMA_STREAM (0xb0cc0105) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_PROFILER_INTERFACE_ID << 8) | 0x5" */
|
||||
#define NVB0CC_CTRL_CMD_ALLOC_PMA_STREAM (0xb0cc0105) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_PROFILER_INTERFACE_ID << 8) | NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS_MESSAGE_ID" */
|
||||
|
||||
/*!
|
||||
* Defines the maximum size of PMA buffer for streamout. It can be up to 4GB minus one page
|
||||
@@ -118,6 +118,8 @@ typedef struct NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS {
|
||||
#define NVB0CC_PMA_BUFFER_SIZE_MAX (0xffe00000ULL) /* finn: Evaluated from "(4 * 1024 * 1024 * 1024 - 2 * 1024 * 1024)" */
|
||||
#define NVB0CC_PMA_BYTES_AVAILABLE_SIZE (0x1000) /* finn: Evaluated from "(4 * 1024)" */
|
||||
|
||||
#define NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS_MESSAGE_ID (0x5U)
|
||||
|
||||
typedef struct NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS {
|
||||
/*!
|
||||
* [in] Memory handle (RW memory) for streaming records.
|
||||
@@ -181,6 +183,8 @@ typedef struct NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS {
|
||||
NvU32 pmaChannelIdx;
|
||||
} NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS;
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
* NVB0CC_CTRL_CMD_BIND_PM_RESOURCES
|
||||
*
|
||||
@@ -258,6 +262,11 @@ typedef struct NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS {
|
||||
* [in] The PMA Channel Index associated with a given PMA stream.
|
||||
*/
|
||||
NvU32 pmaChannelIdx;
|
||||
|
||||
/*!
|
||||
* [out] Set to TRUE if PMA buffer has overflowed.
|
||||
*/
|
||||
NvBool bOverflowStatus;
|
||||
} NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS;
|
||||
|
||||
/*!
|
||||
@@ -440,9 +449,7 @@ typedef struct NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_STATUS {
|
||||
|
||||
#define NVB0CC_MAX_CREDIT_INFO_ENTRIES (63)
|
||||
|
||||
#define NVB0CC_CTRL_SET_HS_CREDITS_PARAMS_MESSAGE_ID (0xEU)
|
||||
|
||||
typedef struct NVB0CC_CTRL_SET_HS_CREDITS_PARAMS {
|
||||
typedef struct NVB0CC_CTRL_HS_CREDITS_PARAMS {
|
||||
/*!
|
||||
* [in] The PMA Channel Index associated with a given PMA stream.
|
||||
*/
|
||||
@@ -462,7 +469,11 @@ typedef struct NVB0CC_CTRL_SET_HS_CREDITS_PARAMS {
|
||||
* [in] Credit programming per chiplet
|
||||
*/
|
||||
NVB0CC_CTRL_PMA_STREAM_HS_CREDITS_INFO creditInfo[NVB0CC_MAX_CREDIT_INFO_ENTRIES];
|
||||
} NVB0CC_CTRL_SET_HS_CREDITS_PARAMS;
|
||||
} NVB0CC_CTRL_HS_CREDITS_PARAMS;
|
||||
|
||||
#define NVB0CC_CTRL_SET_HS_CREDITS_PARAMS_MESSAGE_ID (0xEU)
|
||||
|
||||
typedef NVB0CC_CTRL_HS_CREDITS_PARAMS NVB0CC_CTRL_SET_HS_CREDITS_PARAMS;
|
||||
|
||||
/*!
|
||||
* NVB0CC_CTRL_CMD_GET_HS_CREDITS
|
||||
@@ -470,10 +481,79 @@ typedef struct NVB0CC_CTRL_SET_HS_CREDITS_PARAMS {
|
||||
* Gets per chiplet (pmm router) high speed streaming credits for a pma channel.
|
||||
*
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_GET_HS_CREDITS (0xb0cc010f) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_PROFILER_INTERFACE_ID << 8) | 0xF" */
|
||||
#define NVB0CC_CTRL_CMD_GET_HS_CREDITS (0xb0cc010f) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_PROFILER_INTERFACE_ID << 8) | NVB0CC_CTRL_GET_HS_CREDITS_PARAMS_MESSAGE_ID" */
|
||||
|
||||
typedef NVB0CC_CTRL_SET_HS_CREDITS_PARAMS NVB0CC_CTRL_GET_HS_CREDITS_PARAMS;
|
||||
#define NVB0CC_CTRL_GET_HS_CREDITS_PARAMS_MESSAGE_ID (0xFU)
|
||||
|
||||
typedef NVB0CC_CTRL_HS_CREDITS_PARAMS NVB0CC_CTRL_GET_HS_CREDITS_PARAMS;
|
||||
|
||||
|
||||
|
||||
typedef enum NVB0CC_CTRL_HES_TYPE {
|
||||
NVB0CC_CTRL_HES_INVALID = 0,
|
||||
NVB0CC_CTRL_HES_CWD = 1,
|
||||
} NVB0CC_CTRL_HES_TYPE;
|
||||
|
||||
typedef struct NVB0CC_CTRL_RESERVE_HES_CWD_PARAMS {
|
||||
/*!
|
||||
* [in] Enable ctxsw for HES_CWD.
|
||||
*/
|
||||
NvBool ctxsw;
|
||||
} NVB0CC_CTRL_RESERVE_HES_CWD_PARAMS;
|
||||
|
||||
/*
|
||||
* NVB0CC_CTRL_HES_RESERVATION_UNION
|
||||
*
|
||||
* Union of all HES reservation params
|
||||
*
|
||||
*/
|
||||
typedef union NVB0CC_CTRL_HES_RESERVATION_UNION {
|
||||
NVB0CC_CTRL_RESERVE_HES_CWD_PARAMS cwd;
|
||||
} NVB0CC_CTRL_HES_RESERVATION_UNION;
|
||||
|
||||
/*!
|
||||
* NVB0CC_CTRL_CMD_RESERVE_HES
|
||||
*
|
||||
* Reserves HES for use by the calling client.
|
||||
* This PM system will only be accessible if this reservation is
|
||||
* taken.
|
||||
*
|
||||
* This reservation can be released with @ref NVB0CC_CTRL_CMD_RELEASE_HES.
|
||||
*
|
||||
* Reservation scope and rules are same as for @ref NVB0CC_CTRL_CMD_RESERVE_HWPM_LEGACY.
|
||||
*
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_RESERVE_HES (0xb0cc0113) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_PROFILER_INTERFACE_ID << 8) | NVB0CC_CTRL_RESERVE_HES_PARAMS_MESSAGE_ID" */
|
||||
|
||||
#define NVB0CC_CTRL_RESERVE_HES_PARAMS_MESSAGE_ID (0x13U)
|
||||
|
||||
typedef struct NVB0CC_CTRL_RESERVE_HES_PARAMS {
|
||||
/*!
|
||||
* [in] Denotes the HES reservation type. Choose from @NVB0CC_CTRL_HES_TYPE.
|
||||
*/
|
||||
NvU32 type;
|
||||
|
||||
/*!
|
||||
* [in] Union of all possible reserve param structs. Initialize the reserveParams corresponding to the chosen type.
|
||||
*/
|
||||
NVB0CC_CTRL_HES_RESERVATION_UNION reserveParams;
|
||||
} NVB0CC_CTRL_RESERVE_HES_PARAMS;
|
||||
|
||||
/*!
|
||||
* NVB0CC_CTRL_CMD_RELEASE_HES
|
||||
*
|
||||
* Releases the reservation taken with @ref NVB0CC_CTRL_CMD_RESERVE_HES.
|
||||
*
|
||||
*/
|
||||
#define NVB0CC_CTRL_CMD_RELEASE_HES (0xb0cc0114) /* finn: Evaluated from "(FINN_MAXWELL_PROFILER_PROFILER_INTERFACE_ID << 8) | NVB0CC_CTRL_RELEASE_HES_PARAMS_MESSAGE_ID" */
|
||||
|
||||
#define NVB0CC_CTRL_RELEASE_HES_PARAMS_MESSAGE_ID (0x14U)
|
||||
|
||||
typedef struct NVB0CC_CTRL_RELEASE_HES_PARAMS {
|
||||
/*!
|
||||
* [in] type of @NVB0CC_CTRL_HES_TYPE needs to be released.
|
||||
*/
|
||||
NVB0CC_CTRL_HES_TYPE type;
|
||||
} NVB0CC_CTRL_RELEASE_HES_PARAMS;
|
||||
|
||||
/* _ctrlb0ccprofiler_h_ */
|
||||
|
||||
Reference in New Issue
Block a user