Lines Matching +full:three +full:- +full:level
19 * Dreamcast System ASIC Hardware Events -
29 * There are three 32-bit ESRs located at 0xa05f6900 - 0xa05f6908. Event
30 * types can be found in arch/sh/include/mach-dreamcast/mach/sysasic.h.
31 * There are three groups of EMRs that parallel the ESRs. Each EMR group
32 * corresponds to an IRQ, so 0xa05f6910 - 0xa05f6918 triggers IRQ 13,
33 * 0xa05f6920 - 0xa05f6928 triggers IRQ 11, and 0xa05f6930 - 0xa05f6938
40 * 6900/6910 - Events 0-31, IRQ 13
41 * 6904/6924 - Events 32-63, IRQ 11
42 * 6908/6938 - Events 64-95, IRQ 9
53 #define LEVEL(event) (((event) - HW_EVENT_IRQ_BASE) / 32) macro
56 #define EVENT_BIT(event) (((event) - HW_EVENT_IRQ_BASE) & 31)
66 unsigned int irq = data->irq; in disable_systemasic_irq()
67 __u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2); in disable_systemasic_irq()
78 unsigned int irq = data->irq; in enable_systemasic_irq()
79 __u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2); in enable_systemasic_irq()
90 unsigned int irq = data->irq; in mask_ack_systemasic_irq()
91 __u32 esr = ESR_BASE + (LEVEL(irq) << 2); in mask_ack_systemasic_irq()
108 __u32 emr, esr, status, level; in systemasic_irq_demux() local
113 level = 0; in systemasic_irq_demux()
116 level = 1; in systemasic_irq_demux()
119 level = 2; in systemasic_irq_demux()
124 emr = EMR_BASE + (level << 4) + (level << 2); in systemasic_irq_demux()
125 esr = ESR_BASE + (level << 2); in systemasic_irq_demux()
134 irq = HW_EVENT_IRQ_BASE + j + (level << 5); in systemasic_irq_demux()
148 HW_EVENT_IRQ_MAX - HW_EVENT_IRQ_BASE, -1); in systemasic_irq_init()