<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - r600: linux v3.11.0-RC isn't booting with radeon.dpm=1 option in grub"
href="https://bugs.freedesktop.org/show_bug.cgi?id=66963#c138">Comment # 138</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - r600: linux v3.11.0-RC isn't booting with radeon.dpm=1 option in grub"
href="https://bugs.freedesktop.org/show_bug.cgi?id=66963">bug 66963</a>
from <span class="vcard"><a class="email" href="mailto:agd5f@yahoo.com" title="Alex Deucher <agd5f@yahoo.com>"> <span class="fn">Alex Deucher</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=66963#c137">comment #137</a>)
<span class="quote">> Nope definitely not reliably, but I did have it work one more time doing the
> above (booting with modeset=0) after about 10 or so reboots. When it fails
> I've never been able to get any debug information..
>
> Any suggestions of other ways to get more debug information?</span >
Does it hang the entire system as soon as you load the driver, or only when you
start X or something like that?
As for debugging, you can try disabling rv6xx_dpm_set_power_state() by
returning early (see the patch below). If that works, move the the return
statement further and further down in the function until you can identify at
which point in rv6xx_dpm_set_power_state() the hang occurs. Once we pin point
that, we can debug further.
diff --git a/drivers/gpu/drm/radeon/rv6xx_dpm.c
b/drivers/gpu/drm/radeon/rv6xx_dpm.c
index 5811d27..bfa2922 100644
--- a/drivers/gpu/drm/radeon/rv6xx_dpm.c
+++ b/drivers/gpu/drm/radeon/rv6xx_dpm.c
@@ -1670,6 +1670,8 @@ int rv6xx_dpm_set_power_state(struct radeon_device *rdev)
struct radeon_ps *old_ps = rdev->pm.dpm.current_ps;
int ret;
+ return 0;
+
pi->restricted_levels = 0;
rv6xx_set_uvd_clock_before_set_eng_clock(rdev, new_ps, old_ps);
@@ -2094,6 +2096,8 @@ int rv6xx_dpm_force_performance_level(struct
radeon_device *rdev,
{
struct rv6xx_power_info *pi = rv6xx_get_pi(rdev);
+ return 0;
+
if (level == RADEON_DPM_FORCED_LEVEL_HIGH) {
pi->restricted_levels = 3;
} else if (level == RADEON_DPM_FORCED_LEVEL_LOW) {</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>