Commit 230cf1ba authored by Alex Deucher's avatar Alex Deucher

drm/amdgpu/dpm: add new callback to fetch vce clock state (v2)

Will be used by the new info ioctl query.

v2: fetch a single state per request
Reviewed-by: default avatarRex Zhu <Rex.Zhu@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent bbe87974
...@@ -271,6 +271,7 @@ struct amdgpu_dpm_funcs { ...@@ -271,6 +271,7 @@ struct amdgpu_dpm_funcs {
int (*set_sclk_od)(struct amdgpu_device *adev, uint32_t value); int (*set_sclk_od)(struct amdgpu_device *adev, uint32_t value);
int (*get_mclk_od)(struct amdgpu_device *adev); int (*get_mclk_od)(struct amdgpu_device *adev);
int (*set_mclk_od)(struct amdgpu_device *adev, uint32_t value); int (*set_mclk_od)(struct amdgpu_device *adev, uint32_t value);
struct amd_vce_state* (*get_vce_clock_state)(struct amdgpu_device *adev, unsigned idx);
}; };
#define amdgpu_dpm_pre_set_power_state(adev) (adev)->pm.funcs->pre_set_power_state((adev)) #define amdgpu_dpm_pre_set_power_state(adev) (adev)->pm.funcs->pre_set_power_state((adev))
...@@ -373,6 +374,10 @@ struct amdgpu_dpm_funcs { ...@@ -373,6 +374,10 @@ struct amdgpu_dpm_funcs {
#define amdgpu_dpm_dispatch_task(adev, event_id, input, output) \ #define amdgpu_dpm_dispatch_task(adev, event_id, input, output) \
(adev)->powerplay.pp_funcs->dispatch_tasks((adev)->powerplay.pp_handle, (event_id), (input), (output)) (adev)->powerplay.pp_funcs->dispatch_tasks((adev)->powerplay.pp_handle, (event_id), (input), (output))
#define amdgpu_dpm_get_vce_clock_state(adev, i) \
((adev)->pp_enabled ? \
(adev)->powerplay.pp_funcs->get_vce_clock_state((adev)->powerplay.pp_handle, (i)) : \
(adev)->pm.funcs->get_vce_clock_state((adev), (i)))
struct amdgpu_dpm { struct amdgpu_dpm {
struct amdgpu_ps *ps; struct amdgpu_ps *ps;
......
...@@ -359,6 +359,7 @@ struct amd_powerplay_funcs { ...@@ -359,6 +359,7 @@ struct amd_powerplay_funcs {
int (*get_mclk_od)(void *handle); int (*get_mclk_od)(void *handle);
int (*set_mclk_od)(void *handle, uint32_t value); int (*set_mclk_od)(void *handle, uint32_t value);
int (*read_sensor)(void *handle, int idx, int32_t *value); int (*read_sensor)(void *handle, int idx, int32_t *value);
struct amd_vce_state* (*get_vce_clock_state)(void *handle, unsigned idx);
}; };
struct amd_powerplay { struct amd_powerplay {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment