If it's not too late, there's one more patch that fixes a resume regression on pre-r6xx asics. commit 16c58081eb95e35f284421176f355eccfc773bbe Author: Simon Kitching <skitching@xxxxxxxxx> Date: Thu Sep 20 12:59:16 2012 -0400 drm/radeon: Prevent leak of scratch register on resume from suspend Cards typically have 5-7 scratch registers; one of these is reserved for rdev->rptr_save_reg. Unfortunately the reservation is done in function r100_cp_init, which is called by all drivers except r600 - and this function is also invoked on resume from suspend. After several resumes, no scratch registers are free and graphics acceleration is disabled. Dmesg then reports either: *ERROR* radeon: cp failed to get scratch reg (-22). *ERROR* radeon: cp isn't working(-22). radeon 0000:01:00.0: failed initializing CP (-22). or: *ERROR* radeon: failed to get scratch reg (-22). *ERROR* radeon: failed testing IB on GFX ring (-22). *ERROR* ib ring test failed (-22). The chain of calls on boot for all except r600 is: radeon_init -> ... -> (rXXX_init) -> rXXX_startup -> r100_cp_init The chain of calls on resume for all except r600 is: rXXX_resume -> rXXX_startup -> r100_cp_init. R600 correctly allocates rptr_save_reg in r600_init (ie once only, not in resume). However moving the code into the init functions for all drivers means touching 4 drivers. So instead, this patch just adds a test in r100_cp_init to avoid reallocating on resume. As the rdev structure is allocated via kzalloc in radeon_driver_load_kms, and zero is not a valid registerid, zero safely implies not-yet-allocated. This issue appears to have been introduced in c7eff978 (3.6.0-rcN) Signed-off-by: Simon Kitching <skitching@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> On Tue, Sep 18, 2012 at 9:13 AM, <alexdeucher@xxxxxxxxx> wrote: > From: Alex Deucher <alexander.deucher@xxxxxxx> > > The pll fix ended up causing some regressions. Drop it for 3.6. I've > fixed it properly in 3.7, but the fix is too invasive for 3.6. > > The following changes since commit 610bd7da160f76f1644ecb4cd7f39511b49a22cc: > > drm/nouveau: fix booting with plymouth + dumb support (2012-09-14 15:45:01 +1000) > > are available in the git repository at: > git://people.freedesktop.org/~agd5f/linux drm-fixes-3.6 > > Alex Deucher (1): > Revert "drm/radeon: rework pll selection (v3)" > > drivers/gpu/drm/radeon/atombios_crtc.c | 163 +++++++------------------------- > 1 files changed, 34 insertions(+), 129 deletions(-) _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel