コード例 #1
0
ファイル: mips-gic-timer.c プロジェクト: hackbras/linux
static irqreturn_t gic_compare_interrupt(int irq, void *dev_id)
{
	struct clock_event_device *cd = dev_id;

	gic_write_compare(gic_read_compare());
	cd->event_handler(cd);
	return IRQ_HANDLED;
}
コード例 #2
0
ファイル: cevt-gic.c プロジェクト: 0x000000FF/Linux4Edison
irqreturn_t gic_compare_interrupt(int irq, void *dev_id)
{
	struct clock_event_device *cd;
	int cpu = smp_processor_id();

	gic_write_compare(gic_read_compare());
	cd = &per_cpu(gic_clockevent_device, cpu);
	cd->event_handler(cd);
	return IRQ_HANDLED;
}
コード例 #3
0
ファイル: cevt-gic.c プロジェクト: 0x000000FF/Linux4Edison
static int gic_next_event(unsigned long delta, struct clock_event_device *evt)
{
	u64 cnt;
	int res;

	cnt = gic_read_count();
	cnt += (u64)delta;
	gic_write_compare(cnt);
	res = ((int)(gic_read_count() - cnt) >= 0) ? -ETIME : 0;
	return res;
}