aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
diff options
context:
space:
mode:
authorRex Zhu <Rex.Zhu@amd.com>2016-10-12 03:13:29 -0400
committerAlex Deucher <alexander.deucher@amd.com>2016-10-25 14:38:39 -0400
commit0d8de7ca0b01332c404d3b5877db89727618c3d0 (patch)
treecc59a975a2e41ad8dee9a651dee7cbb016acdd4c /drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
parentcf0978819cf78cef8d36ca39cb242dde4731d338 (diff)
drm/amdgpu: use same vce state definition in dpm and powerplay
Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h28
1 files changed, 3 insertions, 25 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
index d06496d3e08e..68dac0c569fd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
@@ -52,17 +52,6 @@ enum amdgpu_dpm_event_src {
52 AMDGPU_DPM_EVENT_SRC_DIGIAL_OR_EXTERNAL = 4 52 AMDGPU_DPM_EVENT_SRC_DIGIAL_OR_EXTERNAL = 4
53}; 53};
54 54
55#define AMDGPU_MAX_VCE_LEVELS 6
56
57enum amdgpu_vce_level {
58 AMDGPU_VCE_LEVEL_AC_ALL = 0, /* AC, All cases */
59 AMDGPU_VCE_LEVEL_DC_EE = 1, /* DC, entropy encoding */
60 AMDGPU_VCE_LEVEL_DC_LL_LOW = 2, /* DC, low latency queue, res <= 720 */
61 AMDGPU_VCE_LEVEL_DC_LL_HIGH = 3, /* DC, low latency queue, 1080 >= res > 720 */
62 AMDGPU_VCE_LEVEL_DC_GP_LOW = 4, /* DC, general purpose queue, res <= 720 */
63 AMDGPU_VCE_LEVEL_DC_GP_HIGH = 5, /* DC, general purpose queue, 1080 >= res > 720 */
64};
65
66struct amdgpu_ps { 55struct amdgpu_ps {
67 u32 caps; /* vbios flags */ 56 u32 caps; /* vbios flags */
68 u32 class; /* vbios flags */ 57 u32 class; /* vbios flags */
@@ -74,7 +63,7 @@ struct amdgpu_ps {
74 u32 evclk; 63 u32 evclk;
75 u32 ecclk; 64 u32 ecclk;
76 bool vce_active; 65 bool vce_active;
77 enum amdgpu_vce_level vce_level; 66 enum amd_vce_level vce_level;
78 /* asic priv */ 67 /* asic priv */
79 void *ps_priv; 68 void *ps_priv;
80}; 69};
@@ -257,17 +246,6 @@ enum amdgpu_dpm_forced_level {
257 AMDGPU_DPM_FORCED_LEVEL_MANUAL = 3, 246 AMDGPU_DPM_FORCED_LEVEL_MANUAL = 3,
258}; 247};
259 248
260struct amdgpu_vce_state {
261 /* vce clocks */
262 u32 evclk;
263 u32 ecclk;
264 /* gpu clocks */
265 u32 sclk;
266 u32 mclk;
267 u8 clk_idx;
268 u8 pstate;
269};
270
271struct amdgpu_dpm_funcs { 249struct amdgpu_dpm_funcs {
272 int (*get_temperature)(struct amdgpu_device *adev); 250 int (*get_temperature)(struct amdgpu_device *adev);
273 int (*pre_set_power_state)(struct amdgpu_device *adev); 251 int (*pre_set_power_state)(struct amdgpu_device *adev);
@@ -409,8 +387,8 @@ struct amdgpu_dpm {
409 /* default uvd power state */ 387 /* default uvd power state */
410 struct amdgpu_ps *uvd_ps; 388 struct amdgpu_ps *uvd_ps;
411 /* vce requirements */ 389 /* vce requirements */
412 struct amdgpu_vce_state vce_states[AMDGPU_MAX_VCE_LEVELS]; 390 struct amd_vce_state vce_states[AMD_MAX_VCE_LEVELS];
413 enum amdgpu_vce_level vce_level; 391 enum amd_vce_level vce_level;
414 enum amd_pm_state_type state; 392 enum amd_pm_state_type state;
415 enum amd_pm_state_type user_state; 393 enum amd_pm_state_type user_state;
416 u32 platform_caps; 394 u32 platform_caps;