Subject: Re: radeon boot "hot-crash"

From: Benjamin Herrenschmidt <[email-masked]>
Date: Sun, 04 Nov 2007 14:39:45 +1100

On Fri, 2007-11-02 at 19:55 +0100, Michael Buesch wrote:
> Hi,
> 
> I'm wondering how we are finally going to fix my radeon
> "hot-crash" issue.
> Fact is, applying the patch below fixes the issue.

And will break somebody else ... 

> Though, I see that this is not the correct patch to fix it.
> Other devices might need the register write which is removed here.
> So what about the following:
> We add a specialcase for the exact type (and revision and so on)
> for my chip here.
> How do  find out what's my chiprevision?
> What exactly should be checked for here, so that only this chip
> is affected by the workaround?

I think best is to check for the specific machine. What powerbook model
is this ?

Ben.

> 
> Index: wireless-2.6/drivers/video/aty/radeon_i2c.c
> ===================================================================
> --- wireless-2.6.orig/drivers/video/aty/radeon_i2c.c	2007-10-17 18:03:10.000000000 +0200
> +++ wireless-2.6/drivers/video/aty/radeon_i2c.c	2007-10-17 18:18:52.000000000 +0200
> @@ -137,13 +137,7 @@ void radeon_delete_i2c_busses(struct rad
>  int radeon_probe_i2c_connector(struct radeonfb_info *rinfo, int conn,
>  			       u8 **out_edid)
>  {
> -	u32 reg = rinfo->i2c[conn-1].ddc_reg;
> -	u8 *edid;
> -
> -	OUTREG(reg, INREG(reg) &
> -			~(VGA_DDC_DATA_OUTPUT | VGA_DDC_CLK_OUTPUT));
> -
> -	edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter);
> +	u8 *edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter);
>  
>  	if (out_edid)
>  		*out_edid = edid;
>