···153154 /* Propagate Config7 */155 write_vpe_c0_config7(read_c0_config7());00156}157158static unsigned int __init smp_vpe_init(unsigned int tc, unsigned int mvpconf0,
···153154 /* Propagate Config7 */155 write_vpe_c0_config7(read_c0_config7());156+157+ write_vpe_c0_count(read_c0_count());158}159160static unsigned int __init smp_vpe_init(unsigned int tc, unsigned int mvpconf0,
+3-2
arch/mips/mips-boards/generic/time.c
···209#endif210#if defined(CONFIG_MIPS_ATLAS) || defined(CONFIG_MIPS_MALTA)211 unsigned long flags;0212213 local_irq_save(flags);214···218 while (!(CMOS_READ(RTC_REG_A) & RTC_UIP));219220 /* Start r4k counter. */221- write_c0_count(0);222223 /* Read counter exactly on falling edge of update flag */224 while (CMOS_READ(RTC_REG_A) & RTC_UIP);225 while (!(CMOS_READ(RTC_REG_A) & RTC_UIP));226227- count = read_c0_count();228229 /* restore interrupts */230 local_irq_restore(flags);
···209#endif210#if defined(CONFIG_MIPS_ATLAS) || defined(CONFIG_MIPS_MALTA)211 unsigned long flags;212+ unsigned int start;213214 local_irq_save(flags);215···217 while (!(CMOS_READ(RTC_REG_A) & RTC_UIP));218219 /* Start r4k counter. */220+ start = read_c0_count();221222 /* Read counter exactly on falling edge of update flag */223 while (CMOS_READ(RTC_REG_A) & RTC_UIP);224 while (!(CMOS_READ(RTC_REG_A) & RTC_UIP));225226+ count = read_c0_count() - start;227228 /* restore interrupts */229 local_irq_restore(flags);