qlcnic: use the correct ring in qlcnic_83xx_process_rcv_ring_diag()
[deliverable/linux.git] / drivers / irqchip / irq-mips-gic.c
index c089f49b63fb233c1156eaccdbff1d387a7e3dd1..3b5e10aa48ab48443210edde5c0fc4350b54d294 100644 (file)
@@ -968,7 +968,7 @@ static void __init __gic_init(unsigned long gic_base_addr,
                              unsigned int cpu_vec, unsigned int irqbase,
                              struct device_node *node)
 {
-       unsigned int gicconfig;
+       unsigned int gicconfig, cpu;
        unsigned int v[2];
 
        __gic_base_addr = gic_base_addr;
@@ -985,6 +985,14 @@ static void __init __gic_init(unsigned long gic_base_addr,
        gic_vpes = gic_vpes + 1;
 
        if (cpu_has_veic) {
+               /* Set EIC mode for all VPEs */
+               for_each_present_cpu(cpu) {
+                       gic_write(GIC_REG(VPE_LOCAL, GIC_VPE_OTHER_ADDR),
+                                 mips_cm_vp_id(cpu));
+                       gic_write(GIC_REG(VPE_OTHER, GIC_VPE_CTL),
+                                 GIC_VPE_CTL_EIC_MODE_MSK);
+               }
+
                /* Always use vector 1 in EIC mode */
                gic_cpu_pin = 0;
                timer_cpu_pin = gic_cpu_pin;
This page took 0.045951 seconds and 5 git commands to generate.