From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@bugzilla.kernel.org Subject: [Bug 60523] Radeon DPM not working with 2 monitors attached to Radeon HD5770 (Juniper) Date: Thu, 15 Aug 2013 21:08:51 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by gabe.freedesktop.org (Postfix) with ESMTP id 25808E5CD5 for ; Thu, 15 Aug 2013 14:08:54 -0700 (PDT) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 53ED920343 for ; Thu, 15 Aug 2013 21:08:53 +0000 (UTC) Received: from bugzilla1.web.kernel.org (bugzilla1.web.kernel.org [172.20.200.51]) by mail.kernel.org (Postfix) with ESMTP id C66DB20317 for ; Thu, 15 Aug 2013 21:08:51 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org https://bugzilla.kernel.org/show_bug.cgi?id=60523 --- Comment #23 from Alex Deucher --- 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.