projects
/
ppcskel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dummyconfig is now static, however control_quirk is still needed. (wtf)
[ppcskel.git]
/
irq.c
diff --git
a/irq.c
b/irq.c
index 449a85c34a1e43f861f82f7ab7c90ee03a07294c..4f15bb8b9f4e63e5f8114954125f3f043bf1c5f7 100644
(file)
--- a/
irq.c
+++ b/
irq.c
@@
-14,7
+14,7
@@
Copyright (C) 2009 Andre Heider "dhewg" <dhewg@wiibrew.org>
#include "hollywood.h"
#include "ipc.h"
#include "bootmii_ppc.h"
#include "hollywood.h"
#include "ipc.h"
#include "bootmii_ppc.h"
-#include "
ohci
.h"
+#include "
usb/host/host
.h"
void irq_initialize(void)
{
void irq_initialize(void)
{
@@
-54,8
+54,6
@@
void irq_handler(void)
{
u32 enabled = read32(BW_PI_IRQMASK);
u32 flags = read32(BW_PI_IRQFLAG);
{
u32 enabled = read32(BW_PI_IRQMASK);
u32 flags = read32(BW_PI_IRQFLAG);
- printf( "========================\n"
- "flags1: 0x%08X\n", flags);
flags = flags & enabled;
flags = flags & enabled;
@@
-67,7
+65,7
@@
void irq_handler(void)
u32 hw_enabled = read32(HW_PPCIRQMASK);
u32 hw_flags = read32(HW_PPCIRQFLAG);
u32 hw_enabled = read32(HW_PPCIRQMASK);
u32 hw_flags = read32(HW_PPCIRQFLAG);
- printf("In IRQ handler: 0x%08x 0x%08x 0x%08x\n", hw_enabled, hw_flags, hw_flags & hw_enabled);
+
//
printf("In IRQ handler: 0x%08x 0x%08x 0x%08x\n", hw_enabled, hw_flags, hw_flags & hw_enabled);
hw_flags = hw_flags & hw_enabled;
hw_flags = hw_flags & hw_enabled;
@@
-113,13
+111,12
@@
void irq_handler(void)
//sdhc_irq();
}
if (hw_flags & IRQF_OHCI0) {
//sdhc_irq();
}
if (hw_flags & IRQF_OHCI0) {
-
ohci0
_irq();
+
hcdi
_irq();
write32(HW_PPCIRQFLAG, IRQF_OHCI0);
}
if (hw_flags & IRQF_OHCI1) {
write32(HW_PPCIRQFLAG, IRQF_OHCI0);
}
if (hw_flags & IRQF_OHCI1) {
- printf("IRQ: OHCI1\n");
- write32(HW_PPCIRQFLAG, IRQF_OHCI1);
//TODO: ohci1_irq();
//TODO: ohci1_irq();
+ write32(HW_PPCIRQFLAG, IRQF_OHCI1);
}
hw_flags &= ~IRQF_ALL;
}
hw_flags &= ~IRQF_ALL;
@@
-128,12
+125,9
@@
void irq_handler(void)
write32(HW_PPCIRQFLAG, hw_flags);
}
write32(HW_PPCIRQFLAG, hw_flags);
}
- printf("hw_flags1: 0x%08x\n", read32(HW_PPCIRQFLAG));
-
// not necessary here, but "cleaner"?
write32(BW_PI_IRQFLAG, 1<<BW_PI_IRQ_HW);
}
// not necessary here, but "cleaner"?
write32(BW_PI_IRQFLAG, 1<<BW_PI_IRQ_HW);
}
- printf("flags2: 0x%08X\n", read32(BW_PI_IRQFLAG));
}
void irq_bw_enable(u32 irq)
}
void irq_bw_enable(u32 irq)
@@
-163,5
+157,6
@@
u32 irq_kill() {
void irq_restore(u32 cookie) {
_CPU_ISR_Restore(cookie);
void irq_restore(u32 cookie) {
_CPU_ISR_Restore(cookie);
+ _CPU_ISR_Enable(); //wtf :/
}
}