Lines Matching refs:ic
35 static inline u32 lpc32xx_ic_read(struct lpc32xx_irq_chip *ic, u32 reg)
37 return readl_relaxed(ic->base + reg);
40 static inline void lpc32xx_ic_write(struct lpc32xx_irq_chip *ic,
43 writel_relaxed(val, ic->base + reg);
48 struct lpc32xx_irq_chip *ic = irq_data_get_irq_chip_data(d);
51 val = lpc32xx_ic_read(ic, LPC32XX_INTC_MASK) & ~mask;
52 lpc32xx_ic_write(ic, LPC32XX_INTC_MASK, val);
57 struct lpc32xx_irq_chip *ic = irq_data_get_irq_chip_data(d);
60 val = lpc32xx_ic_read(ic, LPC32XX_INTC_MASK) | mask;
61 lpc32xx_ic_write(ic, LPC32XX_INTC_MASK, val);
66 struct lpc32xx_irq_chip *ic = irq_data_get_irq_chip_data(d);
69 lpc32xx_ic_write(ic, LPC32XX_INTC_RAW, mask);
74 struct lpc32xx_irq_chip *ic = irq_data_get_irq_chip_data(d);
102 val = lpc32xx_ic_read(ic, LPC32XX_INTC_POL);
107 lpc32xx_ic_write(ic, LPC32XX_INTC_POL, val);
109 val = lpc32xx_ic_read(ic, LPC32XX_INTC_TYPE);
117 lpc32xx_ic_write(ic, LPC32XX_INTC_TYPE, val);
124 struct lpc32xx_irq_chip *ic = irq_data_get_irq_chip_data(d);
126 if (ic == lpc32xx_mic_irqc)
127 seq_printf(p, "%08x.mic", ic->addr);
129 seq_printf(p, "%08x.sic", ic->addr);
142 struct lpc32xx_irq_chip *ic = lpc32xx_mic_irqc;
143 u32 hwirq = lpc32xx_ic_read(ic, LPC32XX_INTC_STAT), irq;
154 struct lpc32xx_irq_chip *ic = irq_desc_get_handler_data(desc);
156 u32 hwirq = lpc32xx_ic_read(ic, LPC32XX_INTC_STAT), irq;
163 generic_handle_domain_irq(ic->domain, irq);
172 struct lpc32xx_irq_chip *ic = id->host_data;
174 irq_set_chip_data(virq, ic);