Hi Ben, On Mon, Mar 28, 2005 at 06:28:05PM +1000, Benjamin Herrenschmidt wrote: > Hrm... Indeed, the code looks bogus. Try replacing: > > reg = (u32 *)get_property(volt_gpio_np, "reg", NULL); > voltage_gpio = *reg; > > With > > if (volt_gpio_np) > voltage_gpio = read_gpio(volt_gpio_np); > > And let me know if it helps. I think this will not help. If I apply your patch, but on top of this disable the actual frequence switching, then no crash occurs any more. The change I made was:
diff -ur linux-2.6.11.4.orig/arch/ppc/kernel/misc.S
linux-2.6.11/arch/ppc/kernel/misc.S
--- linux-2.6.11.4.orig/arch/ppc/kernel/misc.S 2005-03-02
07:38:26.000000000 +0000
+++ linux-2.6.11/arch/ppc/kernel/misc.S 2005-03-19 11:06:29.000000000 +0000
@@ -263,7 +263,7 @@
mfspr r4,SPRN_HID1
insrwi r4,r3,1,9 /* insert parameter into bit 9 */
sync
- mtspr SPRN_HID1,r4
+ /* mtspr SPRN_HID1,r4 */
sync
isync
This proves, I think, that the problem is that the voltage is not
properly ramped up to the full value.
I hope this helps,
Jochen
--
http://seehuhn.de/
signature.asc
Description: Digital signature

