Lines Matching refs:ixi

74 	struct ixp4xx_irq *ixi = irq_data_get_irq_chip_data(d);  in ixp4xx_irq_mask()  local
77 if (ixi->is_356 && d->hwirq >= 32) { in ixp4xx_irq_mask()
78 val = __raw_readl(ixi->irqbase + IXP4XX_ICMR2); in ixp4xx_irq_mask()
80 __raw_writel(val, ixi->irqbase + IXP4XX_ICMR2); in ixp4xx_irq_mask()
82 val = __raw_readl(ixi->irqbase + IXP4XX_ICMR); in ixp4xx_irq_mask()
84 __raw_writel(val, ixi->irqbase + IXP4XX_ICMR); in ixp4xx_irq_mask()
94 struct ixp4xx_irq *ixi = irq_data_get_irq_chip_data(d); in ixp4xx_irq_unmask() local
97 if (ixi->is_356 && d->hwirq >= 32) { in ixp4xx_irq_unmask()
98 val = __raw_readl(ixi->irqbase + IXP4XX_ICMR2); in ixp4xx_irq_unmask()
100 __raw_writel(val, ixi->irqbase + IXP4XX_ICMR2); in ixp4xx_irq_unmask()
102 val = __raw_readl(ixi->irqbase + IXP4XX_ICMR); in ixp4xx_irq_unmask()
104 __raw_writel(val, ixi->irqbase + IXP4XX_ICMR); in ixp4xx_irq_unmask()
111 struct ixp4xx_irq *ixi = &ixirq; in ixp4xx_handle_irq() local
115 status = __raw_readl(ixi->irqbase + IXP4XX_ICIP); in ixp4xx_handle_irq()
117 generic_handle_domain_irq(ixi->domain, i); in ixp4xx_handle_irq()
122 if (ixi->is_356) { in ixp4xx_handle_irq()
123 status = __raw_readl(ixi->irqbase + IXP4XX_ICIP2); in ixp4xx_handle_irq()
125 generic_handle_domain_irq(ixi->domain, i + 32); in ixp4xx_handle_irq()
157 struct ixp4xx_irq *ixi = d->host_data; in ixp4xx_irq_domain_alloc() local
178 &ixi->irqchip, in ixp4xx_irq_domain_alloc()
179 ixi, in ixp4xx_irq_domain_alloc()
205 static int __init ixp4xx_irq_setup(struct ixp4xx_irq *ixi, in ixp4xx_irq_setup() argument
212 ixi->irqbase = irqbase; in ixp4xx_irq_setup()
213 ixi->is_356 = is_356; in ixp4xx_irq_setup()
216 __raw_writel(0x0, ixi->irqbase + IXP4XX_ICLR); in ixp4xx_irq_setup()
219 __raw_writel(0x0, ixi->irqbase + IXP4XX_ICMR); in ixp4xx_irq_setup()
223 __raw_writel(0x0, ixi->irqbase + IXP4XX_ICLR2); in ixp4xx_irq_setup()
226 __raw_writel(0x0, ixi->irqbase + IXP4XX_ICMR2); in ixp4xx_irq_setup()
233 ixi->irqchip.name = "IXP4xx"; in ixp4xx_irq_setup()
234 ixi->irqchip.irq_mask = ixp4xx_irq_mask; in ixp4xx_irq_setup()
235 ixi->irqchip.irq_unmask = ixp4xx_irq_unmask; in ixp4xx_irq_setup()
236 ixi->irqchip.irq_set_type = ixp4xx_set_irq_type; in ixp4xx_irq_setup()
238 ixi->domain = irq_domain_create_linear(fwnode, nr_irqs, in ixp4xx_irq_setup()
240 ixi); in ixp4xx_irq_setup()
241 if (!ixi->domain) { in ixp4xx_irq_setup()
254 struct ixp4xx_irq *ixi = &ixirq; in ixp4xx_of_init_irq() local
272 ret = ixp4xx_irq_setup(ixi, base, fwnode, is_356); in ixp4xx_of_init_irq()