/* * The first write after writing TN_SETVAL to the config register sets * the counter value, the second write sets the threshold. */ hpet_writel(tick, HPET_T0_CMP); hpet_writel(tick, HPET_T0_CMP);  
/* * The first write after writing TN_SETVAL to the config register sets * the counter value, the second write sets the threshold. */ hpet_writel(tick, HPET_T0_CMP); hpet_writel(tick, HPET_T0_CMP); } 
static int hpet_timer_stop_set_go(unsigned long tick){	unsigned int cfg;	/*	 * Stop the timers and reset the main counter.	 */	cfg = hpet_readl(HPET_CFG);	cfg &= ~HPET_CFG_ENABLE;	hpet_writel(cfg, HPET_CFG);	hpet_writel(0, HPET_COUNTER);	hpet_writel(0, HPET_COUNTER + 4);	/*	 * Set up timer 0, as periodic with first interrupt to happen at	 * hpet_tick, and period also hpet_tick.	 */	cfg = hpet_readl(HPET_T0_CFG);	cfg |= HPET_TN_ENABLE | HPET_TN_PERIODIC |	       HPET_TN_SETVAL | HPET_TN_32BIT;	hpet_writel(cfg, HPET_T0_CFG);	/*	 * The first write after writing TN_SETVAL to the config register sets	 * the counter value, the second write sets the threshold.	 */	hpet_writel(tick, HPET_T0_CMP);	hpet_writel(tick, HPET_T0_CMP);	/* 	 * Go! 	 */	cfg = hpet_readl(HPET_CFG);	cfg |= HPET_CFG_ENABLE | HPET_CFG_LEGACY;	hpet_writel(cfg, HPET_CFG);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/35492df5ae0f36f717448b2aea908d3a8891d1c4/time_hpet.c/buggy/arch/i386/kernel/time_hpet.c