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(GetCTFLimit), \ 88 __SMU_DUMMY_MAP(DramLogSetDramAddrHigh), \ 89 __SMU_DUMMY_MAP(DramLogSetDramAddrLow), \ 90 __SMU_DUMMY_MAP(DramLogSetDramSize), \ 91 __SMU_DUMMY_MAP(SetFanMaxRpm), \ 92 __SMU_DUMMY_MAP(SetFanMinPwm), \ 93 __SMU_DUMMY_MAP(ConfigureGfxDidt), \ 94 __SMU_DUMMY_MAP(NumOfDisplays), \ 95 __SMU_DUMMY_MAP(RemoveMargins), \ 96 __SMU_DUMMY_MAP(ReadSerialNumTop32), \ 97 __SMU_DUMMY_MAP(ReadSerialNumBottom32), \ 98 __SMU_DUMMY_MAP(SetSystemVirtualDramAddrHigh), \ 99 __SMU_DUMMY_MAP(SetSystemVirtualDramAddrLow), \ 100 __SMU_DUMMY_MAP(WaflTest), \ 101 __SMU_DUMMY_MAP(SetFclkGfxClkRatio), \ 102 __SMU_DUMMY_MAP(AllowGfxOff), \ 103 __SMU_DUMMY_MAP(DisallowGfxOff), \ 104 __SMU_DUMMY_MAP(GetPptLimit), \ 105 __SMU_DUMMY_MAP(GetDcModeMaxDpmFreq), \ 106 __SMU_DUMMY_MAP(GetDebugData), \ 107 __SMU_DUMMY_MAP(SetXgmiMode), \ 108 __SMU_DUMMY_MAP(RunAfllBtc), \ 109 __SMU_DUMMY_MAP(ExitBaco), \ 110 __SMU_DUMMY_MAP(PrepareMp1ForReset), \ 111 __SMU_DUMMY_MAP(PrepareMp1ForShutdown), \ 112 __SMU_DUMMY_MAP(SetMGpuFanBoostLimitRpm), \ 113 __SMU_DUMMY_MAP(GetAVFSVoltageByDpm), \ 114 __SMU_DUMMY_MAP(PowerUpVcn), \ 115 __SMU_DUMMY_MAP(PowerDownVcn), \ 116 __SMU_DUMMY_MAP(PowerUpJpeg), \ 117 __SMU_DUMMY_MAP(PowerDownJpeg), \ 118 __SMU_DUMMY_MAP(PowerUpJpeg0), \ 119 __SMU_DUMMY_MAP(PowerDownJpeg0), \ 120 __SMU_DUMMY_MAP(PowerUpJpeg1), \ 121 __SMU_DUMMY_MAP(PowerDownJpeg1), \ 122 __SMU_DUMMY_MAP(BacoAudioD3PME), \ 123 __SMU_DUMMY_MAP(ArmD3), \ 124 __SMU_DUMMY_MAP(RunDcBtc), \ 125 __SMU_DUMMY_MAP(RunGfxDcBtc), \ 126 __SMU_DUMMY_MAP(RunSocDcBtc), \ 127 __SMU_DUMMY_MAP(SetMemoryChannelEnable), \ 128 __SMU_DUMMY_MAP(SetDfSwitchType), \ 129 __SMU_DUMMY_MAP(GetVoltageByDpm), \ 130 __SMU_DUMMY_MAP(GetVoltageByDpmOverdrive), \ 131 __SMU_DUMMY_MAP(PowerUpVcn0), \ 132 __SMU_DUMMY_MAP(PowerDownVcn0), \ 133 __SMU_DUMMY_MAP(PowerUpVcn1), \ 134 __SMU_DUMMY_MAP(PowerDownVcn1), \ 135 __SMU_DUMMY_MAP(PowerUpGfx), \ 136 __SMU_DUMMY_MAP(PowerDownIspByTile), \ 137 __SMU_DUMMY_MAP(PowerUpIspByTile), \ 138 __SMU_DUMMY_MAP(PowerDownSdma), \ 139 __SMU_DUMMY_MAP(PowerUpSdma), \ 140 __SMU_DUMMY_MAP(SetHardMinIspclkByFreq), \ 141 __SMU_DUMMY_MAP(SetHardMinVcn), \ 142 __SMU_DUMMY_MAP(SetHardMinVcn0), \ 143 __SMU_DUMMY_MAP(SetHardMinVcn1), \ 144 __SMU_DUMMY_MAP(SetAllowFclkSwitch), \ 145 __SMU_DUMMY_MAP(SetMinVideoGfxclkFreq), \ 146 __SMU_DUMMY_MAP(ActiveProcessNotify), \ 147 __SMU_DUMMY_MAP(SetCustomPolicy), \ 148 __SMU_DUMMY_MAP(QueryPowerLimit), \ 149 __SMU_DUMMY_MAP(SetGfxclkOverdriveByFreqVid), \ 150 __SMU_DUMMY_MAP(SetHardMinDcfclkByFreq), \ 151 __SMU_DUMMY_MAP(SetHardMinSocclkByFreq), \ 152 __SMU_DUMMY_MAP(ControlIgpuATS), \ 153 __SMU_DUMMY_MAP(SetMinVideoFclkFreq), \ 154 __SMU_DUMMY_MAP(SetMinDeepSleepDcfclk), \ 155 __SMU_DUMMY_MAP(ForcePowerDownGfx), \ 156 __SMU_DUMMY_MAP(SetPhyclkVoltageByFreq), \ 157 __SMU_DUMMY_MAP(SetDppclkVoltageByFreq), \ 158 __SMU_DUMMY_MAP(SetSoftMinVcn), \ 159 __SMU_DUMMY_MAP(SetSoftMinVcn0), \ 160 __SMU_DUMMY_MAP(SetSoftMinVcn1), \ 161 __SMU_DUMMY_MAP(EnablePostCode), \ 162 __SMU_DUMMY_MAP(GetGfxclkFrequency), \ 163 __SMU_DUMMY_MAP(GetFclkFrequency), \ 164 __SMU_DUMMY_MAP(GetMinGfxclkFrequency), \ 165 __SMU_DUMMY_MAP(GetMaxGfxclkFrequency), \ 166 __SMU_DUMMY_MAP(SetGfxCGPG), \ 167 __SMU_DUMMY_MAP(SetSoftMaxGfxClk), \ 168 __SMU_DUMMY_MAP(SetHardMinGfxClk), \ 169 __SMU_DUMMY_MAP(SetSoftMaxSocclkByFreq), \ 170 __SMU_DUMMY_MAP(SetSoftMaxFclkByFreq), \ 171 __SMU_DUMMY_MAP(SetSoftMaxVcn), \ 172 __SMU_DUMMY_MAP(SetSoftMaxVcn0), \ 173 __SMU_DUMMY_MAP(SetSoftMaxVcn1), \ 174 __SMU_DUMMY_MAP(PowerGateMmHub), \ 175 __SMU_DUMMY_MAP(UpdatePmeRestore), \ 176 __SMU_DUMMY_MAP(GpuChangeState), \ 177 __SMU_DUMMY_MAP(SetPowerLimitPercentage), \ 178 __SMU_DUMMY_MAP(ForceGfxContentSave), \ 179 __SMU_DUMMY_MAP(EnableTmdp48MHzRefclkPwrDown),\ 180 __SMU_DUMMY_MAP(PowerGateAtHub), \ 181 __SMU_DUMMY_MAP(SetSoftMinJpeg), \ 182 __SMU_DUMMY_MAP(SetHardMinFclkByFreq), \ 183 __SMU_DUMMY_MAP(DFCstateControl), \ 184 __SMU_DUMMY_MAP(GmiPwrDnControl), \ 185 __SMU_DUMMY_MAP(spare), \ 186 __SMU_DUMMY_MAP(SetNumBadHbmPagesRetired), \ 187 __SMU_DUMMY_MAP(GetGmiPwrDnHyst), \ 188 __SMU_DUMMY_MAP(SetGmiPwrDnHyst), \ 189 __SMU_DUMMY_MAP(EnterGfxoff), \ 190 __SMU_DUMMY_MAP(ExitGfxoff), \ 191 __SMU_DUMMY_MAP(SetExecuteDMATest), \ 192 __SMU_DUMMY_MAP(DAL_DISABLE_DUMMY_PSTATE_CHANGE), \ 193 __SMU_DUMMY_MAP(DAL_ENABLE_DUMMY_PSTATE_CHANGE), \ 194 __SMU_DUMMY_MAP(SET_DRIVER_DUMMY_TABLE_DRAM_ADDR_HIGH), \ 195 __SMU_DUMMY_MAP(SET_DRIVER_DUMMY_TABLE_DRAM_ADDR_LOW), \ 196 __SMU_DUMMY_MAP(GET_UMC_FW_WA), \ 197 __SMU_DUMMY_MAP(Mode1Reset), \ 198 __SMU_DUMMY_MAP(RlcPowerNotify), \ 199 __SMU_DUMMY_MAP(SetHardMinIspiclkByFreq), \ 200 __SMU_DUMMY_MAP(SetHardMinIspxclkByFreq), \ 201 __SMU_DUMMY_MAP(SetSoftMinSocclkByFreq), \ 202 __SMU_DUMMY_MAP(PowerUpCvip), \ 203 __SMU_DUMMY_MAP(PowerDownCvip), \ 204 __SMU_DUMMY_MAP(EnableGfxOff), \ 205 __SMU_DUMMY_MAP(DisableGfxOff), \ 206 __SMU_DUMMY_MAP(SetSoftMinGfxclk), \ 207 __SMU_DUMMY_MAP(SetSoftMinFclk), \ 208 __SMU_DUMMY_MAP(GetThermalLimit), \ 209 __SMU_DUMMY_MAP(GetCurrentTemperature), \ 210 __SMU_DUMMY_MAP(GetCurrentPower), \ 211 __SMU_DUMMY_MAP(GetCurrentVoltage), \ 212 __SMU_DUMMY_MAP(GetCurrentCurrent), \ 213 __SMU_DUMMY_MAP(GetAverageCpuActivity), \ 214 __SMU_DUMMY_MAP(GetAverageGfxActivity), \ 215 __SMU_DUMMY_MAP(GetAveragePower), \ 216 __SMU_DUMMY_MAP(GetAverageTemperature), \ 217 __SMU_DUMMY_MAP(SetAveragePowerTimeConstant), \ 218 __SMU_DUMMY_MAP(SetAverageActivityTimeConstant), \ 219 __SMU_DUMMY_MAP(SetAverageTemperatureTimeConstant), \ 220 __SMU_DUMMY_MAP(SetMitigationEndHysteresis), \ 221 __SMU_DUMMY_MAP(GetCurrentFreq), \ 222 __SMU_DUMMY_MAP(SetReducedPptLimit), \ 223 __SMU_DUMMY_MAP(SetReducedThermalLimit), \ 224 __SMU_DUMMY_MAP(DramLogSetDramAddr), \ 225 __SMU_DUMMY_MAP(StartDramLogging), \ 226 __SMU_DUMMY_MAP(StopDramLogging), \ 227 __SMU_DUMMY_MAP(SetSoftMinCclk), \ 228 __SMU_DUMMY_MAP(SetSoftMaxCclk), \ 229 __SMU_DUMMY_MAP(SetGpoFeaturePMask), \ 230 __SMU_DUMMY_MAP(DisallowGpo), \ 231 __SMU_DUMMY_MAP(Enable2ndUSB20Port), \ 232 __SMU_DUMMY_MAP(RequestActiveWgp), \ 233 __SMU_DUMMY_MAP(SetFastPPTLimit), \ 234 __SMU_DUMMY_MAP(SetSlowPPTLimit), \ 235 __SMU_DUMMY_MAP(GetFastPPTLimit), \ 236 __SMU_DUMMY_MAP(GetSlowPPTLimit), \ 237 __SMU_DUMMY_MAP(EnableDeterminism), \ 238 __SMU_DUMMY_MAP(DisableDeterminism), \ 239 __SMU_DUMMY_MAP(SetUclkDpmMode), \ 240 __SMU_DUMMY_MAP(LightSBR), \ 241 __SMU_DUMMY_MAP(GfxDriverResetRecovery), \ 242 __SMU_DUMMY_MAP(BoardPowerCalibration), \ 243 __SMU_DUMMY_MAP(RequestGfxclk), \ 244 __SMU_DUMMY_MAP(ForceGfxVid), \ 245 __SMU_DUMMY_MAP(Spare0), \ 246 __SMU_DUMMY_MAP(UnforceGfxVid), \ 247 __SMU_DUMMY_MAP(HeavySBR), \ 248 __SMU_DUMMY_MAP(SetBadHBMPagesRetiredFlagsPerChannel), \ 249 __SMU_DUMMY_MAP(EnableGfxImu), \ 250 __SMU_DUMMY_MAP(DriverMode2Reset), \ 251 __SMU_DUMMY_MAP(GetGfxOffStatus), \ 252 __SMU_DUMMY_MAP(GetGfxOffEntryCount), \ 253 __SMU_DUMMY_MAP(LogGfxOffResidency), \ 254 __SMU_DUMMY_MAP(SetNumBadMemoryPagesRetired), \ 255 __SMU_DUMMY_MAP(SetBadMemoryPagesRetiredFlagsPerChannel), \ 256 __SMU_DUMMY_MAP(AllowGpo), \ 257 __SMU_DUMMY_MAP(Mode2Reset), \ 258 __SMU_DUMMY_MAP(RequestI2cTransaction), \ 259 __SMU_DUMMY_MAP(GetMetricsTable), \ 260 __SMU_DUMMY_MAP(DALNotPresent), \ 261 __SMU_DUMMY_MAP(ClearMcaOnRead), \ 262 __SMU_DUMMY_MAP(QueryValidMcaCount), \ 263 __SMU_DUMMY_MAP(QueryValidMcaCeCount), \ 264 __SMU_DUMMY_MAP(McaBankDumpDW), \ 265 __SMU_DUMMY_MAP(McaBankCeDumpDW), \ 266 __SMU_DUMMY_MAP(SelectPLPDMode), \ 267 __SMU_DUMMY_MAP(PowerUpVpe), \ 268 __SMU_DUMMY_MAP(PowerDownVpe), \ 269 __SMU_DUMMY_MAP(PowerUpUmsch), \ 270 __SMU_DUMMY_MAP(PowerDownUmsch), \ 271 __SMU_DUMMY_MAP(SetSoftMaxVpe), \ 272 __SMU_DUMMY_MAP(SetSoftMinVpe), \ 273 __SMU_DUMMY_MAP(GetMetricsVersion), \ 274 __SMU_DUMMY_MAP(EnableUCLKShadow), \ 275 __SMU_DUMMY_MAP(RmaDueToBadPageThreshold), \ 276 __SMU_DUMMY_MAP(SelectPstatePolicy), \ 277 __SMU_DUMMY_MAP(MALLPowerController), \ 278 __SMU_DUMMY_MAP(MALLPowerState), 279 280 #undef __SMU_DUMMY_MAP 281 #define __SMU_DUMMY_MAP(type) SMU_MSG_##type 282 enum smu_message_type { 283 SMU_MESSAGE_TYPES 284 SMU_MSG_MAX_COUNT, 285 }; 286 287 enum smu_clk_type { 288 SMU_GFXCLK, 289 SMU_VCLK, 290 SMU_DCLK, 291 SMU_VCLK1, 292 SMU_DCLK1, 293 SMU_ECLK, 294 SMU_SOCCLK, 295 SMU_UCLK, 296 SMU_DCEFCLK, 297 SMU_DISPCLK, 298 SMU_PIXCLK, 299 SMU_PHYCLK, 300 SMU_FCLK, 301 SMU_SCLK, 302 SMU_MCLK, 303 SMU_PCIE, 304 SMU_LCLK, 305 SMU_OD_CCLK, 306 SMU_OD_SCLK, 307 SMU_OD_MCLK, 308 SMU_OD_VDDC_CURVE, 309 SMU_OD_RANGE, 310 SMU_OD_VDDGFX_OFFSET, 311 SMU_OD_FAN_CURVE, 312 SMU_OD_ACOUSTIC_LIMIT, 313 SMU_OD_ACOUSTIC_TARGET, 314 SMU_OD_FAN_TARGET_TEMPERATURE, 315 SMU_OD_FAN_MINIMUM_PWM, 316 SMU_CLK_COUNT, 317 }; 318 319 #define SMU_FEATURE_MASKS \ 320 __SMU_DUMMY_MAP(DPM_PREFETCHER), \ 321 __SMU_DUMMY_MAP(DPM_GFXCLK), \ 322 __SMU_DUMMY_MAP(DPM_UCLK), \ 323 __SMU_DUMMY_MAP(DPM_SOCCLK), \ 324 __SMU_DUMMY_MAP(DPM_UVD), \ 325 __SMU_DUMMY_MAP(DPM_VCE), \ 326 __SMU_DUMMY_MAP(DPM_LCLK), \ 327 __SMU_DUMMY_MAP(ULV), \ 328 __SMU_DUMMY_MAP(DPM_MP0CLK), \ 329 __SMU_DUMMY_MAP(DPM_LINK), \ 330 __SMU_DUMMY_MAP(DPM_DCEFCLK), \ 331 __SMU_DUMMY_MAP(DPM_XGMI), \ 332 __SMU_DUMMY_MAP(DS_GFXCLK), \ 333 __SMU_DUMMY_MAP(DS_SOCCLK), \ 334 __SMU_DUMMY_MAP(DS_LCLK), \ 335 __SMU_DUMMY_MAP(PPT), \ 336 __SMU_DUMMY_MAP(TDC), \ 337 __SMU_DUMMY_MAP(THERMAL), \ 338 __SMU_DUMMY_MAP(GFX_PER_CU_CG), \ 339 __SMU_DUMMY_MAP(DATA_CALCULATIONS), \ 340 __SMU_DUMMY_MAP(RM), \ 341 __SMU_DUMMY_MAP(DS_DCEFCLK), \ 342 __SMU_DUMMY_MAP(ACDC), \ 343 __SMU_DUMMY_MAP(VR0HOT), \ 344 __SMU_DUMMY_MAP(VR1HOT), \ 345 __SMU_DUMMY_MAP(FW_CTF), \ 346 __SMU_DUMMY_MAP(LED_DISPLAY), \ 347 __SMU_DUMMY_MAP(FAN_CONTROL), \ 348 __SMU_DUMMY_MAP(GFX_EDC), \ 349 __SMU_DUMMY_MAP(GFXOFF), \ 350 __SMU_DUMMY_MAP(CG), \ 351 __SMU_DUMMY_MAP(DPM_FCLK), \ 352 __SMU_DUMMY_MAP(DS_FCLK), \ 353 __SMU_DUMMY_MAP(DS_MP1CLK), \ 354 __SMU_DUMMY_MAP(DS_MP0CLK), \ 355 __SMU_DUMMY_MAP(XGMI_PER_LINK_PWR_DWN), \ 356 __SMU_DUMMY_MAP(DPM_GFX_PACE), \ 357 __SMU_DUMMY_MAP(MEM_VDDCI_SCALING), \ 358 __SMU_DUMMY_MAP(MEM_MVDD_SCALING), \ 359 __SMU_DUMMY_MAP(DS_UCLK), \ 360 __SMU_DUMMY_MAP(GFX_ULV), \ 361 __SMU_DUMMY_MAP(FW_DSTATE), \ 362 __SMU_DUMMY_MAP(BACO), \ 363 __SMU_DUMMY_MAP(VCN_PG), \ 364 __SMU_DUMMY_MAP(MM_DPM_PG), \ 365 __SMU_DUMMY_MAP(JPEG_PG), \ 366 __SMU_DUMMY_MAP(USB_PG), \ 367 __SMU_DUMMY_MAP(RSMU_SMN_CG), \ 368 __SMU_DUMMY_MAP(APCC_PLUS), \ 369 __SMU_DUMMY_MAP(GTHR), \ 370 __SMU_DUMMY_MAP(GFX_DCS), \ 371 __SMU_DUMMY_MAP(GFX_SS), \ 372 __SMU_DUMMY_MAP(OUT_OF_BAND_MONITOR), \ 373 __SMU_DUMMY_MAP(TEMP_DEPENDENT_VMIN), \ 374 __SMU_DUMMY_MAP(MMHUB_PG), \ 375 __SMU_DUMMY_MAP(ATHUB_PG), \ 376 __SMU_DUMMY_MAP(APCC_DFLL), \ 377 __SMU_DUMMY_MAP(DF_CSTATE), \ 378 __SMU_DUMMY_MAP(DPM_GFX_GPO), \ 379 __SMU_DUMMY_MAP(WAFL_CG), \ 380 __SMU_DUMMY_MAP(CCLK_DPM), \ 381 __SMU_DUMMY_MAP(FAN_CONTROLLER), \ 382 __SMU_DUMMY_MAP(VCN_DPM), \ 383 __SMU_DUMMY_MAP(LCLK_DPM), \ 384 __SMU_DUMMY_MAP(SHUBCLK_DPM), \ 385 __SMU_DUMMY_MAP(DCFCLK_DPM), \ 386 __SMU_DUMMY_MAP(DS_DCFCLK), \ 387 __SMU_DUMMY_MAP(S0I2), \ 388 __SMU_DUMMY_MAP(SMU_LOW_POWER), \ 389 __SMU_DUMMY_MAP(GFX_DEM), \ 390 __SMU_DUMMY_MAP(PSI), \ 391 __SMU_DUMMY_MAP(PROCHOT), \ 392 __SMU_DUMMY_MAP(CPUOFF), \ 393 __SMU_DUMMY_MAP(STAPM), \ 394 __SMU_DUMMY_MAP(S0I3), \ 395 __SMU_DUMMY_MAP(DF_CSTATES), \ 396 __SMU_DUMMY_MAP(PERF_LIMIT), \ 397 __SMU_DUMMY_MAP(CORE_DLDO), \ 398 __SMU_DUMMY_MAP(RSMU_LOW_POWER), \ 399 __SMU_DUMMY_MAP(SMN_LOW_POWER), \ 400 __SMU_DUMMY_MAP(THM_LOW_POWER), \ 401 __SMU_DUMMY_MAP(SMUIO_LOW_POWER), \ 402 __SMU_DUMMY_MAP(MP1_LOW_POWER), \ 403 __SMU_DUMMY_MAP(DS_VCN), \ 404 __SMU_DUMMY_MAP(CPPC), \ 405 __SMU_DUMMY_MAP(OS_CSTATES), \ 406 __SMU_DUMMY_MAP(ISP_DPM), \ 407 __SMU_DUMMY_MAP(A55_DPM), \ 408 __SMU_DUMMY_MAP(CVIP_DSP_DPM), \ 409 __SMU_DUMMY_MAP(MSMU_LOW_POWER), \ 410 __SMU_DUMMY_MAP(FUSE_CG), \ 411 __SMU_DUMMY_MAP(MP1_CG), \ 412 __SMU_DUMMY_MAP(SMUIO_CG), \ 413 __SMU_DUMMY_MAP(THM_CG), \ 414 __SMU_DUMMY_MAP(CLK_CG), \ 415 __SMU_DUMMY_MAP(DATA_CALCULATION), \ 416 __SMU_DUMMY_MAP(DPM_VCLK), \ 417 __SMU_DUMMY_MAP(DPM_DCLK), \ 418 __SMU_DUMMY_MAP(FW_DATA_READ), \ 419 __SMU_DUMMY_MAP(DPM_GFX_POWER_OPTIMIZER), \ 420 __SMU_DUMMY_MAP(DPM_DCN), \ 421 __SMU_DUMMY_MAP(VMEMP_SCALING), \ 422 __SMU_DUMMY_MAP(VDDIO_MEM_SCALING), \ 423 __SMU_DUMMY_MAP(MM_DPM), \ 424 __SMU_DUMMY_MAP(SOC_MPCLK_DS), \ 425 __SMU_DUMMY_MAP(BACO_MPCLK_DS), \ 426 __SMU_DUMMY_MAP(THROTTLERS), \ 427 __SMU_DUMMY_MAP(SMARTSHIFT), \ 428 __SMU_DUMMY_MAP(GFX_READ_MARGIN), \ 429 __SMU_DUMMY_MAP(GFX_IMU), \ 430 __SMU_DUMMY_MAP(GFX_PCC_DFLL), \ 431 __SMU_DUMMY_MAP(BOOT_TIME_CAL), \ 432 __SMU_DUMMY_MAP(BOOT_POWER_OPT), \ 433 __SMU_DUMMY_MAP(GFXCLK_SPREAD_SPECTRUM), \ 434 __SMU_DUMMY_MAP(SOC_PCC), \ 435 __SMU_DUMMY_MAP(OPTIMIZED_VMIN), \ 436 __SMU_DUMMY_MAP(CLOCK_POWER_DOWN_BYPASS), \ 437 __SMU_DUMMY_MAP(MEM_TEMP_READ), \ 438 __SMU_DUMMY_MAP(ATHUB_MMHUB_PG), \ 439 __SMU_DUMMY_MAP(BACO_CG), \ 440 __SMU_DUMMY_MAP(SOC_CG), \ 441 __SMU_DUMMY_MAP(LOW_POWER_DCNCLKS), \ 442 __SMU_DUMMY_MAP(WHISPER_MODE), \ 443 __SMU_DUMMY_MAP(EDC_PWRBRK), \ 444 __SMU_DUMMY_MAP(SOC_EDC_XVMIN), \ 445 __SMU_DUMMY_MAP(GFX_PSM_DIDT), \ 446 __SMU_DUMMY_MAP(APT_ALL_ENABLE), \ 447 __SMU_DUMMY_MAP(APT_SQ_THROTTLE), \ 448 __SMU_DUMMY_MAP(APT_PF_DCS), \ 449 __SMU_DUMMY_MAP(GFX_EDC_XVMIN), \ 450 __SMU_DUMMY_MAP(GFX_DIDT_XVMIN), \ 451 __SMU_DUMMY_MAP(FAN_ABNORMAL), 452 453 #undef __SMU_DUMMY_MAP 454 #define __SMU_DUMMY_MAP(feature) SMU_FEATURE_##feature##_BIT 455 enum smu_feature_mask { 456 SMU_FEATURE_MASKS 457 SMU_FEATURE_COUNT, 458 }; 459 460 /* Message category flags */ 461 #define SMU_MSG_VF_FLAG (1U << 0) 462 #define SMU_MSG_RAS_PRI (1U << 1) 463 464 /* Firmware capability flags */ 465 #define SMU_FW_CAP_RAS_PRI (1U << 0) 466 467 #endif 468