lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <46e1c7760901221022p697f1689ubf03c909cdf1b99b@mail.gmail.com>
Date:	Thu, 22 Jan 2009 20:22:48 +0200
From:	Risto Suominen <risto.suominen@...il.com>
To:	Alex Kern <alex.kern@....de>
Cc:	linux-kernel@...r.kernel.org, benh@...nel.crashing.org
Subject: [PATCH] atyfb: fix distorted image on PowerMacs

Since the complete re-write in 2.6.10, some PowerMacs (At least PowerMac 5500
and PowerMac G3 Beige rev A) with ATI Mach64 chip have suffered from unstable
columns in their framebuffer image. This seems to depend on a value (4) read
from PLL_EXT_CNTL register, which leads to incorrect DSP config parameters to
be written to the chip. This patch uses a value calculated by aty_init_pll_ct
instead, as a starting point.

Signed-off-by: Risto Suominen <Risto.Suominen@...il.com>
---
The testing is done on kernel version 2.6.18.

--- a/drivers/video/aty/mach64_ct.c.org	2006-09-20 06:42:06.000000000 +0300
+++ b/drivers/video/aty/mach64_ct.c	2009-01-22 14:28:13.000000000 +0200
@@ -7,6 +7,7 @@
 #include <linux/delay.h>
 #include <asm/io.h>
 #include <video/mach64.h>
+#include <asm/machdep.h>
 #include "atyfb.h"

 #undef DEBUG
@@ -536,6 +537,14 @@ static int __init aty_init_pll_ct(const
 	pll->ct.xclk_post_div_real = postdividers[xpost_div];
 	pll->ct.mclk_fb_div = q * pll->ct.xclk_post_div_real / 8;

+#ifdef CONFIG_PPC
+	if (machine_is(powermac)) {
+		/* Override PLL_EXT_CNTL & 0x07. */
+		pll->ct.xclk_post_div = xpost_div;
+		pll->ct.xclk_ref_div = 1;
+	}
+#endif
+
 #ifdef DEBUG
 	pllmclk = (1000000 * pll->ct.mclk_fb_mult * pll->ct.mclk_fb_div) /
 			(par->ref_clk_per * pll->ct.pll_ref_div);

View attachment "aty-mach64-pmac.diff" of type "text/x-diff" (1306 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