• Home
  • Raw
  • Download

Lines Matching +full:cpu +full:- +full:intc

17 #include <linux/cpu.h>
22 #include <linux/irqchip/irq-bcm2836.h>
31 static struct bcm2836_arm_irqchip_intc intc __read_mostly;
35 int cpu) in bcm2836_arm_irqchip_mask_per_cpu_irq() argument
37 void __iomem *reg = intc.base + reg_offset + 4 * cpu; in bcm2836_arm_irqchip_mask_per_cpu_irq()
44 int cpu) in bcm2836_arm_irqchip_unmask_per_cpu_irq() argument
46 void __iomem *reg = intc.base + reg_offset + 4 * cpu; in bcm2836_arm_irqchip_unmask_per_cpu_irq()
54 d->hwirq - LOCAL_IRQ_CNTPSIRQ, in bcm2836_arm_irqchip_mask_timer_irq()
61 d->hwirq - LOCAL_IRQ_CNTPSIRQ, in bcm2836_arm_irqchip_unmask_timer_irq()
66 .name = "bcm2836-timer",
73 writel(1 << smp_processor_id(), intc.base + LOCAL_PM_ROUTING_CLR); in bcm2836_arm_irqchip_mask_pmu_irq()
78 writel(1 << smp_processor_id(), intc.base + LOCAL_PM_ROUTING_SET); in bcm2836_arm_irqchip_unmask_pmu_irq()
82 .name = "bcm2836-pmu",
96 .name = "bcm2836-gpu",
121 return -EINVAL; in bcm2836_map()
125 irq_domain_set_info(d, irq, hw, chip, d->host_data, in bcm2836_map()
135 int cpu = smp_processor_id(); in bcm2836_arm_irqchip_handle_irq() local
138 stat = readl_relaxed(intc.base + LOCAL_IRQ_PENDING0 + 4 * cpu); in bcm2836_arm_irqchip_handle_irq()
141 void __iomem *mailbox0 = (intc.base + in bcm2836_arm_irqchip_handle_irq()
142 LOCAL_MAILBOX0_CLR0 + 16 * cpu); in bcm2836_arm_irqchip_handle_irq()
144 u32 ipi = ffs(mbox_val) - 1; in bcm2836_arm_irqchip_handle_irq()
150 u32 hwirq = ffs(stat) - 1; in bcm2836_arm_irqchip_handle_irq()
152 handle_domain_irq(intc.domain, hwirq, regs); in bcm2836_arm_irqchip_handle_irq()
160 int cpu; in bcm2836_arm_irqchip_send_ipi() local
161 void __iomem *mailbox0_base = intc.base + LOCAL_MAILBOX0_SET0; in bcm2836_arm_irqchip_send_ipi()
169 for_each_cpu(cpu, mask) { in bcm2836_arm_irqchip_send_ipi()
170 writel(1 << ipi, mailbox0_base + 16 * cpu); in bcm2836_arm_irqchip_send_ipi()
174 static int bcm2836_cpu_starting(unsigned int cpu) in bcm2836_cpu_starting() argument
177 cpu); in bcm2836_cpu_starting()
181 static int bcm2836_cpu_dying(unsigned int cpu) in bcm2836_cpu_dying() argument
184 cpu); in bcm2836_cpu_dying()
198 /* Unmask IPIs to the boot CPU. */ in bcm2836_arm_irqchip_smp_init()
219 writel(0, intc.base + LOCAL_CONTROL); in bcm2835_init_local_timer_frequency()
225 writel(0x80000000, intc.base + LOCAL_PRESCALER); in bcm2835_init_local_timer_frequency()
231 intc.base = of_iomap(node, 0); in bcm2836_arm_irqchip_l1_intc_of_init()
232 if (!intc.base) { in bcm2836_arm_irqchip_l1_intc_of_init()
238 intc.domain = irq_domain_add_linear(node, LAST_IRQ + 1, in bcm2836_arm_irqchip_l1_intc_of_init()
241 if (!intc.domain) in bcm2836_arm_irqchip_l1_intc_of_init()
250 IRQCHIP_DECLARE(bcm2836_arm_irqchip_l1_intc, "brcm,bcm2836-l1-intc",