Return-Path: <benh@kernel.crashing.org>
Received: from localhost (bix [127.0.0.1])
	by localhost.localdomain (8.12.10/8.12.10) with ESMTP id j2B5nt9K004318
	for <akpm@localhost>; Thu, 10 Mar 2005 21:49:55 -0800
Received: from bix [127.0.0.1]
	by localhost with POP3 (fetchmail-6.2.0)
	for akpm@localhost (single-drop); Thu, 10 Mar 2005 21:49:55 -0800 (PST)
Received: from smtp.osdl.org (fire.osdl.org [65.172.181.4])
	by shell0.pdx.osdl.net (8.13.1/8.11.6) with ESMTP id j2B5kQlF007020
	for <akpm@mail.gateway.osdl.net>; Thu, 10 Mar 2005 21:46:26 -0800
Received: from gate.crashing.org (gate.crashing.org [63.228.1.57])
	by smtp.osdl.org (8.12.8/8.12.8) with ESMTP id j2B5kNqi000437
	(version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO)
	for <akpm@osdl.org>; Thu, 10 Mar 2005 21:46:25 -0800
Received: from gaston (localhost [127.0.0.1])
	by gate.crashing.org (8.12.8/8.12.8) with ESMTP id j2B5iCgJ024157;
	Thu, 10 Mar 2005 23:44:13 -0600
Subject: [PATCH] radeonfb: DDC i2c fix
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Andrew Morton <akpm@osdl.org>
Cc: Linux Fbdev development list <linux-fbdev-devel@lists.sourceforge.net>
Content-Type: text/plain
Date: Fri, 11 Mar 2005 16:46:10 +1100
Message-Id: <1110519970.5751.17.camel@gaston>
Mime-Version: 1.0
X-Mailer: Evolution 2.0.3 
Content-Transfer-Encoding: 7bit
Received-SPF: none (domain of benh@kernel.crashing.org does not designate permitted sender hosts)
X-MIMEDefang-Filter: osdl$Revision: 1.104 $
X-Scanned-By: MIMEDefang 2.36
X-Spam-Level: 
X-Spam-Status: No, score=-1.6 required=2.0 tests=AWL,BAYES_00 autolearn=ham 
	version=3.0.2
X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on bix

Hi !

The radeonfb code for DDC probing (like it's X.org counterpart) uses to
leave the DDC clock & data lines asserted after the probing is complete.
This causes problems with some Apple monitors like the new Cinema HD
23", who will turn themselves off when that happens. This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

Index: linux-work/drivers/video/aty/radeon_i2c.c
===================================================================
--- linux-work.orig/drivers/video/aty/radeon_i2c.c	2005-01-24 17:09:44.000000000 +1100
+++ linux-work/drivers/video/aty/radeon_i2c.c	2005-03-04 17:26:42.000000000 +1100
@@ -236,6 +236,12 @@
 		if (edid)
 			break;
 	}
+	/* Release the DDC lines when done or the Apple Cinema HD display
+	 * will switch off
+	 */
+	OUTREG(reg, INREG(reg) & ~(VGA_DDC_CLK_OUT_EN | VGA_DDC_DATA_OUT_EN));
+	(void)INREG(reg);
+
 	if (out_edid)
 		*out_edid = edid;
 	if (!edid) {