Lines Matching +full:32 +full:- +full:bit

1 // SPDX-License-Identifier: GPL-2.0
9 * Code supporting the Sable, Sable-Gamma, and Lynx systems.
39 /* Note mask bit is true for DISABLED irqs. */
42 void (*update_irq_hw)(unsigned long bit, unsigned long mask);
43 void (*ack_irq_hw)(unsigned long bit);
58 * 0-7 (char at 536)
59 * 8-15 (char at 53a)
60 * 16-23 (char at 53c)
64 * Bit Meaning Kernel IRQ
65 *------------------------------------------
68 * 2 TULIP (builtin) 32
76 *10 EISA irq 3 -
77 *11 EISA irq 4 -
79 *13 EISA irq 6 -
80 *14 EISA irq 7 -
85 *19 EISA irq 12 -
86 *20 EISA irq 13 -
89 *23 IIC -
93 sable_update_irq_hw(unsigned long bit, unsigned long mask) in sable_update_irq_hw() argument
97 if (bit >= 16) { in sable_update_irq_hw()
100 } else if (bit >= 8) { in sable_update_irq_hw()
109 sable_ack_irq_hw(unsigned long bit) in sable_ack_irq_hw() argument
113 if (bit >= 16) { in sable_ack_irq_hw()
115 val1 = 0xE0 | (bit - 16); in sable_ack_irq_hw()
117 } else if (bit >= 8) { in sable_ack_irq_hw()
119 val1 = 0xE0 | (bit - 8); in sable_ack_irq_hw()
123 val1 = 0xE0 | (bit - 0); in sable_ack_irq_hw()
133 -1, 6, -1, 8, 15, 12, 7, 9, /* pseudo PIC 0-7 */
134 -1, 16, 17, 18, 3, -1, 21, 22, /* pseudo PIC 8-15 */
135 -1, -1, -1, -1, -1, -1, -1, -1, /* pseudo EISA 0-7 */
136 -1, -1, -1, -1, -1, -1, -1, -1, /* pseudo EISA 8-15 */
137 2, 1, 0, 4, 5, -1, -1, -1, /* pseudo PCI */
138 -1, -1, -1, -1, -1, -1, -1, -1, /* */
139 -1, -1, -1, -1, -1, -1, -1, -1, /* */
140 -1, -1, -1, -1, -1, -1, -1, -1 /* */
143 34, 33, 32, 12, 35, 36, 1, 6, /* mask 0-7 */
144 3, 7, -1, -1, 5, -1, -1, 4, /* mask 8-15 */
145 9, 10, 11, -1, -1, 14, 15, -1, /* mask 16-23 */
146 -1, -1, -1, -1, -1, -1, -1, -1, /* */
147 -1, -1, -1, -1, -1, -1, -1, -1, /* */
148 -1, -1, -1, -1, -1, -1, -1, -1, /* */
149 -1, -1, -1, -1, -1, -1, -1, -1, /* */
150 -1, -1, -1, -1, -1, -1, -1, -1 /* */
152 -1,
160 outb(-1, 0x537); /* slave 0 */ in sable_init_irq()
161 outb(-1, 0x53b); /* slave 1 */ in sable_init_irq()
162 outb(-1, 0x53d); /* slave 2 */ in sable_init_irq()
177 * 2 PCI-EISA bridge
187 * above for PCI interrupts. The IRQ relates to which bit the interrupt
200 { 32+0, 32+0, 32+0, 32+0, 32+0}, /* IdSel 0, TULIP */ in sable_map_irq()
201 { 32+1, 32+1, 32+1, 32+1, 32+1}, /* IdSel 1, SCSI */ in sable_map_irq()
202 { -1, -1, -1, -1, -1}, /* IdSel 2, SIO */ in sable_map_irq()
203 { -1, -1, -1, -1, -1}, /* IdSel 3, none */ in sable_map_irq()
204 { -1, -1, -1, -1, -1}, /* IdSel 4, none */ in sable_map_irq()
205 { -1, -1, -1, -1, -1}, /* IdSel 5, none */ in sable_map_irq()
206 { 32+2, 32+2, 32+2, 32+2, 32+2}, /* IdSel 6, slot 0 */ in sable_map_irq()
207 { 32+3, 32+3, 32+3, 32+3, 32+3}, /* IdSel 7, slot 1 */ in sable_map_irq()
208 { 32+4, 32+4, 32+4, 32+4, 32+4} /* IdSel 8, slot 2 */ in sable_map_irq()
221 unsigned long bit, mask; in sable_lynx_enable_irq() local
223 bit = sable_lynx_irq_swizzle->irq_to_mask[d->irq]; in sable_lynx_enable_irq()
225 mask = sable_lynx_irq_swizzle->shadow_mask &= ~(1UL << bit); in sable_lynx_enable_irq()
226 sable_lynx_irq_swizzle->update_irq_hw(bit, mask); in sable_lynx_enable_irq()
229 printk("%s: mask 0x%lx bit 0x%lx irq 0x%x\n", in sable_lynx_enable_irq()
230 __func__, mask, bit, irq); in sable_lynx_enable_irq()
237 unsigned long bit, mask; in sable_lynx_disable_irq() local
239 bit = sable_lynx_irq_swizzle->irq_to_mask[d->irq]; in sable_lynx_disable_irq()
241 mask = sable_lynx_irq_swizzle->shadow_mask |= 1UL << bit; in sable_lynx_disable_irq()
242 sable_lynx_irq_swizzle->update_irq_hw(bit, mask); in sable_lynx_disable_irq()
245 printk("%s: mask 0x%lx bit 0x%lx irq 0x%x\n", in sable_lynx_disable_irq()
246 __func__, mask, bit, irq); in sable_lynx_disable_irq()
253 unsigned long bit, mask; in sable_lynx_mask_and_ack_irq() local
255 bit = sable_lynx_irq_swizzle->irq_to_mask[d->irq]; in sable_lynx_mask_and_ack_irq()
257 mask = sable_lynx_irq_swizzle->shadow_mask |= 1UL << bit; in sable_lynx_mask_and_ack_irq()
258 sable_lynx_irq_swizzle->update_irq_hw(bit, mask); in sable_lynx_mask_and_ack_irq()
259 sable_lynx_irq_swizzle->ack_irq_hw(bit); in sable_lynx_mask_and_ack_irq()
275 so-called legacy IRQs for many common devices. */ in sable_lynx_srm_device_interrupt()
277 int bit, irq; in sable_lynx_srm_device_interrupt() local
279 bit = (vector - 0x800) >> 4; in sable_lynx_srm_device_interrupt()
280 irq = sable_lynx_irq_swizzle->mask_to_irq[bit]; in sable_lynx_srm_device_interrupt()
282 printk("%s: vector 0x%lx bit 0x%x irq 0x%x\n", in sable_lynx_srm_device_interrupt()
283 __func__, vector, bit, irq); in sable_lynx_srm_device_interrupt()
320 .vector_name = "Sable-Gamma",