Powerbook shuts down hard when hot, patch found
mb at bu3sch.de
Sun Sep 30 20:13:36 EST 2007
On Sunday 30 September 2007 00:49:05 Benjamin Herrenschmidt wrote:
> Well, it's possible that they have a too weak pull-up resistor on those
> lines, and thus when asserted to 0, a significant current goes through
> causing the whole thing to heat up. That heat added to the residual heat
> of a hot boot becomes then enough to trigger the temperature sensor
> threshold... just one possible explanation.
> > That's why I thought about some silicon bug. Why only when it's hot? :)
> > > Also, the other change I made you do turns these into inputs, thus the
> > The _EN bits are already all cleared, as you can see in my printk dump.
> > So clearing them has no effect, of course.
> > So the ports are Inputs as default on boot.
> Hrm, that's weird then, because in that case, changing the output bits
> shouldn't have any effect, unless maybe on some chips, the EN bits are
> flipped. I don't have anything specific about the rv350 tho.
> Can you print which specific DDC register is doing that (it's called
> twice right ?) and maybe do a patch preventing that write only for one
> of them and let me know if it makes a difference.
Here's the log of a working kernel.
As you can see, I only removed the write for register 0x60 here.
So it only crashes when I clear the bits in this register.
(makes sense, as there's nothing to clear in the other one).
[ 0.453703] PCI: Enabling device 0000:00:10.0 (0006 -> 0007)
[ 0.649319] radeonfb (0000:00:10.0): Invalid ROM signature 303 should be 0xaa55
[ 0.649329] radeonfb: Retrieved PLL infos from Open Firmware
[ 0.649340] radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=203.00 Mhz, System=392.00 MHz
[ 0.649350] radeonfb: PLL min 12000 max 35000
[ 0.650146] DDC REG 0x00000060 IS 0x00000303
[ 0.793754] i2c-adapter i2c-2: unable to read EDID block.
[ 1.013748] i2c-adapter i2c-2: unable to read EDID block.
[ 1.233748] i2c-adapter i2c-2: unable to read EDID block.
[ 1.310002] DDC REG 0x0000006C IS 0x00000000
[ 1.310007] WRITING
[ 1.650506] ieee1394: Host added: ID:BUS[0-00:1023] GUID[001124fffed98036]
[ 1.700986] radeonfb: Monitor 1 type LCD found
[ 1.700995] radeonfb: EDID probed
[ 1.701001] radeonfb: Monitor 2 type no found
[ 1.701015] radeonfb: Using Firmware dividers 0x0002008e from PPLL 0
[ 1.701130] radeonfb: Dynamic Clock Power Management enabled
[ 1.742608] Console: switching to colour frame buffer device 160x53
[ 1.765577] radeonfb: Backlight initialized (radeonbl0)
[ 1.765767] radeonfb (0000:00:10.0): ATI Radeon NP
[ 1.776757] Generic RTC Driver v1.07
[ 1.777085] Macintosh non-volatile memory driver v1.1
[ 1.777429] Linux agpgart interface v0.102
[ 1.777739] agpgart: Detected Apple UniNorth 2 chipset
More information about the Linuxppc-dev