https://bugzilla.kernel.org/show_bug.cgi?id=60523 --- Comment #23 from Alex Deucher <alexdeucher@xxxxxxxxx> --- Ah, you have a system with gddr5 memory. The blanking period is probably too short on your monitor to support mclk switching. Something like this will tell you for sure: diff --git a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress_dpm.c index 95a66db..cfe8313 100644 --- a/drivers/gpu/drm/radeon/cypress_dpm.c +++ b/drivers/gpu/drm/radeon/cypress_dpm.c @@ -2169,6 +2169,8 @@ bool cypress_dpm_vblank_too_short(struct radeon_device *rdev) /* we never hit the non-gddr5 limit so disable it */ u32 switch_limit = pi->mem_gddr5 ? 450 : 0; + DRM_ERROR("vblank_time: %d switch_limit: %d", vblank_time, switch_limit); + if (vblank_time < switch_limit) return true; else diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c index a44ae9a..7b4c9db 100644 --- a/drivers/gpu/drm/radeon/radeon_pm.c +++ b/drivers/gpu/drm/radeon/radeon_pm.c @@ -648,10 +648,15 @@ static struct radeon_ps *radeon_dpm_pick_power_state(struct radeon_device *rdev, /* check if the vblank period is too short to adjust the mclk */ if (single_display && rdev->asic->dpm.vblank_too_short) { - if (radeon_dpm_vblank_too_short(rdev)) + if (radeon_dpm_vblank_too_short(rdev)) { + DRM_ERROR("vblank too short\n"); single_display = false; + } } + DRM_ERROR("single display = %d crtcs: %d", single_display, + rdev->pm.dpm.new_active_crtc_count); + /* certain older asics have a separare 3D performance state, * so try that first if the user selected performance */ -- You are receiving this mail because: You are watching the assignee of the bug. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel