On Tue, Oct 4, 2011 at 12:58 PM, Linus Torvalds torvalds@linux-foundation.org wrote:
On Tue, Oct 4, 2011 at 9:34 AM, Dave Airlie airlied@linux.ie wrote:
all radeon fixes, one nasty startup crash and/or memory corruption on one family of radeon hd6450s resulted in a patch to stop setting a bunch of regs in the drivers and let the BIOS set them correctly, displayport regression fix, and some off-by-one in the cursor code around the corners of the screens.
Has this been tested with suspend/resume on a lot of machines?
In general, the registers that get set on boot correctly absolutely do *not* get set on resume.
So the registers that you now no longer set at boot-time should almost certainly still be saved and restored across suspend/resume. I don't know the code well enough to read the diffs, but a quick grep seems to show that when you removed the boot-time setup, you also removed the resume-time setup (well, at least MC_SHARED_CHREMAP doesn't seem to be used anywhere any more: it may be that it's saved-restores in some kind of "loop over all registers" that wouldn't have triggered the grep).
I pulled, but please verify that whole thing.
It's safe. The hw default value is fine (value in the register at asic power up). On most cards the hw default value is is fine. If it needs to be overridden in certain cases, that's handled by the asic_init vbios table which is executed at boot by the vbios and by the driver at resume time.
Alex