diff options
Diffstat (limited to 'drivers/irqchip/irq-mips-gic.c')
| -rw-r--r-- | drivers/irqchip/irq-mips-gic.c | 21 | 
1 files changed, 21 insertions, 0 deletions
| diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c index 9acdc080e7ec..f2d269bca789 100644 --- a/drivers/irqchip/irq-mips-gic.c +++ b/drivers/irqchip/irq-mips-gic.c @@ -166,6 +166,27 @@ cycle_t gic_read_compare(void)  	return (((cycle_t) hi) << 32) + lo;  } + +void gic_start_count(void) +{ +	u32 gicconfig; + +	/* Start the counter */ +	gicconfig = gic_read(GIC_REG(SHARED, GIC_SH_CONFIG)); +	gicconfig &= ~(1 << GIC_SH_CONFIG_COUNTSTOP_SHF); +	gic_write(GIC_REG(SHARED, GIC_SH_CONFIG), gicconfig); +} + +void gic_stop_count(void) +{ +	u32 gicconfig; + +	/* Stop the counter */ +	gicconfig = gic_read(GIC_REG(SHARED, GIC_SH_CONFIG)); +	gicconfig |= 1 << GIC_SH_CONFIG_COUNTSTOP_SHF; +	gic_write(GIC_REG(SHARED, GIC_SH_CONFIG), gicconfig); +} +  #endif  static bool gic_local_irq_is_routable(int intr) |