1 // This is a stripped-down version of the smu11_driver_if.h file for the relevant DAL interfaces. 2 3 #define SMU11_DRIVER_IF_VERSION 0x40 4 5 //Only Clks that have DPM descriptors are listed here 6 typedef enum { 7 PPCLK_GFXCLK = 0, 8 PPCLK_SOCCLK, 9 PPCLK_UCLK, 10 PPCLK_FCLK, 11 PPCLK_DCLK_0, 12 PPCLK_VCLK_0, 13 PPCLK_DCLK_1, 14 PPCLK_VCLK_1, 15 PPCLK_DCEFCLK, 16 PPCLK_DISPCLK, 17 PPCLK_PIXCLK, 18 PPCLK_PHYCLK, 19 PPCLK_DTBCLK, 20 PPCLK_COUNT, 21 } PPCLK_e; 22 23 typedef struct { 24 uint16_t MinClock; // This is either DCEFCLK or SOCCLK (in MHz) 25 uint16_t MaxClock; // This is either DCEFCLK or SOCCLK (in MHz) 26 uint16_t MinUclk; 27 uint16_t MaxUclk; 28 29 uint8_t WmSetting; 30 uint8_t Flags; 31 uint8_t Padding[2]; 32 33 } WatermarkRowGeneric_t; 34 35 #define NUM_WM_RANGES 4 36 37 typedef enum { 38 WM_SOCCLK = 0, 39 WM_DCEFCLK, 40 WM_COUNT, 41 } WM_CLOCK_e; 42 43 typedef enum { 44 WATERMARKS_CLOCK_RANGE = 0, 45 WATERMARKS_DUMMY_PSTATE, 46 WATERMARKS_MALL, 47 WATERMARKS_COUNT, 48 } WATERMARKS_FLAGS_e; 49 50 typedef struct { 51 // Watermarks 52 WatermarkRowGeneric_t WatermarkRow[WM_COUNT][NUM_WM_RANGES]; 53 } Watermarks_t; 54 55 typedef struct { 56 Watermarks_t Watermarks; 57 58 uint32_t MmHubPadding[8]; // SMU internal use 59 } WatermarksExternal_t; 60 61 // Table types 62 #define TABLE_PPTABLE 0 63 #define TABLE_WATERMARKS 1 64 #define TABLE_AVFS_PSM_DEBUG 2 65 #define TABLE_AVFS_FUSE_OVERRIDE 3 66 #define TABLE_PMSTATUSLOG 4 67 #define TABLE_SMU_METRICS 5 68 #define TABLE_DRIVER_SMU_CONFIG 6 69 #define TABLE_ACTIVITY_MONITOR_COEFF 7 70 #define TABLE_OVERDRIVE 8 71 #define TABLE_I2C_COMMANDS 9 72 #define TABLE_PACE 10 73 #define TABLE_ECCINFO 11 74 #define TABLE_COUNT 12 75