New Radeon DPM not working on E350 APU

Alex Deucher alexdeucher at gmail.com
Mon Jul 8 11:40:53 PDT 2013


On Mon, Jul 8, 2013 at 1:57 PM, Bruce Guenter <bruce at untroubled.org> wrote:
>
> I am having problems using the new Radeon DPM patches on my AMD E-350
> APU system. Running the kernel with radeon.dpm=0 works as expected (I
> used it for several hours yesterday with no problems), but with
> radeon.dpm=1 it locks up graphically as soon as X starts. I am able to
> log in through the network though, and have retrieved a dmesg.
>
> Visually, when X starts, the screen fills with non-moving colored random
> static. After a few seconds, it changes color to red and then slowly
> fades to white. No mouse pointer or anything else is visible.
>
> The system is running Ubuntu Gnome 13.04. The kernel is 3.10.0 with the
> latest agd5f/drm-next-3.11-wip merged in.

Please try the drm-next-3.11 branch of my tree.  The old -wip branches
are outdated.  If you are still having problems with that branch, you
can try disabling power gating.  It seems to cause problems on certain
ontario systems.  I'm trying to sort it out now.

diff --git a/drivers/gpu/drm/radeon/sumo_dpm.c
b/drivers/gpu/drm/radeon/sumo_dpm.c
index 11b6b99..5568a1b 100644
--- a/drivers/gpu/drm/radeon/sumo_dpm.c
+++ b/drivers/gpu/drm/radeon/sumo_dpm.c
@@ -1732,7 +1732,7 @@ int sumo_dpm_init(struct radeon_device *rdev)
        pi->enable_sclk_ds = true;
        pi->enable_dynamic_m3_arbiter = false;
        pi->enable_dynamic_patch_ps = true;
-       pi->enable_gfx_power_gating = true;
+       pi->enable_gfx_power_gating = false;
        pi->enable_gfx_clock_gating = true;
        pi->enable_mg_clock_gating = true;
        pi->enable_auto_thermal_throttling = true;


