drm/amdgpu/powerplay: add an implementation for get_vce_clock_state (v3)
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 7 Oct 2016 17:52:43 +0000 (13:52 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Oct 2016 18:38:42 +0000 (14:38 -0400)
Used by the powerplay dpm code.

v2: update to the new API
v3: drop old include

Reviewed-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/amd_powerplay.c

index bb8a345c750ac1af564dde7c33b444c0dd41137d..0b1f2205c2f19958c1d0e98a3b03ce043dba543f 100644 (file)
@@ -821,6 +821,21 @@ static int pp_dpm_read_sensor(void *handle, int idx, int32_t *value)
        return hwmgr->hwmgr_func->read_sensor(hwmgr, idx, value);
 }
 
+static struct amd_vce_state*
+pp_dpm_get_vce_clock_state(void *handle, unsigned idx)
+{
+       struct pp_hwmgr *hwmgr;
+
+       if (handle) {
+               hwmgr = ((struct pp_instance *)handle)->hwmgr;
+
+               if (hwmgr && idx < hwmgr->num_vce_state_tables)
+                       return &hwmgr->vce_states[idx];
+       }
+
+       return NULL;
+}
+
 const struct amd_powerplay_funcs pp_dpm_funcs = {
        .get_temperature = pp_dpm_get_temperature,
        .load_firmware = pp_dpm_load_fw,
@@ -847,6 +862,7 @@ const struct amd_powerplay_funcs pp_dpm_funcs = {
        .get_mclk_od = pp_dpm_get_mclk_od,
        .set_mclk_od = pp_dpm_set_mclk_od,
        .read_sensor = pp_dpm_read_sensor,
+       .get_vce_clock_state = pp_dpm_get_vce_clock_state,
 };
 
 static int amd_pp_instance_init(struct amd_pp_init *pp_init,