Rev 1875 | Rev 1904 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1875 | Rev 1896 | ||
---|---|---|---|
Line 34... | Line 34... | ||
34 | 34 | ||
35 | #include <arch/interrupt.h> |
35 | #include <arch/interrupt.h> |
36 | #include <arch/trap/interrupt.h> |
36 | #include <arch/trap/interrupt.h> |
37 | #include <interrupt.h> |
37 | #include <interrupt.h> |
38 | #include <arch/drivers/fhc.h> |
38 | #include <arch/drivers/fhc.h> |
- | 39 | #include <arch/drivers/kbd.h> |
|
39 | #include <typedefs.h> |
40 | #include <typedefs.h> |
40 | #include <arch/types.h> |
41 | #include <arch/types.h> |
41 | #include <debug.h> |
42 | #include <debug.h> |
42 | #include <ipc/sysipc.h> |
43 | #include <ipc/sysipc.h> |
43 | #include <arch/asm.h> |
44 | #include <arch/asm.h> |
Line 60... | Line 61... | ||
60 | 61 | ||
61 | /* Reregister irq to be IPC-ready */ |
62 | /* Reregister irq to be IPC-ready */ |
62 | void irq_ipc_bind_arch(unative_t irq) |
63 | void irq_ipc_bind_arch(unative_t irq) |
63 | { |
64 | { |
64 | #ifdef CONFIG_Z8530 |
65 | #ifdef CONFIG_Z8530 |
- | 66 | if (kbd_type == KBD_Z8530) |
|
65 | z8530_belongs_to_kernel = false; |
67 | z8530_belongs_to_kernel = false; |
66 | #endif |
68 | #endif |
67 | } |
69 | } |
68 | 70 | ||
69 | void interrupt(int n, istate_t *istate) |
71 | void interrupt(int n, istate_t *istate) |
70 | { |
72 | { |
Line 75... | Line 77... | ||
75 | data0 = asi_u64_read(ASI_UDB_INTR_R, ASI_UDB_INTR_R_DATA_0); |
77 | data0 = asi_u64_read(ASI_UDB_INTR_R, ASI_UDB_INTR_R_DATA_0); |
76 | 78 | ||
77 | switch (data0) { |
79 | switch (data0) { |
78 | #ifdef CONFIG_Z8530 |
80 | #ifdef CONFIG_Z8530 |
79 | case Z8530_INTRCV_DATA0: |
81 | case Z8530_INTRCV_DATA0: |
- | 82 | if (kbd_type != KBD_Z8530) |
|
- | 83 | break; |
|
80 | /* |
84 | /* |
81 | * So far, we know we got this interrupt through the FHC. |
85 | * So far, we know we got this interrupt through the FHC. |
82 | * Since we don't have enough information about the FHC and |
86 | * Since we don't have enough information about the FHC and |
83 | * because the interrupt looks like level sensitive, |
87 | * because the interrupt looks like level sensitive, |
84 | * we cannot handle it by scheduling one of the level |
88 | * we cannot handle it by scheduling one of the level |