Lines Matching refs:vic

3  *  linux/arch/arm/common/vic.c
23 #include <linux/irqchip/arm-vic.h>
101 static void resume_one_vic(struct vic_device *vic)
103 void __iomem *base = vic->base;
105 printk(KERN_DEBUG "%s: resuming vic at %p\n", __func__, base);
110 writel(vic->int_select, base + VIC_INT_SELECT);
111 writel(vic->protect, base + VIC_PROTECT);
114 writel(vic->int_enable, base + VIC_INT_ENABLE);
115 writel(~vic->int_enable, base + VIC_INT_ENABLE_CLEAR);
119 writel(vic->soft_int, base + VIC_INT_SOFT);
120 writel(~vic->soft_int, base + VIC_INT_SOFT_CLEAR);
131 static void suspend_one_vic(struct vic_device *vic)
133 void __iomem *base = vic->base;
135 printk(KERN_DEBUG "%s: suspending vic at %p\n", __func__, base);
137 vic->int_select = readl(base + VIC_INT_SELECT);
138 vic->int_enable = readl(base + VIC_INT_ENABLE);
139 vic->soft_int = readl(base + VIC_INT_SOFT);
140 vic->protect = readl(base + VIC_PROTECT);
145 writel(vic->resume_irqs, base + VIC_INT_ENABLE);
146 writel(~vic->resume_irqs, base + VIC_INT_ENABLE_CLEAR);
203 static int handle_one_vic(struct vic_device *vic, struct pt_regs *regs)
208 while ((stat = readl_relaxed(vic->base + VIC_IRQ_STATUS))) {
210 generic_handle_domain_irq(vic->domain, irq);
221 struct vic_device *vic = irq_desc_get_handler_data(desc);
225 while ((stat = readl_relaxed(vic->base + VIC_IRQ_STATUS))) {
227 generic_handle_domain_irq(vic->domain, hwirq);
512 IRQCHIP_DECLARE(arm_pl190_vic, "arm,pl190-vic", vic_of_init);
513 IRQCHIP_DECLARE(arm_pl192_vic, "arm,pl192-vic", vic_of_init);
514 IRQCHIP_DECLARE(arm_versatile_vic, "arm,versatile-vic", vic_of_init);