Re: mach64 breakage in 2.6.22

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 18, 2007 at 04:45:34PM +0200, Olaf Hering wrote:
> On Thu, Jun 14, Ville Syrjälä wrote:
> 
> > On Thu, Jun 14, 2007 at 10:25:28AM +0200, Olaf Hering wrote:
> > > On Sat, May 05, Andrew Morton wrote:
> > > 
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21/2.6.21-mm1/
> > > 
> > > > +atyfb-reorganize-clock-init.patch
> > > 
> > > This change breaks the display on an ibook1 with 800x600 lcd.
> > 
> > Are you sure?
> 
> Yes.

Strange. Either patch alone should not cause any change in the clock
frequencies. Combined the two and it should lead to exactly the dmesg
you posted.
> 
> > Please try this patch:
> 
> >  	if (machine_is_compatible("PowerBook2,1")) {
> >  		par->pll_limits.mclk = 70;
> > -		par->pll_limits.xclk = 53;
> > +		par->pll_limits.xclk = 106;
> 
> This oneliner fixes it for me.

Here's a slightly safer version, just in case there are iBooks with
non-mobility chips or using the 64bit memory interface.


atyfb: Fix XCLK frequency on Apple iBook1

Fix a regression on Apple iBook1. Changes in the clock init code
caused an incorrect XCLK frequency to be used leading to a corrupted
display.

Signed-off-by: Ville Syrjala <[email protected]>
---
 drivers/video/aty/atyfb_base.c |   17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

Index: linux-2.6.22-rc2/drivers/video/aty/atyfb_base.c
===================================================================
--- linux-2.6.22-rc2.orig/drivers/video/aty/atyfb_base.c
+++ linux-2.6.22-rc2/drivers/video/aty/atyfb_base.c
@@ -2290,15 +2290,6 @@ static int __devinit aty_init(struct fb_
 	init_waitqueue_head(&par->vblank.wait);
 	spin_lock_init(&par->int_lock);
 
-#ifdef CONFIG_PPC_PMAC
-	/* The Apple iBook1 uses non-standard memory frequencies. We detect it
-	 * and set the frequency manually. */
-	if (machine_is_compatible("PowerBook2,1")) {
-		par->pll_limits.mclk = 70;
-		par->pll_limits.xclk = 53;
-	}
-#endif
-
 #ifdef CONFIG_FB_ATY_GX
 	if (!M64_HAS(INTEGRATED)) {
 		u32 stat0;
@@ -2383,6 +2374,14 @@ static int __devinit aty_init(struct fb_
 			par->pll_limits.xclk = (par->pll_limits.xclk + 1) >> 1;
 	}
 #endif
+#ifdef CONFIG_PPC_PMAC
+	/* The Apple iBook1 uses non-standard memory frequencies. We detect it
+	 * and set the frequency manually. */
+	if (machine_is_compatible("PowerBook2,1")) {
+		par->pll_limits.mclk = 70;
+		par->pll_limits.xclk = 53;
+	}
+#endif
 
 	/* Allow command line to override clocks. */
 	if (pll)
-- 
Ville Syrjälä
[email protected]
http://www.sci.fi/~syrjala/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux