530.30.02

This commit is contained in:
Andy Ritger
2023-02-28 11:12:44 -08:00
parent e598191e8e
commit 4397463e73
928 changed files with 124728 additions and 88525 deletions

View File

@@ -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_ */

View File

@@ -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_ */