diff mbox

Fix hw_i2c option for RV280 and RV350.

Message ID 5026DA54.5020302@googlemail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Rankin Aug. 11, 2012, 10:19 p.m. UTC
Hi,

I've been carrying this fix privately for far too long; without it, I 
cannot enable the hardware I2C for either of my Radeons RV280 or RV350. 
It does not fix the I2C for my rv100, which remains broken.

The nature of the failure is that the display fails completely:

[   35.067825] [drm:drm_edid_block_valid] *ERROR* EDID checksum is 
invalid, remainder is 230
[   35.076023] Raw EDID:
[   35.078315]          00 ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff
[   35.084067]          ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   35.089820]          ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   35.095574]          ff ff ff ff ff ff ff ff ff 00 00 ff ff ff ff ff
[   35.101328]          ff ff 1e 1e ff ff ff ff ff ff ff 6d 6d ff ff ff
[   35.107080]          ff ff ff ff 3e 3e ff ff ff ff ff ff ff 4e 4e ff
[   35.112833]          ff ff ff ff ff ff 9a 9a ff ff ff ff ff ff ff f7
[   35.118587]          f7 ff ff ff ff ff ff ff ff ff ff 02 02 ff ff ff
[   35.167737] [drm:drm_edid_block_valid] *ERROR* EDID checksum is 
invalid, remainder is 142

Signed-off-by: Chris Rankin <rankincj@googlemail.com>

Cheers,
Chris
diff mbox

Patch

--- linux-3.5/drivers/gpu/drm/radeon/radeon_i2c.c.orig	2012-06-07 12:41:09.000000000 +0100
+++ linux-3.5/drivers/gpu/drm/radeon/radeon_i2c.c	2012-08-11 23:00:00.000000000 +0100
@@ -245,7 +245,7 @@ 
 	case CHIP_R300:
 	case CHIP_R350:
 	case CHIP_RV350:
-		i2c_clock = 60;
+		i2c_clock = 100;
 		nm = (sclk * 10) / (i2c_clock * 4);
 		for (loop = 1; loop < 255; loop++) {
 			if ((nm / loop) < loop)