Commit 6bb5c0d7 authored by Alex Deucher's avatar Alex Deucher

drm/radeon/dpm: add helper to fetch the vrefresh of the current mode

Needed for DPM on CI.
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 61fb192a
...@@ -174,6 +174,24 @@ u32 r600_dpm_get_vblank_time(struct radeon_device *rdev) ...@@ -174,6 +174,24 @@ u32 r600_dpm_get_vblank_time(struct radeon_device *rdev)
return vblank_time_us; return vblank_time_us;
} }
u32 r600_dpm_get_vrefresh(struct radeon_device *rdev)
{
struct drm_device *dev = rdev->ddev;
struct drm_crtc *crtc;
struct radeon_crtc *radeon_crtc;
u32 vrefresh = 0;
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
radeon_crtc = to_radeon_crtc(crtc);
if (crtc->enabled && radeon_crtc->enabled && radeon_crtc->hw_mode.clock) {
vrefresh = radeon_crtc->hw_mode.vrefresh;
break;
}
}
return vrefresh;
}
void r600_calculate_u_and_p(u32 i, u32 r_c, u32 p_b, void r600_calculate_u_and_p(u32 i, u32 r_c, u32 p_b,
u32 *p, u32 *u) u32 *p, u32 *u)
{ {
......
...@@ -130,6 +130,7 @@ void r600_dpm_print_cap_info(u32 caps); ...@@ -130,6 +130,7 @@ void r600_dpm_print_cap_info(u32 caps);
void r600_dpm_print_ps_status(struct radeon_device *rdev, void r600_dpm_print_ps_status(struct radeon_device *rdev,
struct radeon_ps *rps); struct radeon_ps *rps);
u32 r600_dpm_get_vblank_time(struct radeon_device *rdev); u32 r600_dpm_get_vblank_time(struct radeon_device *rdev);
u32 r600_dpm_get_vrefresh(struct radeon_device *rdev);
bool r600_is_uvd_state(u32 class, u32 class2); bool r600_is_uvd_state(u32 class, u32 class2);
void r600_calculate_u_and_p(u32 i, u32 r_c, u32 p_b, void r600_calculate_u_and_p(u32 i, u32 r_c, u32 p_b,
u32 *p, u32 *u); u32 *p, u32 *u);
......
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