From: Ville Syrjala Laptops with Rage Mobility and 32bit memory interface seem to require halved XCLK to operate correctly. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- drivers/video/aty/atyfb_base.c | 3 +++ include/video/mach64.h | 1 + 2 files changed, 4 insertions(+) diff -puN drivers/video/aty/atyfb_base.c~atyfb-halve-xclk-with-mobility-and-32bit-memory drivers/video/aty/atyfb_base.c --- a/drivers/video/aty/atyfb_base.c~atyfb-halve-xclk-with-mobility-and-32bit-memory +++ a/drivers/video/aty/atyfb_base.c @@ -2377,6 +2377,9 @@ static int __devinit aty_init(struct fb_ /* for many chips, the mclk is 67 MHz for SDRAM, 63 MHz otherwise */ if (par->pll_limits.mclk == 67 && par->ram_type < SDRAM) par->pll_limits.mclk = 63; + /* Mobility + 32bit memory interface need halved XCLK. */ + if (M64_HAS(MOBIL_BUS) && par->ram_type == SDRAM32) + par->pll_limits.xclk = (par->pll_limits.xclk + 1) >> 1; } #endif diff -puN include/video/mach64.h~atyfb-halve-xclk-with-mobility-and-32bit-memory include/video/mach64.h --- a/include/video/mach64.h~atyfb-halve-xclk-with-mobility-and-32bit-memory +++ a/include/video/mach64.h @@ -885,6 +885,7 @@ #define SDRAM 4 #define SGRAM 5 #define WRAM 6 +#define SDRAM32 6 #define DAC_INTERNAL 0x00 #define DAC_IBMRGB514 0x01 _