Commit 5ff974d9 authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Linus Torvalds

[PATCH] radeonfb: Fix hang on boot with some laptops

It appears that access to the PLL registers of the radeon chip is
unreliable while the card is in "legacy VGA" text mode. I don't have a
good explanation yet, it might be the BIOS mucking around behind my
back. This fixes the lockup by moving the code that enables/disables the
dynamic power management to after the mode is set.

I'm still waiting for a proper explanation from ATI...
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent b78e01cf
...@@ -2361,13 +2361,6 @@ static int radeonfb_pci_register (struct pci_dev *pdev, ...@@ -2361,13 +2361,6 @@ static int radeonfb_pci_register (struct pci_dev *pdev,
pci_set_drvdata(pdev, info); pci_set_drvdata(pdev, info);
/* Setup Power Management capabilities */
if (default_dynclk < -1) {
/* -2 is special: means ON on mobility chips and do not change on others */
radeonfb_pm_init(rinfo, rinfo->is_mobility ? 1 : -1);
} else
radeonfb_pm_init(rinfo, default_dynclk);
/* Register with fbdev layer */ /* Register with fbdev layer */
ret = register_framebuffer(info); ret = register_framebuffer(info);
if (ret < 0) { if (ret < 0) {
...@@ -2376,6 +2369,13 @@ static int radeonfb_pci_register (struct pci_dev *pdev, ...@@ -2376,6 +2369,13 @@ static int radeonfb_pci_register (struct pci_dev *pdev,
goto err_unmap_fb; goto err_unmap_fb;
} }
/* Setup Power Management capabilities */
if (default_dynclk < -1) {
/* -2 is special: means ON on mobility chips and do not change on others */
radeonfb_pm_init(rinfo, rinfo->is_mobility ? 1 : -1);
} else
radeonfb_pm_init(rinfo, default_dynclk);
#ifdef CONFIG_MTRR #ifdef CONFIG_MTRR
rinfo->mtrr_hdl = nomtrr ? -1 : mtrr_add(rinfo->fb_base_phys, rinfo->mtrr_hdl = nomtrr ? -1 : mtrr_add(rinfo->fb_base_phys,
rinfo->video_ram, rinfo->video_ram,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment