diff options
Diffstat (limited to 'arch/mips/kernel/irq-gic.c')
| -rw-r--r-- | arch/mips/kernel/irq-gic.c | 16 | 
1 files changed, 15 insertions, 1 deletions
diff --git a/arch/mips/kernel/irq-gic.c b/arch/mips/kernel/irq-gic.c index 5b5ddb231f2..88e4c323382 100644 --- a/arch/mips/kernel/irq-gic.c +++ b/arch/mips/kernel/irq-gic.c @@ -16,7 +16,6 @@  #include <asm/gic.h>  #include <asm/setup.h>  #include <asm/traps.h> -#include <asm/gcmpregs.h>  #include <linux/hardirq.h>  #include <asm-generic/bitops/find.h> @@ -55,6 +54,21 @@ void gic_write_compare(cycle_t cnt)  				(int)(cnt & 0xffffffff));  } +void gic_write_cpu_compare(cycle_t cnt, int cpu) +{ +	unsigned long flags; + +	local_irq_save(flags); + +	GICWRITE(GIC_REG(VPE_LOCAL, GIC_VPE_OTHER_ADDR), cpu); +	GICWRITE(GIC_REG(VPE_OTHER, GIC_VPE_COMPARE_HI), +				(int)(cnt >> 32)); +	GICWRITE(GIC_REG(VPE_OTHER, GIC_VPE_COMPARE_LO), +				(int)(cnt & 0xffffffff)); + +	local_irq_restore(flags); +} +  cycle_t gic_read_compare(void)  {  	unsigned int hi, lo;  | 
