Esempio n. 1
0
unsigned long long notrace sched_clock(void)
{
	u32 cyc;
	unsigned long offset = 0;

	switch (timer_source.source_id) {
	case S5P_PWM0:
	case S5P_PWM1:
	case S5P_PWM2:
	case S5P_PWM3:
		offset = (timer_source.source_id * 0x0c) + 0x14;
		break;

	case S5P_PWM4:
		offset = 0x40;
		break;

	default:
		printk(KERN_ERR "Invalid Timer %d\n", timer_source.source_id);
		return 0;
	}

	cyc = ~__raw_readl(S3C_TIMERREG(offset));
	return cyc_to_sched_clock(&cd, cyc, (u32)~0);
}
Esempio n. 2
0
static void __iomem *s5p_timer_reg(void)
{
	unsigned long offset = 0;

	switch (timer_source.source_id) {
	case S5P_PWM0:
	case S5P_PWM1:
	case S5P_PWM2:
	case S5P_PWM3:
		offset = (timer_source.source_id * 0x0c) + 0x14;
		break;

	case S5P_PWM4:
		offset = 0x40;
		break;

	default:
		printk(KERN_ERR "Invalid Timer %d\n", timer_source.source_id);
		return NULL;
	}

	return S3C_TIMERREG(offset);
}
Esempio n. 3
0
static cycle_t s5p_timer_read(struct clocksource *cs)
{
	unsigned long offset = 0;

	switch (timer_source.source_id) {
	case S5P_PWM0:
	case S5P_PWM1:
	case S5P_PWM2:
	case S5P_PWM3:
		offset = (timer_source.source_id * 0x0c) + 0x14;
		break;

	case S5P_PWM4:
		offset = 0x40;
		break;

	default:
		printk(KERN_ERR "Invalid Timer %d\n", timer_source.source_id);
		return 0;
	}

	return (cycle_t) ~__raw_readl(S3C_TIMERREG(offset));
}
Esempio n. 4
0
static cycle_t sec_sched_timer_read(void)
{

	return (cycle_t)~__raw_readl(S3C_TIMERREG(0x2c));
}
Esempio n. 5
0
static cycle_t sec_sched_timer_read(void)
{

	return (cycle_t)~__raw_readl(S3C_TIMERREG(0x38));	// timer3 observ. reg
}
Esempio n. 6
0
static cycle_t s5pv310_pwm4_read(struct clocksource *cs)
{
	return (cycle_t) ~__raw_readl(S3C_TIMERREG(0x40));
}
Esempio n. 7
0
static cycle_t sec_sched_timer_read(void)
{

    return (cycle_t)~__raw_readl(S3C_TIMERREG(0x38)); /* timer 3 observation register */
}