From: Bernhard Urban Date: Fri, 4 Sep 2009 07:53:12 +0000 (+0200) Subject: lol noobs, how about clearing OHCI0_HC_INT_STATUS?! :) X-Git-Tag: firstresponse~43 X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=ppcskel.git;a=commitdiff_plain;h=364f2c37f1b3a971f60bf67a7030c56b550b1407 lol noobs, how about clearing OHCI0_HC_INT_STATUS?! :) --- diff --git a/irq.c b/irq.c index 7288be0..449a85c 100644 --- a/irq.c +++ b/irq.c @@ -14,8 +14,7 @@ Copyright (C) 2009 Andre Heider "dhewg" #include "hollywood.h" #include "ipc.h" #include "bootmii_ppc.h" -//debug only -#include "printf.h" +#include "ohci.h" void irq_initialize(void) { @@ -27,12 +26,19 @@ void irq_initialize(void) write32(HW_PPCIRQMASK, 0); write32(HW_PPCIRQFLAG, 0xffffffff); - printf("PPCIRQMASK: 0x%08X\n", read32(HW_PPCIRQMASK)); - - - //??? -- needed?! - //write32(HW_ARMIRQFLAG, 0); // this does nothing? - write32(HW_PPCIRQMASK+0x20, 0); + /* ??? -- needed?! + * in mini they do + * + * write32(HW_ARMIRQMASK+0x04, 0); + * write32(HW_ARMIRQMASK+0x20, 0); + * + * + * may it's here following; on the other + * hand it's already done by mini... + * + * write32(HW_PPCIRQMASK+0x04+0x08, 0); + * write32(HW_PPCIRQMASK+0x20+0x08, 0); + */ _CPU_ISR_Enable() } @@ -48,7 +54,8 @@ void irq_handler(void) { u32 enabled = read32(BW_PI_IRQMASK); u32 flags = read32(BW_PI_IRQFLAG); - printf("flags1: 0x%08X\n", flags); + printf( "========================\n" + "flags1: 0x%08X\n", flags); flags = flags & enabled; @@ -106,9 +113,8 @@ void irq_handler(void) //sdhc_irq(); } if (hw_flags & IRQF_OHCI0) { - printf("IRQ: OHCI0\n"); + ohci0_irq(); write32(HW_PPCIRQFLAG, IRQF_OHCI0); - //TODO: ohci0_irq(); } if (hw_flags & IRQF_OHCI1) { printf("IRQ: OHCI1\n"); @@ -124,14 +130,10 @@ void irq_handler(void) printf("hw_flags1: 0x%08x\n", read32(HW_PPCIRQFLAG)); - // quirk for flipper pic? TODO :/ - write32(HW_PPCIRQMASK, 0); - + // not necessary here, but "cleaner"? write32(BW_PI_IRQFLAG, 1<