#ifndef __ARCH_ARM_MACH_DMW_INCLUDE_MACH_TIMING_H
#define __ARCH_ARM_MACH_DMW_INCLUDE_MACH_TIMING_H

#include <mach/irqs.h>


struct timing {
	unsigned long count;
	unsigned long time;
	unsigned long min;
	unsigned long max;
};

extern struct timing irq_timings[DMW_PLICU_NR_IRQS];

unsigned long timing_get(void);
unsigned long timing_calc(unsigned long cnt0, unsigned long cnt1);
unsigned int pushirq(unsigned int val, unsigned int i);
unsigned int popirq( unsigned int *pval, unsigned int i);
unsigned int is_irqstack_empty(unsigned int i);
#endif
