root/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_ppsmc.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright 2018 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 
  24 #ifndef SMU_V11_0_PPSMC_H
  25 #define SMU_V11_0_PPSMC_H
  26 
  27 // SMU Response Codes:
  28 #define PPSMC_Result_OK                    0x1
  29 #define PPSMC_Result_Failed                0xFF
  30 #define PPSMC_Result_UnknownCmd            0xFE
  31 #define PPSMC_Result_CmdRejectedPrereq     0xFD
  32 #define PPSMC_Result_CmdRejectedBusy       0xFC
  33 
  34 // Message Definitions:
  35 // BASIC
  36 #define PPSMC_MSG_TestMessage                    0x1
  37 #define PPSMC_MSG_GetSmuVersion                  0x2
  38 #define PPSMC_MSG_GetDriverIfVersion             0x3
  39 #define PPSMC_MSG_SetAllowedFeaturesMaskLow      0x4
  40 #define PPSMC_MSG_SetAllowedFeaturesMaskHigh     0x5
  41 #define PPSMC_MSG_EnableAllSmuFeatures           0x6
  42 #define PPSMC_MSG_DisableAllSmuFeatures          0x7
  43 #define PPSMC_MSG_EnableSmuFeaturesLow           0x8
  44 #define PPSMC_MSG_EnableSmuFeaturesHigh          0x9
  45 #define PPSMC_MSG_DisableSmuFeaturesLow          0xA
  46 #define PPSMC_MSG_DisableSmuFeaturesHigh         0xB
  47 #define PPSMC_MSG_GetEnabledSmuFeaturesLow       0xC
  48 #define PPSMC_MSG_GetEnabledSmuFeaturesHigh      0xD
  49 #define PPSMC_MSG_SetDriverDramAddrHigh          0xE
  50 #define PPSMC_MSG_SetDriverDramAddrLow           0xF
  51 #define PPSMC_MSG_SetToolsDramAddrHigh           0x10
  52 #define PPSMC_MSG_SetToolsDramAddrLow            0x11
  53 #define PPSMC_MSG_TransferTableSmu2Dram          0x12
  54 #define PPSMC_MSG_TransferTableDram2Smu          0x13
  55 #define PPSMC_MSG_UseDefaultPPTable              0x14
  56 #define PPSMC_MSG_UseBackupPPTable               0x15
  57 #define PPSMC_MSG_SetSystemVirtualDramAddrHigh   0x16
  58 #define PPSMC_MSG_SetSystemVirtualDramAddrLow    0x17
  59 
  60 //BACO/BAMACO/BOMACO
  61 #define PPSMC_MSG_EnterBaco                      0x18
  62 #define PPSMC_MSG_ExitBaco                       0x19
  63 #define PPSMC_MSG_ArmD3                                                          0x46
  64 
  65 //DPM
  66 #define PPSMC_MSG_SetSoftMinByFreq               0x1A
  67 #define PPSMC_MSG_SetSoftMaxByFreq               0x1B
  68 #define PPSMC_MSG_SetHardMinByFreq               0x1C
  69 #define PPSMC_MSG_SetHardMaxByFreq               0x1D 
  70 #define PPSMC_MSG_GetMinDpmFreq                  0x1E
  71 #define PPSMC_MSG_GetMaxDpmFreq                  0x1F
  72 #define PPSMC_MSG_GetDpmFreqByIndex              0x20
  73 #define PPSMC_MSG_OverridePcieParameters         0x21
  74 #define PPSMC_MSG_SetMinDeepSleepDcefclk         0x22
  75 
  76 #define PPSMC_MSG_SetWorkloadMask                0x24 
  77 #define PPSMC_MSG_SetUclkFastSwitch              0x25
  78 #define PPSMC_MSG_GetVoltageByDpm                0x26
  79 #define PPSMC_MSG_SetVideoFps                    0x27
  80 #define PPSMC_MSG_GetDcModeMaxDpmFreq            0x28
  81 
  82 //Power Gating
  83 #define PPSMC_MSG_AllowGfxOff                    0x29
  84 #define PPSMC_MSG_DisallowGfxOff                 0x2A
  85 #define PPSMC_MSG_PowerUpVcn                                               0x2B
  86 #define PPSMC_MSG_PowerDownVcn                                           0x2C   
  87 #define PPSMC_MSG_PowerUpJpeg                    0x2D
  88 #define PPSMC_MSG_PowerDownJpeg                                          0x2E
  89 //reserve 0x29 to 0x30 for PG harvesting TBD
  90 
  91 //Resets
  92 #define PPSMC_MSG_PrepareMp1ForUnload            0x32
  93 #define PPSMC_MSG_PrepareMp1ForReset             0x33
  94 #define PPSMC_MSG_PrepareMp1ForShutdown          0x34
  95 
  96 //ACDC Power Source
  97 #define PPSMC_MSG_SetPptLimit                    0x35
  98 #define PPSMC_MSG_GetPptLimit                    0x36
  99 #define PPSMC_MSG_ReenableAcDcInterrupt          0x37
 100 #define PPSMC_MSG_NotifyPowerSource              0x38
 101 
 102 //BTC
 103 #define PPSMC_MSG_RunBtc                         0x3A
 104 
 105 //Debug
 106 #define PPSMC_MSG_DramLogSetDramAddrHigh         0x3B
 107 #define PPSMC_MSG_DramLogSetDramAddrLow          0x3C
 108 #define PPSMC_MSG_DramLogSetDramSize             0x3D
 109 #define PPSMC_MSG_GetDebugData                   0x3E
 110 
 111 //Others
 112 #define PPSMC_MSG_ConfigureGfxDidt               0x3F
 113 #define PPSMC_MSG_NumOfDisplays                  0x40
 114 
 115 #define PPSMC_MSG_SetMemoryChannelConfig         0x41 
 116 #define PPSMC_MSG_SetGeminiMode                  0x42
 117 #define PPSMC_MSG_SetGeminiApertureHigh          0x43
 118 #define PPSMC_MSG_SetGeminiApertureLow           0x44
 119 
 120 #define PPSMC_MSG_GetVoltageByDpmOverdrive       0x45
 121 #define PPSMC_MSG_BacoAudioD3PME                 0x48
 122 
 123 #define PPSMC_Message_Count                      0x49
 124 
 125 typedef uint32_t PPSMC_Result;
 126 typedef uint32_t PPSMC_Msg;
 127 
 128 //for use with PPSMC_MSG_GetVoltageByDpmOverdrive
 129 #define PPSMC_GET_AVFS_CURVE 0
 130 #define PPSMC_GET_OVERDRIVE_CURVE 1
 131 #endif

/* [<][>][^][v][top][bottom][index][help] */