>
> The two main differences between dmesg from a working boot and from a
> failed one is the listing of the power states 0-5 and notes that it's
> switching from the "boot" to "performance" power state; and then, later
> when X starts, these errors:
>
> radeon 0000:00:01.0: GPU lockup CP stall for more than 10000msec
> radeon 0000:00:01.0: GPU lockup (waiting for 0x0000000000000003 last fence id 0x0000000000000001)
> radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000177118 and cpu addr 0xffffc90005318118
> radeon 0000:00:01.0: Saved 55 dwords of commands on ring 0.
> radeon 0000:00:01.0: GPU softreset: 0x00000009
> radeon 0000:00:01.0:   GRBM_STATUS               = 0xB2433828
> radeon 0000:00:01.0:   GRBM_STATUS_SE0           = 0x08000007
> radeon 0000:00:01.0:   GRBM_STATUS_SE1           = 0x00000007
> radeon 0000:00:01.0:   SRBM_STATUS               = 0x20000040
> radeon 0000:00:01.0:   SRBM_STATUS2              = 0x00000000
> radeon 0000:00:01.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
> radeon 0000:00:01.0:   R_008678_CP_STALLED_STAT2 = 0x40000000
> radeon 0000:00:01.0:   R_00867C_CP_BUSY_STAT     = 0x00008000
> radeon 0000:00:01.0:   R_008680_CP_STAT          = 0x80228643
> radeon 0000:00:01.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
> radeon 0000:00:01.0: GRBM_SOFT_RESET=0x00007F6B
> radeon 0000:00:01.0: SRBM_SOFT_RESET=0x00000100
> radeon 0000:00:01.0:   GRBM_STATUS               = 0x00003828
> radeon 0000:00:01.0:   GRBM_STATUS_SE0           = 0x00000007
> radeon 0000:00:01.0:   GRBM_STATUS_SE1           = 0x00000007
> radeon 0000:00:01.0:   SRBM_STATUS               = 0x20000040
> radeon 0000:00:01.0:   SRBM_STATUS2              = 0x00000000
> radeon 0000:00:01.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
> radeon 0000:00:01.0:   R_008678_CP_STALLED_STAT2 = 0x00000000
> radeon 0000:00:01.0:   R_00867C_CP_BUSY_STAT     = 0x00000000
> radeon 0000:00:01.0:   R_008680_CP_STAT          = 0x00000000
> radeon 0000:00:01.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
> radeon 0000:00:01.0: GPU reset succeeded, trying to resume
> [drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
> radeon 0000:00:01.0: WB enabled
> radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu addr 0xffff8801f7fe6c00
> radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000018000c0c and cpu addr 0xffff8801f7fe6c0c
> radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000177118 and cpu addr 0xffffc90005db2118
> [drm] ring test on 0 succeeded in 0 usecs
> [drm] ring test on 3 succeeded in 0 usecs
> [drm] ring test on 5 succeeded in 1 usecs
> [drm] UVD initialized successfully.
> radeon 0000:00:01.0: GPU lockup CP stall for more than 10000msec
> radeon 0000:00:01.0: GPU lockup (waiting for 0x0000000000000004 last fence id 0x0000000000000001)
> [drm:r600_ib_test] *ERROR* radeon: fence wait failed (-35).
> [drm:radeon_ib_ring_tests] *ERROR* radeon: failed testing IB on GFX ring (-35).
> radeon 0000:00:01.0: ib ring test failed (-35).
> radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000177118 and cpu addr 0xffffc90005318118
> radeon 0000:00:01.0: GPU softreset: 0x00000009
> radeon 0000:00:01.0:   GRBM_STATUS               = 0xB3533828
> radeon 0000:00:01.0:   GRBM_STATUS_SE0           = 0x2C000007
> radeon 0000:00:01.0:   GRBM_STATUS_SE1           = 0x00000007
> radeon 0000:00:01.0:   SRBM_STATUS               = 0x20000040
> radeon 0000:00:01.0:   SRBM_STATUS2              = 0x00000000
> radeon 0000:00:01.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
> radeon 0000:00:01.0:   R_008678_CP_STALLED_STAT2 = 0x400C0000
> radeon 0000:00:01.0:   R_00867C_CP_BUSY_STAT     = 0x00048000
> radeon 0000:00:01.0:   R_008680_CP_STAT          = 0x80268643
> radeon 0000:00:01.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
> radeon 0000:00:01.0: GRBM_SOFT_RESET=0x00007F6B
> radeon 0000:00:01.0: SRBM_SOFT_RESET=0x00000100
> radeon 0000:00:01.0:   GRBM_STATUS               = 0x00003828
> radeon 0000:00:01.0:   GRBM_STATUS_SE0           = 0x00000007
> radeon 0000:00:01.0:   GRBM_STATUS_SE1           = 0x00000007
> radeon 0000:00:01.0:   SRBM_STATUS               = 0x20000040
> radeon 0000:00:01.0:   SRBM_STATUS2              = 0x00000000
> radeon 0000:00:01.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
> radeon 0000:00:01.0:   R_008678_CP_STALLED_STAT2 = 0x00000000
> radeon 0000:00:01.0:   R_00867C_CP_BUSY_STAT     = 0x00000000
> radeon 0000:00:01.0:   R_008680_CP_STAT          = 0x00000000
> radeon 0000:00:01.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
> radeon 0000:00:01.0: GPU reset succeeded, trying to resume
> [drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
> radeon 0000:00:01.0: WB enabled
> radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu addr 0xffff8801f7fe6c00
> radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000018000c0c and cpu addr 0xffff8801f7fe6c0c
> radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000177118 and cpu addr 0xffffc90005c32118
> [drm] ring test on 0 succeeded in 1 usecs
> [drm] ring test on 3 succeeded in 1 usecs
> [drm] ring test on 5 succeeded in 1 usecs
> [drm] UVD initialized successfully.
>
> --
> Bruce Guenter <bruce at untroubled.org>                http://untroubled.org/
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>


More information about the dri-devel mailing list