uint16_tAverageSocketPower;//Filtered value of CurrentSocketPower
uint16_tAverageCorePower[2];//Filtered of [sum of CorePower[8] per ccx])
uint16_tAverageCoreC0Residency[16];//Filtered of [average C0 residency % per core]
uint16_tspare3;
uint32_tMetricsCounter;//Counts the # of metrics table parameter reads per update to the metrics table, i.e. if the metrics table update happens every 1 second, this value could be up to 1000 if the smu collected metrics data every cycle, or as low as 0 if the smu was asleep the whole time. Reset to 0 after writing.
}SmuMetrics_t;
typedefstruct{
uint16_tStapmMaxPlatformLimit;//[W]
uint16_tStapmMinPlatformLimit;//[W]
uint16_tFastPptMaxPlatformLimit;//[W]
uint16_tFastPptMinPlatformLimit;//[W]
uint16_tSlowPptMaxPlatformLimit;//[W]
uint16_tSlowPptMinPlatformLimit;//[W]
uint16_tSlowPptApuMaxPlatformLimit;//[W]
uint16_tSlowPptApuMinPlatformLimit;//[W]
}PmfInfo_t;
//ISP tile definitions
typedefenum{
TILE_XTILE=0,//ONO0
TILE_MTILE,//ONO1
TILE_PDP,//ONO2
TILE_CSTAT,//ONO2
TILE_LME,//ONO3
TILE_BYRP,//ONO4
TILE_GRBP,//ONO4
TILE_MCFP,//ONO4
TILE_YUVP,//ONO4
TILE_MCSC,//ONO4
TILE_GDC,//ONO5
TILE_MAX
}TILE_NUM_e;
// Tile Selection (Based on arguments)
#define ISP_TILE_SEL(tile) (1<<tile)
#define ISP_TILE_SEL_ALL 0x7FF
// Workload bits
#define WORKLOAD_PPLIB_FULL_SCREEN_3D_BIT 0
#define WORKLOAD_PPLIB_VIDEO_BIT 2
#define WORKLOAD_PPLIB_VR_BIT 3
#define WORKLOAD_PPLIB_COMPUTE_BIT 4
#define WORKLOAD_PPLIB_CUSTOM_BIT 5
#define WORKLOAD_PPLIB_COUNT 6
#define TABLE_BIOS_IF 0 // Called by BIOS
#define TABLE_WATERMARKS 1 // Called by DAL through VBIOS
#define TABLE_CUSTOM_DPM 2 // Called by Driver
#define TABLE_BIOS_GPIO_CONFIG 3 // Called by BIOS
#define TABLE_DPMCLOCKS 4 // Called by Driver and VBIOS
#define TABLE_MOMENTARY_PM 5 // Called by Tools
#define TABLE_MODERN_STDBY 6 // Called by Tools for Modern Standby Log
#define TABLE_SMU_METRICS 7 // Called by Driver and SMF/PMF
#define TABLE_INFRASTRUCTURE_LIMITS 8 // Called by SMF/PMF