1 /* 2 * Copyright 2019 Advanced Micro Devices, Inc. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 * and/or sell copies of the Software, and to permit persons to whom the 9 * Software is furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice shall be included in 12 * all copies or substantial portions of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20 * OTHER DEALINGS IN THE SOFTWARE. 21 */ 22 23 #ifndef __SMU_TYPES_H__ 24 #define __SMU_TYPES_H__ 25 26 #define SMU_MESSAGE_TYPES \ 27 __SMU_DUMMY_MAP(TestMessage), \ 28 __SMU_DUMMY_MAP(GetSmuVersion), \ 29 __SMU_DUMMY_MAP(GetDriverIfVersion), \ 30 __SMU_DUMMY_MAP(SetAllowedFeaturesMaskLow), \ 31 __SMU_DUMMY_MAP(SetAllowedFeaturesMaskHigh), \ 32 __SMU_DUMMY_MAP(EnableAllSmuFeatures), \ 33 __SMU_DUMMY_MAP(DisableAllSmuFeatures), \ 34 __SMU_DUMMY_MAP(EnableSmuFeaturesLow), \ 35 __SMU_DUMMY_MAP(EnableSmuFeaturesHigh), \ 36 __SMU_DUMMY_MAP(DisableSmuFeaturesLow), \ 37 __SMU_DUMMY_MAP(DisableSmuFeaturesHigh), \ 38 __SMU_DUMMY_MAP(GetEnabledSmuFeatures), \ 39 __SMU_DUMMY_MAP(GetEnabledSmuFeaturesLow), \ 40 __SMU_DUMMY_MAP(GetEnabledSmuFeaturesHigh), \ 41 __SMU_DUMMY_MAP(SetWorkloadMask), \ 42 __SMU_DUMMY_MAP(SetPptLimit), \ 43 __SMU_DUMMY_MAP(SetDriverDramAddrHigh), \ 44 __SMU_DUMMY_MAP(SetDriverDramAddrLow), \ 45 __SMU_DUMMY_MAP(SetToolsDramAddrHigh), \ 46 __SMU_DUMMY_MAP(SetToolsDramAddrLow), \ 47 __SMU_DUMMY_MAP(TransferTableSmu2Dram), \ 48 __SMU_DUMMY_MAP(TransferTableDram2Smu), \ 49 __SMU_DUMMY_MAP(UseDefaultPPTable), \ 50 __SMU_DUMMY_MAP(UseBackupPPTable), \ 51 __SMU_DUMMY_MAP(RunBtc), \ 52 __SMU_DUMMY_MAP(RequestI2CBus), \ 53 __SMU_DUMMY_MAP(ReleaseI2CBus), \ 54 __SMU_DUMMY_MAP(SetFloorSocVoltage), \ 55 __SMU_DUMMY_MAP(SoftReset), \ 56 __SMU_DUMMY_MAP(StartBacoMonitor), \ 57 __SMU_DUMMY_MAP(CancelBacoMonitor), \ 58 __SMU_DUMMY_MAP(EnterBaco), \ 59 __SMU_DUMMY_MAP(SetSoftMinByFreq), \ 60 __SMU_DUMMY_MAP(SetSoftMaxByFreq), \ 61 __SMU_DUMMY_MAP(SetHardMinByFreq), \ 62 __SMU_DUMMY_MAP(SetHardMaxByFreq), \ 63 __SMU_DUMMY_MAP(GetMinDpmFreq), \ 64 __SMU_DUMMY_MAP(GetMaxDpmFreq), \ 65 __SMU_DUMMY_MAP(GetDpmFreqByIndex), \ 66 __SMU_DUMMY_MAP(GetDpmClockFreq), \ 67 __SMU_DUMMY_MAP(GetSsVoltageByDpm), \ 68 __SMU_DUMMY_MAP(SetMemoryChannelConfig), \ 69 __SMU_DUMMY_MAP(SetGeminiMode), \ 70 __SMU_DUMMY_MAP(SetGeminiApertureHigh), \ 71 __SMU_DUMMY_MAP(SetGeminiApertureLow), \ 72 __SMU_DUMMY_MAP(SetMinLinkDpmByIndex), \ 73 __SMU_DUMMY_MAP(OverridePcieParameters), \ 74 __SMU_DUMMY_MAP(OverDriveSetPercentage), \ 75 __SMU_DUMMY_MAP(SetMinDeepSleepDcefclk), \ 76 __SMU_DUMMY_MAP(ReenableAcDcInterrupt), \ 77 __SMU_DUMMY_MAP(AllowIHHostInterrupt), \ 78 __SMU_DUMMY_MAP(NotifyPowerSource), \ 79 __SMU_DUMMY_MAP(SetUclkFastSwitch), \ 80 __SMU_DUMMY_MAP(SetUclkDownHyst), \ 81 __SMU_DUMMY_MAP(GfxDeviceDriverReset), \ 82 __SMU_DUMMY_MAP(GetCurrentRpm), \ 83 __SMU_DUMMY_MAP(SetVideoFps), \ 84 __SMU_DUMMY_MAP(SetTjMax), \ 85 __SMU_DUMMY_MAP(SetFanTemperatureTarget), \ 86 __SMU_DUMMY_MAP(PrepareMp1ForUnload), \ 87 __SMU_DUMMY_MAP(DramLogSetDramAddrHigh), \ 88 __SMU_DUMMY_MAP(DramLogSetDramAddrLow), \ 89 __SMU_DUMMY_MAP(DramLogSetDramSize), \ 90 __SMU_DUMMY_MAP(SetFanMaxRpm), \ 91 __SMU_DUMMY_MAP(SetFanMinPwm), \ 92 __SMU_DUMMY_MAP(ConfigureGfxDidt), \ 93 __SMU_DUMMY_MAP(NumOfDisplays), \ 94 __SMU_DUMMY_MAP(RemoveMargins), \ 95 __SMU_DUMMY_MAP(ReadSerialNumTop32), \ 96 __SMU_DUMMY_MAP(ReadSerialNumBottom32), \ 97 __SMU_DUMMY_MAP(SetSystemVirtualDramAddrHigh), \ 98 __SMU_DUMMY_MAP(SetSystemVirtualDramAddrLow), \ 99 __SMU_DUMMY_MAP(WaflTest), \ 100 __SMU_DUMMY_MAP(SetFclkGfxClkRatio), \ 101 __SMU_DUMMY_MAP(AllowGfxOff), \ 102 __SMU_DUMMY_MAP(DisallowGfxOff), \ 103 __SMU_DUMMY_MAP(GetPptLimit), \ 104 __SMU_DUMMY_MAP(GetDcModeMaxDpmFreq), \ 105 __SMU_DUMMY_MAP(GetDebugData), \ 106 __SMU_DUMMY_MAP(SetXgmiMode), \ 107 __SMU_DUMMY_MAP(RunAfllBtc), \ 108 __SMU_DUMMY_MAP(ExitBaco), \ 109 __SMU_DUMMY_MAP(PrepareMp1ForReset), \ 110 __SMU_DUMMY_MAP(PrepareMp1ForShutdown), \ 111 __SMU_DUMMY_MAP(SetMGpuFanBoostLimitRpm), \ 112 __SMU_DUMMY_MAP(GetAVFSVoltageByDpm), \ 113 __SMU_DUMMY_MAP(PowerUpVcn), \ 114 __SMU_DUMMY_MAP(PowerDownVcn), \ 115 __SMU_DUMMY_MAP(PowerUpJpeg), \ 116 __SMU_DUMMY_MAP(PowerDownJpeg), \ 117 __SMU_DUMMY_MAP(BacoAudioD3PME), \ 118 __SMU_DUMMY_MAP(ArmD3), \ 119 __SMU_DUMMY_MAP(RunDcBtc), \ 120 __SMU_DUMMY_MAP(RunGfxDcBtc), \ 121 __SMU_DUMMY_MAP(RunSocDcBtc), \ 122 __SMU_DUMMY_MAP(SetMemoryChannelEnable), \ 123 __SMU_DUMMY_MAP(SetDfSwitchType), \ 124 __SMU_DUMMY_MAP(GetVoltageByDpm), \ 125 __SMU_DUMMY_MAP(GetVoltageByDpmOverdrive), \ 126 __SMU_DUMMY_MAP(PowerUpVcn0), \ 127 __SMU_DUMMY_MAP(PowerDownVcn0), \ 128 __SMU_DUMMY_MAP(PowerUpVcn1), \ 129 __SMU_DUMMY_MAP(PowerDownVcn1), \ 130 __SMU_DUMMY_MAP(PowerUpGfx), \ 131 __SMU_DUMMY_MAP(PowerDownIspByTile), \ 132 __SMU_DUMMY_MAP(PowerUpIspByTile), \ 133 __SMU_DUMMY_MAP(PowerDownSdma), \ 134 __SMU_DUMMY_MAP(PowerUpSdma), \ 135 __SMU_DUMMY_MAP(SetHardMinIspclkByFreq), \ 136 __SMU_DUMMY_MAP(SetHardMinVcn), \ 137 __SMU_DUMMY_MAP(SetAllowFclkSwitch), \ 138 __SMU_DUMMY_MAP(SetMinVideoGfxclkFreq), \ 139 __SMU_DUMMY_MAP(ActiveProcessNotify), \ 140 __SMU_DUMMY_MAP(SetCustomPolicy), \ 141 __SMU_DUMMY_MAP(QueryPowerLimit), \ 142 __SMU_DUMMY_MAP(SetGfxclkOverdriveByFreqVid), \ 143 __SMU_DUMMY_MAP(SetHardMinDcfclkByFreq), \ 144 __SMU_DUMMY_MAP(SetHardMinSocclkByFreq), \ 145 __SMU_DUMMY_MAP(ControlIgpuATS), \ 146 __SMU_DUMMY_MAP(SetMinVideoFclkFreq), \ 147 __SMU_DUMMY_MAP(SetMinDeepSleepDcfclk), \ 148 __SMU_DUMMY_MAP(ForcePowerDownGfx), \ 149 __SMU_DUMMY_MAP(SetPhyclkVoltageByFreq), \ 150 __SMU_DUMMY_MAP(SetDppclkVoltageByFreq), \ 151 __SMU_DUMMY_MAP(SetSoftMinVcn), \ 152 __SMU_DUMMY_MAP(EnablePostCode), \ 153 __SMU_DUMMY_MAP(GetGfxclkFrequency), \ 154 __SMU_DUMMY_MAP(GetFclkFrequency), \ 155 __SMU_DUMMY_MAP(GetMinGfxclkFrequency), \ 156 __SMU_DUMMY_MAP(GetMaxGfxclkFrequency), \ 157 __SMU_DUMMY_MAP(SetGfxCGPG), \ 158 __SMU_DUMMY_MAP(SetSoftMaxGfxClk), \ 159 __SMU_DUMMY_MAP(SetHardMinGfxClk), \ 160 __SMU_DUMMY_MAP(SetSoftMaxSocclkByFreq), \ 161 __SMU_DUMMY_MAP(SetSoftMaxFclkByFreq), \ 162 __SMU_DUMMY_MAP(SetSoftMaxVcn), \ 163 __SMU_DUMMY_MAP(PowerGateMmHub), \ 164 __SMU_DUMMY_MAP(UpdatePmeRestore), \ 165 __SMU_DUMMY_MAP(GpuChangeState), \ 166 __SMU_DUMMY_MAP(SetPowerLimitPercentage), \ 167 __SMU_DUMMY_MAP(ForceGfxContentSave), \ 168 __SMU_DUMMY_MAP(EnableTmdp48MHzRefclkPwrDown),\ 169 __SMU_DUMMY_MAP(PowerGateAtHub), \ 170 __SMU_DUMMY_MAP(SetSoftMinJpeg), \ 171 __SMU_DUMMY_MAP(SetHardMinFclkByFreq), \ 172 __SMU_DUMMY_MAP(DFCstateControl), \ 173 __SMU_DUMMY_MAP(GmiPwrDnControl), \ 174 __SMU_DUMMY_MAP(spare), \ 175 __SMU_DUMMY_MAP(SetNumBadHbmPagesRetired), \ 176 __SMU_DUMMY_MAP(GetGmiPwrDnHyst), \ 177 __SMU_DUMMY_MAP(SetGmiPwrDnHyst), \ 178 __SMU_DUMMY_MAP(EnterGfxoff), \ 179 __SMU_DUMMY_MAP(ExitGfxoff), \ 180 __SMU_DUMMY_MAP(SetExecuteDMATest), \ 181 __SMU_DUMMY_MAP(DAL_DISABLE_DUMMY_PSTATE_CHANGE), \ 182 __SMU_DUMMY_MAP(DAL_ENABLE_DUMMY_PSTATE_CHANGE), \ 183 __SMU_DUMMY_MAP(SET_DRIVER_DUMMY_TABLE_DRAM_ADDR_HIGH), \ 184 __SMU_DUMMY_MAP(SET_DRIVER_DUMMY_TABLE_DRAM_ADDR_LOW), \ 185 __SMU_DUMMY_MAP(GET_UMC_FW_WA), \ 186 __SMU_DUMMY_MAP(Mode1Reset), \ 187 __SMU_DUMMY_MAP(RlcPowerNotify), \ 188 __SMU_DUMMY_MAP(SetHardMinIspiclkByFreq), \ 189 __SMU_DUMMY_MAP(SetHardMinIspxclkByFreq), \ 190 __SMU_DUMMY_MAP(SetSoftMinSocclkByFreq), \ 191 __SMU_DUMMY_MAP(PowerUpCvip), \ 192 __SMU_DUMMY_MAP(PowerDownCvip), \ 193 __SMU_DUMMY_MAP(EnableGfxOff), \ 194 __SMU_DUMMY_MAP(DisableGfxOff), \ 195 __SMU_DUMMY_MAP(SetSoftMinGfxclk), \ 196 __SMU_DUMMY_MAP(SetSoftMinFclk), \ 197 __SMU_DUMMY_MAP(GetThermalLimit), \ 198 __SMU_DUMMY_MAP(GetCurrentTemperature), \ 199 __SMU_DUMMY_MAP(GetCurrentPower), \ 200 __SMU_DUMMY_MAP(GetCurrentVoltage), \ 201 __SMU_DUMMY_MAP(GetCurrentCurrent), \ 202 __SMU_DUMMY_MAP(GetAverageCpuActivity), \ 203 __SMU_DUMMY_MAP(GetAverageGfxActivity), \ 204 __SMU_DUMMY_MAP(GetAveragePower), \ 205 __SMU_DUMMY_MAP(GetAverageTemperature), \ 206 __SMU_DUMMY_MAP(SetAveragePowerTimeConstant), \ 207 __SMU_DUMMY_MAP(SetAverageActivityTimeConstant), \ 208 __SMU_DUMMY_MAP(SetAverageTemperatureTimeConstant), \ 209 __SMU_DUMMY_MAP(SetMitigationEndHysteresis), \ 210 __SMU_DUMMY_MAP(GetCurrentFreq), \ 211 __SMU_DUMMY_MAP(SetReducedPptLimit), \ 212 __SMU_DUMMY_MAP(SetReducedThermalLimit), \ 213 __SMU_DUMMY_MAP(DramLogSetDramAddr), \ 214 __SMU_DUMMY_MAP(StartDramLogging), \ 215 __SMU_DUMMY_MAP(StopDramLogging), \ 216 __SMU_DUMMY_MAP(SetSoftMinCclk), \ 217 __SMU_DUMMY_MAP(SetSoftMaxCclk), \ 218 __SMU_DUMMY_MAP(SetGpoFeaturePMask), \ 219 __SMU_DUMMY_MAP(DisallowGpo), \ 220 __SMU_DUMMY_MAP(Enable2ndUSB20Port), \ 221 __SMU_DUMMY_MAP(RequestActiveWgp), \ 222 __SMU_DUMMY_MAP(SetFastPPTLimit), \ 223 __SMU_DUMMY_MAP(SetSlowPPTLimit), \ 224 __SMU_DUMMY_MAP(GetFastPPTLimit), \ 225 __SMU_DUMMY_MAP(GetSlowPPTLimit), \ 226 __SMU_DUMMY_MAP(EnableDeterminism), \ 227 __SMU_DUMMY_MAP(DisableDeterminism), \ 228 __SMU_DUMMY_MAP(SetUclkDpmMode), \ 229 __SMU_DUMMY_MAP(LightSBR), \ 230 __SMU_DUMMY_MAP(GfxDriverResetRecovery), \ 231 __SMU_DUMMY_MAP(BoardPowerCalibration), \ 232 __SMU_DUMMY_MAP(RequestGfxclk), \ 233 __SMU_DUMMY_MAP(ForceGfxVid), \ 234 __SMU_DUMMY_MAP(Spare0), \ 235 __SMU_DUMMY_MAP(UnforceGfxVid), \ 236 __SMU_DUMMY_MAP(HeavySBR), \ 237 __SMU_DUMMY_MAP(SetBadHBMPagesRetiredFlagsPerChannel), \ 238 __SMU_DUMMY_MAP(EnableGfxImu), \ 239 __SMU_DUMMY_MAP(DriverMode2Reset), \ 240 __SMU_DUMMY_MAP(GetGfxOffStatus), \ 241 __SMU_DUMMY_MAP(GetGfxOffEntryCount), \ 242 __SMU_DUMMY_MAP(LogGfxOffResidency), \ 243 __SMU_DUMMY_MAP(SetNumBadMemoryPagesRetired), \ 244 __SMU_DUMMY_MAP(SetBadMemoryPagesRetiredFlagsPerChannel), \ 245 __SMU_DUMMY_MAP(AllowGpo), 246 247 #undef __SMU_DUMMY_MAP 248 #define __SMU_DUMMY_MAP(type) SMU_MSG_##type 249 enum smu_message_type { 250 SMU_MESSAGE_TYPES 251 SMU_MSG_MAX_COUNT, 252 }; 253 254 enum smu_clk_type { 255 SMU_GFXCLK, 256 SMU_VCLK, 257 SMU_DCLK, 258 SMU_VCLK1, 259 SMU_DCLK1, 260 SMU_ECLK, 261 SMU_SOCCLK, 262 SMU_UCLK, 263 SMU_DCEFCLK, 264 SMU_DISPCLK, 265 SMU_PIXCLK, 266 SMU_PHYCLK, 267 SMU_FCLK, 268 SMU_SCLK, 269 SMU_MCLK, 270 SMU_PCIE, 271 SMU_LCLK, 272 SMU_OD_CCLK, 273 SMU_OD_SCLK, 274 SMU_OD_MCLK, 275 SMU_OD_VDDC_CURVE, 276 SMU_OD_RANGE, 277 SMU_OD_VDDGFX_OFFSET, 278 SMU_CLK_COUNT, 279 }; 280 281 #define SMU_FEATURE_MASKS \ 282 __SMU_DUMMY_MAP(DPM_PREFETCHER), \ 283 __SMU_DUMMY_MAP(DPM_GFXCLK), \ 284 __SMU_DUMMY_MAP(DPM_UCLK), \ 285 __SMU_DUMMY_MAP(DPM_SOCCLK), \ 286 __SMU_DUMMY_MAP(DPM_UVD), \ 287 __SMU_DUMMY_MAP(DPM_VCE), \ 288 __SMU_DUMMY_MAP(DPM_LCLK), \ 289 __SMU_DUMMY_MAP(ULV), \ 290 __SMU_DUMMY_MAP(DPM_MP0CLK), \ 291 __SMU_DUMMY_MAP(DPM_LINK), \ 292 __SMU_DUMMY_MAP(DPM_DCEFCLK), \ 293 __SMU_DUMMY_MAP(DPM_XGMI), \ 294 __SMU_DUMMY_MAP(DS_GFXCLK), \ 295 __SMU_DUMMY_MAP(DS_SOCCLK), \ 296 __SMU_DUMMY_MAP(DS_LCLK), \ 297 __SMU_DUMMY_MAP(PPT), \ 298 __SMU_DUMMY_MAP(TDC), \ 299 __SMU_DUMMY_MAP(THERMAL), \ 300 __SMU_DUMMY_MAP(GFX_PER_CU_CG), \ 301 __SMU_DUMMY_MAP(DATA_CALCULATIONS), \ 302 __SMU_DUMMY_MAP(RM), \ 303 __SMU_DUMMY_MAP(DS_DCEFCLK), \ 304 __SMU_DUMMY_MAP(ACDC), \ 305 __SMU_DUMMY_MAP(VR0HOT), \ 306 __SMU_DUMMY_MAP(VR1HOT), \ 307 __SMU_DUMMY_MAP(FW_CTF), \ 308 __SMU_DUMMY_MAP(LED_DISPLAY), \ 309 __SMU_DUMMY_MAP(FAN_CONTROL), \ 310 __SMU_DUMMY_MAP(GFX_EDC), \ 311 __SMU_DUMMY_MAP(GFXOFF), \ 312 __SMU_DUMMY_MAP(CG), \ 313 __SMU_DUMMY_MAP(DPM_FCLK), \ 314 __SMU_DUMMY_MAP(DS_FCLK), \ 315 __SMU_DUMMY_MAP(DS_MP1CLK), \ 316 __SMU_DUMMY_MAP(DS_MP0CLK), \ 317 __SMU_DUMMY_MAP(XGMI_PER_LINK_PWR_DWN), \ 318 __SMU_DUMMY_MAP(DPM_GFX_PACE), \ 319 __SMU_DUMMY_MAP(MEM_VDDCI_SCALING), \ 320 __SMU_DUMMY_MAP(MEM_MVDD_SCALING), \ 321 __SMU_DUMMY_MAP(DS_UCLK), \ 322 __SMU_DUMMY_MAP(GFX_ULV), \ 323 __SMU_DUMMY_MAP(FW_DSTATE), \ 324 __SMU_DUMMY_MAP(BACO), \ 325 __SMU_DUMMY_MAP(VCN_PG), \ 326 __SMU_DUMMY_MAP(MM_DPM_PG), \ 327 __SMU_DUMMY_MAP(JPEG_PG), \ 328 __SMU_DUMMY_MAP(USB_PG), \ 329 __SMU_DUMMY_MAP(RSMU_SMN_CG), \ 330 __SMU_DUMMY_MAP(APCC_PLUS), \ 331 __SMU_DUMMY_MAP(GTHR), \ 332 __SMU_DUMMY_MAP(GFX_DCS), \ 333 __SMU_DUMMY_MAP(GFX_SS), \ 334 __SMU_DUMMY_MAP(OUT_OF_BAND_MONITOR), \ 335 __SMU_DUMMY_MAP(TEMP_DEPENDENT_VMIN), \ 336 __SMU_DUMMY_MAP(MMHUB_PG), \ 337 __SMU_DUMMY_MAP(ATHUB_PG), \ 338 __SMU_DUMMY_MAP(APCC_DFLL), \ 339 __SMU_DUMMY_MAP(DF_CSTATE), \ 340 __SMU_DUMMY_MAP(DPM_GFX_GPO), \ 341 __SMU_DUMMY_MAP(WAFL_CG), \ 342 __SMU_DUMMY_MAP(CCLK_DPM), \ 343 __SMU_DUMMY_MAP(FAN_CONTROLLER), \ 344 __SMU_DUMMY_MAP(VCN_DPM), \ 345 __SMU_DUMMY_MAP(LCLK_DPM), \ 346 __SMU_DUMMY_MAP(SHUBCLK_DPM), \ 347 __SMU_DUMMY_MAP(DCFCLK_DPM), \ 348 __SMU_DUMMY_MAP(DS_DCFCLK), \ 349 __SMU_DUMMY_MAP(S0I2), \ 350 __SMU_DUMMY_MAP(SMU_LOW_POWER), \ 351 __SMU_DUMMY_MAP(GFX_DEM), \ 352 __SMU_DUMMY_MAP(PSI), \ 353 __SMU_DUMMY_MAP(PROCHOT), \ 354 __SMU_DUMMY_MAP(CPUOFF), \ 355 __SMU_DUMMY_MAP(STAPM), \ 356 __SMU_DUMMY_MAP(S0I3), \ 357 __SMU_DUMMY_MAP(DF_CSTATES), \ 358 __SMU_DUMMY_MAP(PERF_LIMIT), \ 359 __SMU_DUMMY_MAP(CORE_DLDO), \ 360 __SMU_DUMMY_MAP(RSMU_LOW_POWER), \ 361 __SMU_DUMMY_MAP(SMN_LOW_POWER), \ 362 __SMU_DUMMY_MAP(THM_LOW_POWER), \ 363 __SMU_DUMMY_MAP(SMUIO_LOW_POWER), \ 364 __SMU_DUMMY_MAP(MP1_LOW_POWER), \ 365 __SMU_DUMMY_MAP(DS_VCN), \ 366 __SMU_DUMMY_MAP(CPPC), \ 367 __SMU_DUMMY_MAP(OS_CSTATES), \ 368 __SMU_DUMMY_MAP(ISP_DPM), \ 369 __SMU_DUMMY_MAP(A55_DPM), \ 370 __SMU_DUMMY_MAP(CVIP_DSP_DPM), \ 371 __SMU_DUMMY_MAP(MSMU_LOW_POWER), \ 372 __SMU_DUMMY_MAP(FUSE_CG), \ 373 __SMU_DUMMY_MAP(MP1_CG), \ 374 __SMU_DUMMY_MAP(SMUIO_CG), \ 375 __SMU_DUMMY_MAP(THM_CG), \ 376 __SMU_DUMMY_MAP(CLK_CG), \ 377 __SMU_DUMMY_MAP(DATA_CALCULATION), \ 378 __SMU_DUMMY_MAP(DPM_VCLK), \ 379 __SMU_DUMMY_MAP(DPM_DCLK), \ 380 __SMU_DUMMY_MAP(FW_DATA_READ), \ 381 __SMU_DUMMY_MAP(DPM_GFX_POWER_OPTIMIZER), \ 382 __SMU_DUMMY_MAP(DPM_DCN), \ 383 __SMU_DUMMY_MAP(VMEMP_SCALING), \ 384 __SMU_DUMMY_MAP(VDDIO_MEM_SCALING), \ 385 __SMU_DUMMY_MAP(MM_DPM), \ 386 __SMU_DUMMY_MAP(SOC_MPCLK_DS), \ 387 __SMU_DUMMY_MAP(BACO_MPCLK_DS), \ 388 __SMU_DUMMY_MAP(THROTTLERS), \ 389 __SMU_DUMMY_MAP(SMARTSHIFT), \ 390 __SMU_DUMMY_MAP(GFX_READ_MARGIN), \ 391 __SMU_DUMMY_MAP(GFX_IMU), \ 392 __SMU_DUMMY_MAP(GFX_PCC_DFLL), \ 393 __SMU_DUMMY_MAP(BOOT_TIME_CAL), \ 394 __SMU_DUMMY_MAP(BOOT_POWER_OPT), \ 395 __SMU_DUMMY_MAP(GFXCLK_SPREAD_SPECTRUM), \ 396 __SMU_DUMMY_MAP(SOC_PCC), \ 397 __SMU_DUMMY_MAP(OPTIMIZED_VMIN), \ 398 __SMU_DUMMY_MAP(CLOCK_POWER_DOWN_BYPASS), \ 399 __SMU_DUMMY_MAP(MEM_TEMP_READ), \ 400 __SMU_DUMMY_MAP(ATHUB_MMHUB_PG), \ 401 __SMU_DUMMY_MAP(BACO_CG), \ 402 __SMU_DUMMY_MAP(SOC_CG), 403 404 #undef __SMU_DUMMY_MAP 405 #define __SMU_DUMMY_MAP(feature) SMU_FEATURE_##feature##_BIT 406 enum smu_feature_mask { 407 SMU_FEATURE_MASKS 408 SMU_FEATURE_COUNT, 409 }; 410 411 #endif 412