/*** * Returns microsecond since last clock interrupt. Note that interrupts * will have been disabled by do_gettimeoffset() * IRQs are disabled before entering here from do_gettimeofday() */ static unsigned long s3c2410_gettimeoffset (void) { unsigned long tdone; unsigned long usec; /* work out how many ticks have gone since last timer interrupt */ tdone = timer_startval - __raw_readl(S3C2410_TCNTO(4)); /* currently, tcnt is in 12MHz units, but this may change * for non-bast machines... */ usec = tdone / timer_ticks_usec; return usec; }
SAVE_ITEM(S5P_CLKGATE_IP3), SAVE_ITEM(S5P_CLKGATE_IP4), /* Clock Blcok and Bus gate */ SAVE_ITEM(S5P_CLKGATE_BLOCK), SAVE_ITEM(S5P_CLKGATE_IP5), /* Clock ETC */ SAVE_ITEM(S5P_CLK_OUT), SAVE_ITEM(S5P_MDNIE_SEL), /* PWM Register */ SAVE_ITEM(S3C2410_TCFG0), SAVE_ITEM(S3C2410_TCFG1), SAVE_ITEM(S3C64XX_TINT_CSTAT), SAVE_ITEM(S3C2410_TCON), SAVE_ITEM(S3C2410_TCNTB(0)), SAVE_ITEM(S3C2410_TCMPB(0)), SAVE_ITEM(S3C2410_TCNTO(0)), }; static struct sleep_save sromc_save[] = { SAVE_ITEM(S5P_SROM_BW), SAVE_ITEM(S5P_SROM_BC0), SAVE_ITEM(S5P_SROM_BC1), SAVE_ITEM(S5P_SROM_BC2), SAVE_ITEM(S5P_SROM_BC3), SAVE_ITEM(S5P_SROM_BC4), SAVE_ITEM(S5P_SROM_BC5), }; /* s3c_pm_check_resume_pin * * check to see if the pin is configured correctly for sleep mode, and
static void notrace s3c64xx_update_sched_clock(void) { update_sched_clock(&cd, ~__raw_readl(S3C2410_TCNTO(PWM_SOURCE)), (u32)~0); }
unsigned long long notrace sched_clock(void) { return cyc_to_sched_clock(&cd, ~__raw_readl(S3C2410_TCNTO(PWM_SOURCE)), TCNT_MAX); }
static void s3c64xx_clocksource_suspend(struct clocksource *cs) { saved_tcnt = __raw_readl(S3C2410_TCNTO(PWM_SOURCE)); }
static cycle_t s3c64xx_clocksource_read(struct clocksource *cs) { return (cycle_t) ~__raw_readl(S3C2410_TCNTO(PWM_SOURCE)); }