diff mbox

[Bug,66963] r600: linux 3.11RC isn't booting with radeon.dpm=1 option in grub

Message ID bug-66963-502-WqEQOm9xfT@http.bugs.freedesktop.org/ (mailing list archive)
State New, archived
Headers show

Commit Message

bugzilla-daemon@freedesktop.org Aug. 13, 2013, 12:58 p.m. UTC
https://bugs.freedesktop.org/show_bug.cgi?id=66963

--- Comment #94 from Alex Deucher <agd5f@yahoo.com> ---
(In reply to comment #92)
> The bug is still not fixed.
> Been using Radeon 3650 with dpm, and now running rc5.
> 
> Everything went well until I had a reboot due to a NOD32 install.
> That time I encountered the white screen of death once again.
> 
> Can I gather any more debug info somehow Alex?
> (I use a total non-debug kernel that I compiled but I can prepare one full
> debug version if you would like.)

Can you try disabling additional dpm features as per previoous comments?  e.g,

        pi->sclk_ss = radeon_atombios_get_asic_ss_info(rdev, &ss,
                                                       ASIC_INTERNAL_ENGINE_SS,
0);
@@ -1994,13 +1994,14 @@ int rv6xx_dpm_init(struct radeon_device *rdev)

        /* Disable sclk ss, causes hangs on a lot of systems */
        pi->sclk_ss = false;
+       pi->mclk_ss = false;

        if (pi->sclk_ss || pi->mclk_ss)
                pi->dynamic_ss = true;
        else
                pi->dynamic_ss = false;

-       pi->dynamic_pcie_gen2 = true;
+       pi->dynamic_pcie_gen2 = false;

        if (pi->gfx_clock_gating &&
            (rdev->pm.int_thermal_type != THERMAL_TYPE_NONE))

See if disabling any additional features helps stability on your system.

> 
> ps.: I'm not too lucky with this DPM thing. The old card dies randomly
> (WSOD), and the new one is not supported (SI). 

SI cards are supported just fine, including dpm.
diff mbox

Patch

diff --git a/drivers/gpu/drm/radeon/rv6xx_dpm.c
b/drivers/gpu/drm/radeon/rv6xx_dpm.c
index bdd888b..ad17ae8 100644
--- a/drivers/gpu/drm/radeon/rv6xx_dpm.c
+++ b/drivers/gpu/drm/radeon/rv6xx_dpm.c
@@ -1982,10 +1982,10 @@  int rv6xx_dpm_init(struct radeon_device *rdev)
        else
                pi->fb_div_scale = 0;

-       pi->voltage_control =
-               radeon_atom_is_voltage_gpio(rdev, SET_VOLTAGE_TYPE_ASIC_VDDC,
0);
+       pi->voltage_control = false;
+//             radeon_atom_is_voltage_gpio(rdev, SET_VOLTAGE_TYPE_ASIC_VDDC,
0);

-       pi->gfx_clock_gating = true;
+       pi->gfx_clock_gating = false;