]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/gpu/drm/amd/powerplay/inc/smu_types.h
drm/amd/powerplay: add smu message name support
[linux.git] / drivers / gpu / drm / amd / powerplay / inc / smu_types.h
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(GetEnabledSmuFeaturesLow),     \
39        __SMU_DUMMY_MAP(GetEnabledSmuFeaturesHigh),    \
40        __SMU_DUMMY_MAP(SetWorkloadMask),              \
41        __SMU_DUMMY_MAP(SetPptLimit),                  \
42        __SMU_DUMMY_MAP(SetDriverDramAddrHigh),        \
43        __SMU_DUMMY_MAP(SetDriverDramAddrLow),         \
44        __SMU_DUMMY_MAP(SetToolsDramAddrHigh),         \
45        __SMU_DUMMY_MAP(SetToolsDramAddrLow),          \
46        __SMU_DUMMY_MAP(TransferTableSmu2Dram),        \
47        __SMU_DUMMY_MAP(TransferTableDram2Smu),        \
48        __SMU_DUMMY_MAP(UseDefaultPPTable),            \
49        __SMU_DUMMY_MAP(UseBackupPPTable),             \
50        __SMU_DUMMY_MAP(RunBtc),                       \
51        __SMU_DUMMY_MAP(RequestI2CBus),                \
52        __SMU_DUMMY_MAP(ReleaseI2CBus),                \
53        __SMU_DUMMY_MAP(SetFloorSocVoltage),           \
54        __SMU_DUMMY_MAP(SoftReset),                    \
55        __SMU_DUMMY_MAP(StartBacoMonitor),             \
56        __SMU_DUMMY_MAP(CancelBacoMonitor),            \
57        __SMU_DUMMY_MAP(EnterBaco),                    \
58        __SMU_DUMMY_MAP(SetSoftMinByFreq),             \
59        __SMU_DUMMY_MAP(SetSoftMaxByFreq),             \
60        __SMU_DUMMY_MAP(SetHardMinByFreq),             \
61        __SMU_DUMMY_MAP(SetHardMaxByFreq),             \
62        __SMU_DUMMY_MAP(GetMinDpmFreq),                \
63        __SMU_DUMMY_MAP(GetMaxDpmFreq),                \
64        __SMU_DUMMY_MAP(GetDpmFreqByIndex),            \
65        __SMU_DUMMY_MAP(GetDpmClockFreq),              \
66        __SMU_DUMMY_MAP(GetSsVoltageByDpm),            \
67        __SMU_DUMMY_MAP(SetMemoryChannelConfig),       \
68        __SMU_DUMMY_MAP(SetGeminiMode),                \
69        __SMU_DUMMY_MAP(SetGeminiApertureHigh),        \
70        __SMU_DUMMY_MAP(SetGeminiApertureLow),         \
71        __SMU_DUMMY_MAP(SetMinLinkDpmByIndex),         \
72        __SMU_DUMMY_MAP(OverridePcieParameters),       \
73        __SMU_DUMMY_MAP(OverDriveSetPercentage),       \
74        __SMU_DUMMY_MAP(SetMinDeepSleepDcefclk),       \
75        __SMU_DUMMY_MAP(ReenableAcDcInterrupt),        \
76        __SMU_DUMMY_MAP(NotifyPowerSource),            \
77        __SMU_DUMMY_MAP(SetUclkFastSwitch),            \
78        __SMU_DUMMY_MAP(SetUclkDownHyst),              \
79        __SMU_DUMMY_MAP(GfxDeviceDriverReset),         \
80        __SMU_DUMMY_MAP(GetCurrentRpm),                \
81        __SMU_DUMMY_MAP(SetVideoFps),                  \
82        __SMU_DUMMY_MAP(SetTjMax),                     \
83        __SMU_DUMMY_MAP(SetFanTemperatureTarget),      \
84        __SMU_DUMMY_MAP(PrepareMp1ForUnload),          \
85        __SMU_DUMMY_MAP(DramLogSetDramAddrHigh),       \
86        __SMU_DUMMY_MAP(DramLogSetDramAddrLow),        \
87        __SMU_DUMMY_MAP(DramLogSetDramSize),           \
88        __SMU_DUMMY_MAP(SetFanMaxRpm),                 \
89        __SMU_DUMMY_MAP(SetFanMinPwm),                 \
90        __SMU_DUMMY_MAP(ConfigureGfxDidt),             \
91        __SMU_DUMMY_MAP(NumOfDisplays),                \
92        __SMU_DUMMY_MAP(RemoveMargins),                \
93        __SMU_DUMMY_MAP(ReadSerialNumTop32),           \
94        __SMU_DUMMY_MAP(ReadSerialNumBottom32),        \
95        __SMU_DUMMY_MAP(SetSystemVirtualDramAddrHigh), \
96        __SMU_DUMMY_MAP(SetSystemVirtualDramAddrLow),  \
97        __SMU_DUMMY_MAP(WaflTest),                     \
98        __SMU_DUMMY_MAP(SetFclkGfxClkRatio),           \
99        __SMU_DUMMY_MAP(AllowGfxOff),                  \
100        __SMU_DUMMY_MAP(DisallowGfxOff),               \
101        __SMU_DUMMY_MAP(GetPptLimit),                  \
102        __SMU_DUMMY_MAP(GetDcModeMaxDpmFreq),          \
103        __SMU_DUMMY_MAP(GetDebugData),                 \
104        __SMU_DUMMY_MAP(SetXgmiMode),                  \
105        __SMU_DUMMY_MAP(RunAfllBtc),                   \
106        __SMU_DUMMY_MAP(ExitBaco),                     \
107        __SMU_DUMMY_MAP(PrepareMp1ForReset),           \
108        __SMU_DUMMY_MAP(PrepareMp1ForShutdown),        \
109        __SMU_DUMMY_MAP(SetMGpuFanBoostLimitRpm),      \
110        __SMU_DUMMY_MAP(GetAVFSVoltageByDpm),          \
111        __SMU_DUMMY_MAP(PowerUpVcn),                   \
112        __SMU_DUMMY_MAP(PowerDownVcn),                 \
113        __SMU_DUMMY_MAP(PowerUpJpeg),                  \
114        __SMU_DUMMY_MAP(PowerDownJpeg),                \
115        __SMU_DUMMY_MAP(BacoAudioD3PME),               \
116        __SMU_DUMMY_MAP(ArmD3),                        \
117        __SMU_DUMMY_MAP(RunGfxDcBtc),                  \
118        __SMU_DUMMY_MAP(RunSocDcBtc),                  \
119        __SMU_DUMMY_MAP(SetMemoryChannelEnable),       \
120        __SMU_DUMMY_MAP(SetDfSwitchType),              \
121        __SMU_DUMMY_MAP(GetVoltageByDpm),              \
122        __SMU_DUMMY_MAP(GetVoltageByDpmOverdrive),     \
123        __SMU_DUMMY_MAP(PowerUpVcn0),                  \
124        __SMU_DUMMY_MAP(PowerDownVcn01),               \
125        __SMU_DUMMY_MAP(PowerUpVcn1),                  \
126        __SMU_DUMMY_MAP(PowerDownVcn1),                \
127
128 #undef __SMU_DUMMY_MAP
129 #define __SMU_DUMMY_MAP(type)   SMU_MSG_##type
130 enum smu_message_type {
131         SMU_MESSAGE_TYPES
132         SMU_MSG_MAX_COUNT,
133 };
134
135 enum smu_clk_type {
136         SMU_GFXCLK,
137         SMU_VCLK,
138         SMU_DCLK,
139         SMU_ECLK,
140         SMU_SOCCLK,
141         SMU_UCLK,
142         SMU_DCEFCLK,
143         SMU_DISPCLK,
144         SMU_PIXCLK,
145         SMU_PHYCLK,
146         SMU_FCLK,
147         SMU_SCLK,
148         SMU_MCLK,
149         SMU_PCIE,
150         SMU_OD_SCLK,
151         SMU_OD_MCLK,
152         SMU_OD_VDDC_CURVE,
153         SMU_OD_RANGE,
154         SMU_CLK_COUNT,
155 };
156
157 enum smu_feature_mask {
158         SMU_FEATURE_DPM_PREFETCHER_BIT,
159         SMU_FEATURE_DPM_GFXCLK_BIT,
160         SMU_FEATURE_DPM_UCLK_BIT,
161         SMU_FEATURE_DPM_SOCCLK_BIT,
162         SMU_FEATURE_DPM_UVD_BIT,
163         SMU_FEATURE_DPM_VCE_BIT,
164         SMU_FEATURE_ULV_BIT,
165         SMU_FEATURE_DPM_MP0CLK_BIT,
166         SMU_FEATURE_DPM_LINK_BIT,
167         SMU_FEATURE_DPM_DCEFCLK_BIT,
168         SMU_FEATURE_DS_GFXCLK_BIT,
169         SMU_FEATURE_DS_SOCCLK_BIT,
170         SMU_FEATURE_DS_LCLK_BIT,
171         SMU_FEATURE_PPT_BIT,
172         SMU_FEATURE_TDC_BIT,
173         SMU_FEATURE_THERMAL_BIT,
174         SMU_FEATURE_GFX_PER_CU_CG_BIT,
175         SMU_FEATURE_RM_BIT,
176         SMU_FEATURE_DS_DCEFCLK_BIT,
177         SMU_FEATURE_ACDC_BIT,
178         SMU_FEATURE_VR0HOT_BIT,
179         SMU_FEATURE_VR1HOT_BIT,
180         SMU_FEATURE_FW_CTF_BIT,
181         SMU_FEATURE_LED_DISPLAY_BIT,
182         SMU_FEATURE_FAN_CONTROL_BIT,
183         SMU_FEATURE_GFX_EDC_BIT,
184         SMU_FEATURE_GFXOFF_BIT,
185         SMU_FEATURE_CG_BIT,
186         SMU_FEATURE_DPM_FCLK_BIT,
187         SMU_FEATURE_DS_FCLK_BIT,
188         SMU_FEATURE_DS_MP1CLK_BIT,
189         SMU_FEATURE_DS_MP0CLK_BIT,
190         SMU_FEATURE_XGMI_BIT,
191         SMU_FEATURE_DPM_GFX_PACE_BIT,
192         SMU_FEATURE_MEM_VDDCI_SCALING_BIT,
193         SMU_FEATURE_MEM_MVDD_SCALING_BIT,
194         SMU_FEATURE_DS_UCLK_BIT,
195         SMU_FEATURE_GFX_ULV_BIT,
196         SMU_FEATURE_FW_DSTATE_BIT,
197         SMU_FEATURE_BACO_BIT,
198         SMU_FEATURE_VCN_PG_BIT,
199         SMU_FEATURE_JPEG_PG_BIT,
200         SMU_FEATURE_USB_PG_BIT,
201         SMU_FEATURE_RSMU_SMN_CG_BIT,
202         SMU_FEATURE_APCC_PLUS_BIT,
203         SMU_FEATURE_GTHR_BIT,
204         SMU_FEATURE_GFX_DCS_BIT,
205         SMU_FEATURE_GFX_SS_BIT,
206         SMU_FEATURE_OUT_OF_BAND_MONITOR_BIT,
207         SMU_FEATURE_TEMP_DEPENDENT_VMIN_BIT,
208         SMU_FEATURE_MMHUB_PG_BIT,
209         SMU_FEATURE_ATHUB_PG_BIT,
210         SMU_FEATURE_COUNT,
211 };
212
213 #endif