Lines Matching +full:1 +full:- +full:16
1 // SPDX-License-Identifier: GPL-2.0
34 static unsigned long cached_irq_mask[2] = { -1, -1 };
41 mask = (irq >= 64 ? mask << 16 : mask >> ((irq - 16) & 0x30)); in takara_update_irq_hw()
42 regaddr = 0x510 + (((irq - 16) >> 2) & 0x0c); in takara_update_irq_hw()
49 unsigned int irq = d->irq; in takara_enable_irq()
51 mask = (cached_irq_mask[irq >= 64] &= ~(1UL << (irq & 63))); in takara_enable_irq()
58 unsigned int irq = d->irq; in takara_disable_irq()
60 mask = (cached_irq_mask[irq >= 64] |= 1UL << (irq & 63)); in takara_disable_irq()
99 if (intstatus & 8) handle_irq(16+3); in takara_device_interrupt()
100 if (intstatus & 4) handle_irq(16+2); in takara_device_interrupt()
101 if (intstatus & 2) handle_irq(16+1); in takara_device_interrupt()
102 if (intstatus & 1) handle_irq(16+0); in takara_device_interrupt()
111 int irq = (vector - 0x800) >> 4; in takara_srm_device_interrupt()
127 /* Return to non-accelerated mode. */ in takara_init_irq()
136 for (i = 16; i < 128; i += 16) in takara_init_irq()
137 takara_update_irq_hw(i, -1); in takara_init_irq()
139 for (i = 16; i < 128; ++i) { in takara_init_irq()
150 * The Takara has PCI devices 1, 2, and 3 configured to slots 20,
154 * doesn't explicitly generate PCI-type interrupts, so we can
162 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */ in takara_map_irq_srm()
163 { 16+2, 16+2, 16+2, 16+2, 16+2}, /* slot 7 == device 2 */ in takara_map_irq_srm()
164 { 16+1, 16+1, 16+1, 16+1, 16+1}, /* slot 8 == device 1 */ in takara_map_irq_srm()
165 { -1, -1, -1, -1, -1}, /* slot 9 == nothing */ in takara_map_irq_srm()
166 { -1, -1, -1, -1, -1}, /* slot 10 == nothing */ in takara_map_irq_srm()
167 { -1, -1, -1, -1, -1}, /* slot 11 == nothing */ in takara_map_irq_srm()
172 { 0, 0, 1, 2, 3}, /* slot 15 == nothing */ in takara_map_irq_srm()
173 { -1, -1, -1, -1, -1}, /* slot 16 == nothing */ in takara_map_irq_srm()
174 {64+ 0, 64+0, 64+1, 64+2, 64+3}, /* slot 17= device 4 */ in takara_map_irq_srm()
175 {48+ 0, 48+0, 48+1, 48+2, 48+3}, /* slot 18= device 3 */ in takara_map_irq_srm()
176 {32+ 0, 32+0, 32+1, 32+2, 32+3}, /* slot 19= device 2 */ in takara_map_irq_srm()
177 {16+ 0, 16+0, 16+1, 16+2, 16+3}, /* slot 20= device 1 */ in takara_map_irq_srm()
181 if (irq >= 0 && irq < 16) { in takara_map_irq_srm()
183 unsigned int busslot = PCI_SLOT(dev->bus->self->devfn); in takara_map_irq_srm()
184 irq += irq_tab[busslot-min_idsel][0]; in takara_map_irq_srm()
193 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 6 == device 3 */ in takara_map_irq()
194 { 16+2, 16+2, 16+2, 16+2, 16+2}, /* slot 7 == device 2 */ in takara_map_irq()
195 { 16+1, 16+1, 16+1, 16+1, 16+1}, /* slot 8 == device 1 */ in takara_map_irq()
196 { -1, -1, -1, -1, -1}, /* slot 9 == nothing */ in takara_map_irq()
197 { -1, -1, -1, -1, -1}, /* slot 10 == nothing */ in takara_map_irq()
198 { -1, -1, -1, -1, -1}, /* slot 11 == nothing */ in takara_map_irq()
199 { -1, -1, -1, -1, -1}, /* slot 12 == nothing */ in takara_map_irq()
200 { -1, -1, -1, -1, -1}, /* slot 13 == nothing */ in takara_map_irq()
201 { -1, -1, -1, -1, -1}, /* slot 14 == nothing */ in takara_map_irq()
202 { -1, -1, -1, -1, -1}, /* slot 15 == nothing */ in takara_map_irq()
203 { -1, -1, -1, -1, -1}, /* slot 16 == nothing */ in takara_map_irq()
204 { -1, -1, -1, -1, -1}, /* slot 17 == nothing */ in takara_map_irq()
205 { 16+3, 16+3, 16+3, 16+3, 16+3}, /* slot 18 == device 3 */ in takara_map_irq()
206 { 16+2, 16+2, 16+2, 16+2, 16+2}, /* slot 19 == device 2 */ in takara_map_irq()
207 { 16+1, 16+1, 16+1, 16+1, 16+1}, /* slot 20 == device 1 */ in takara_map_irq()
216 int slot = PCI_SLOT(dev->devfn); in takara_swizzle()
221 if (!dev->bus->self) in takara_swizzle()
224 busslot = PCI_SLOT(dev->bus->self->devfn); in takara_swizzle()
225 /* Check for built-in bridges. */ in takara_swizzle()
226 if (dev->bus->number != 0 in takara_swizzle()
227 && busslot > 16 in takara_swizzle()
228 && ((1<<(36-busslot)) & ctlreg)) { in takara_swizzle()
229 if (pin == 1) in takara_swizzle()
230 pin += (20 - busslot); in takara_swizzle()
236 /* Must be a card-based bridge. */ in takara_swizzle()
238 "card-bridge behind builtin bridge yet.\n"); in takara_swizzle()
253 if (pc873xx_probe() == -1) { in takara_init_pci()