Lines Matching refs:gc

44 	struct irq_chip_generic		*gc;  member
55 struct irq_chip_generic *gc = handler->priv->gc; in liointc_chained_handle_irq() local
66 (handler->parent_int_map & gc->mask_cache & in liointc_chained_handle_irq()
76 generic_handle_domain_irq(gc->domain, bit); in liointc_chained_handle_irq()
83 static void liointc_set_bit(struct irq_chip_generic *gc, in liointc_set_bit() argument
88 writel(readl(gc->reg_base + offset) | mask, in liointc_set_bit()
89 gc->reg_base + offset); in liointc_set_bit()
91 writel(readl(gc->reg_base + offset) & ~mask, in liointc_set_bit()
92 gc->reg_base + offset); in liointc_set_bit()
97 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(data); in liointc_set_type() local
101 irq_gc_lock_irqsave(gc, flags); in liointc_set_type()
104 liointc_set_bit(gc, LIOINTC_REG_INTC_EDGE, mask, false); in liointc_set_type()
105 liointc_set_bit(gc, LIOINTC_REG_INTC_POL, mask, true); in liointc_set_type()
108 liointc_set_bit(gc, LIOINTC_REG_INTC_EDGE, mask, false); in liointc_set_type()
109 liointc_set_bit(gc, LIOINTC_REG_INTC_POL, mask, false); in liointc_set_type()
112 liointc_set_bit(gc, LIOINTC_REG_INTC_EDGE, mask, true); in liointc_set_type()
113 liointc_set_bit(gc, LIOINTC_REG_INTC_POL, mask, true); in liointc_set_type()
116 liointc_set_bit(gc, LIOINTC_REG_INTC_EDGE, mask, true); in liointc_set_type()
117 liointc_set_bit(gc, LIOINTC_REG_INTC_POL, mask, false); in liointc_set_type()
120 irq_gc_unlock_irqrestore(gc, flags); in liointc_set_type()
123 irq_gc_unlock_irqrestore(gc, flags); in liointc_set_type()
129 static void liointc_resume(struct irq_chip_generic *gc) in liointc_resume() argument
131 struct liointc_priv *priv = gc->private; in liointc_resume()
135 irq_gc_lock_irqsave(gc, flags); in liointc_resume()
137 writel(0xffffffff, gc->reg_base + LIOINTC_REG_INTC_DISABLE); in liointc_resume()
140 writeb(priv->map_cache[i], gc->reg_base + i); in liointc_resume()
142 writel(gc->mask_cache, gc->reg_base + LIOINTC_REG_INTC_ENABLE); in liointc_resume()
143 irq_gc_unlock_irqrestore(gc, flags); in liointc_resume()
163 struct irq_chip_generic *gc; in liointc_of_init() local
266 gc = irq_get_domain_generic_chip(domain, 0); in liointc_of_init()
267 gc->private = priv; in liointc_of_init()
268 gc->reg_base = base; in liointc_of_init()
269 gc->domain = domain; in liointc_of_init()
270 gc->resume = liointc_resume; in liointc_of_init()
272 ct = gc->chip_types; in liointc_of_init()
280 gc->mask_cache = 0; in liointc_of_init()
281 priv->gc = gc; in liointc_of_init()