gic: introduce gic_cpu_if_down()
authorNicolas Pitre <nicolas.pitre@linaro.org>
Wed, 20 Mar 2013 03:59:04 +0000 (23:59 -0400)
committerJon Medhurst <tixy@linaro.org>
Mon, 1 Jul 2013 10:05:12 +0000 (11:05 +0100)
This should be queued right before 'Revert "ARM: common: add GIC bybass disable
on GIC CPU IF save function"'.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
drivers/irqchip/irq-gic.c
include/linux/irqchip/arm-gic.h

index 19ceaa60e0f45c755fd67d840e8ee90de320d1ca..fe44d3e2c702dd1d96922371c97829a352d2db57 100644 (file)
@@ -453,6 +453,12 @@ static void __cpuinit gic_cpu_init(struct gic_chip_data *gic)
        writel_relaxed(1, base + GIC_CPU_CTRL);
 }
 
+void gic_cpu_if_down(void)
+{
+       void __iomem *cpu_base = gic_data_cpu_base(&gic_data[0]);
+       writel_relaxed(0, cpu_base + GIC_CPU_CTRL);
+}
+
 #ifdef CONFIG_CPU_PM
 /*
  * Saves the GIC distributor registers during suspend or idle.  Must be called
index 3e203eb23cc79231f96ae50e1fb56da9cf4125ad..b5696108c06e8aa7705d512b94f951744f13c228 100644 (file)
@@ -67,6 +67,8 @@ void gic_init_bases(unsigned int, int, void __iomem *, void __iomem *,
                    u32 offset, struct device_node *);
 void gic_cascade_irq(unsigned int gic_nr, unsigned int irq);
 
+void gic_cpu_if_down(void);
+
 static inline void gic_init(unsigned int nr, int start,
                            void __iomem *dist , void __iomem *cpu)
 {