Comment 6 for bug 577340

Revision history for this message
acimmarusti (andrescimmarusti) wrote :

I may have the answer. It worked for my laptop with a video card:

01:05.0 VGA compatible controller: ATI Technologies Inc Radeon XPRESS 200M 5955 (PCIE)

So, recently there was a commit to the 2.6.35rc5 kernel by David Airlie (he pointed this out to me):
http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commitdiff;h=580b4fffbbdc3c899ee1f8189ba321bd60b48840

Now, the way this patch is written it will only work for the specific card the nx6125 laptop has. I, however, blatantly changed the patch (basically simplified the if statement) and made it work for any chip.

In summary, get the kernel source (from Ubuntu, Debian or upstream). Unpack the sources and browse into drivers/gpu/drm/radeon/

Edit the file radeon_combios.c and find the line that says /* DYN CLK 1 */
Just before that line add the following:

/* quirk for rs4xx laptop to make it resume
* - it hangs on resume inside the dynclk 1 table.
*/
if (rdev->family == CHIP_RS480)
return;

After changing this, then simply compile your kernel, package it and install it. With KMS enabled it works like a charm.