Lines Matching refs:d
83 static void vt8500_irq_mask(struct irq_data *d) in vt8500_irq_mask() argument
85 struct vt8500_irq_data *priv = d->domain->host_data; in vt8500_irq_mask()
87 void __iomem *stat_reg = base + VT8500_ICIS + (d->hwirq < 32 ? 0 : 4); in vt8500_irq_mask()
91 edge = readb(base + VT8500_ICDC + d->hwirq) & VT8500_EDGE; in vt8500_irq_mask()
95 status |= (1 << (d->hwirq & 0x1f)); in vt8500_irq_mask()
98 dctr = readb(base + VT8500_ICDC + d->hwirq); in vt8500_irq_mask()
100 writeb(dctr, base + VT8500_ICDC + d->hwirq); in vt8500_irq_mask()
104 static void vt8500_irq_unmask(struct irq_data *d) in vt8500_irq_unmask() argument
106 struct vt8500_irq_data *priv = d->domain->host_data; in vt8500_irq_unmask()
110 dctr = readb(base + VT8500_ICDC + d->hwirq); in vt8500_irq_unmask()
112 writeb(dctr, base + VT8500_ICDC + d->hwirq); in vt8500_irq_unmask()
115 static int vt8500_irq_set_type(struct irq_data *d, unsigned int flow_type) in vt8500_irq_set_type() argument
117 struct vt8500_irq_data *priv = d->domain->host_data; in vt8500_irq_set_type()
121 dctr = readb(base + VT8500_ICDC + d->hwirq); in vt8500_irq_set_type()
129 irq_set_handler_locked(d, handle_level_irq); in vt8500_irq_set_type()
133 irq_set_handler_locked(d, handle_edge_irq); in vt8500_irq_set_type()
137 irq_set_handler_locked(d, handle_edge_irq); in vt8500_irq_set_type()
140 writeb(dctr, base + VT8500_ICDC + d->hwirq); in vt8500_irq_set_type()