Lines Matching +full:read +full:- +full:to +full:- +full:read

22 	regs->pc += 4;  in ptimer_unsupported_handler()
139 u32 irq = info->irq; in set_timer_irq_enabled()
164 info->write_ctl(ARCH_TIMER_CTL_IMASK | ARCH_TIMER_CTL_ENABLE); in irq_handler()
167 info->irq_received = true; in irq_handler()
173 return (info->read_ctl() & ARCH_TIMER_CTL_ENABLE) && in timer_pending()
174 (info->read_ctl() & ARCH_TIMER_CTL_ISTATUS); in timer_pending()
182 /* Wait for up to 1s for the GIC to sample the interrupt. */ in gic_timer_check_state()
185 if (gic_irq_state(info->irq) == expected_state) { in gic_timer_check_state()
187 if (gic_irq_state(info->irq) == expected_state) in gic_timer_check_state()
202 /* Program timer to fire in 10 ms */ in test_cval_10msec()
203 before_timer = info->read_counter(); in test_cval_10msec()
204 info->write_cval(before_timer + time_10ms); in test_cval_10msec()
205 info->write_ctl(ARCH_TIMER_CTL_ENABLE); in test_cval_10msec()
207 /* Wait for the timer to fire */ in test_cval_10msec()
212 after_timer = info->read_counter(); in test_cval_10msec()
213 difference = after_timer - (before_timer + time_10ms); in test_cval_10msec()
228 info->write_ctl(0); in disable_timer()
229 info->irq_received = false; in disable_timer()
234 u64 now = info->read_counter(); in test_timer_pending()
239 * We don't want the irq handler to fire because that will change the in test_timer_pending()
240 * timer state and we want to test the timer output signal. We can in test_timer_pending()
241 * still read the pending state even if it's disabled. in test_timer_pending()
246 info->write_cval(later); in test_timer_pending()
247 info->write_ctl(ARCH_TIMER_CTL_ENABLE); in test_timer_pending()
251 info->write_cval(now - 1); in test_timer_pending()
258 report(!info->irq_received, "no interrupt when timer is disabled"); in test_timer_pending()
262 info->write_cval(now - 1); in test_timer_pending()
263 info->write_ctl(ARCH_TIMER_CTL_ENABLE | ARCH_TIMER_CTL_IMASK); in test_timer_pending()
273 report(info->irq_received, "interrupt received"); in test_timer_cval()
281 if (info->irq_received) in timer_do_wfi()
295 info->write_tval(time_10ms); in test_timer_tval()
296 info->write_ctl(ARCH_TIMER_CTL_ENABLE); in test_timer_tval()
300 left = info->read_tval(); in test_timer_tval()
301 if (info->irq_received || left <= 0) in test_timer_tval()
305 /* Wait one second for the GIC to update the interrupt state. */ in test_timer_tval()
306 if (left <= 0 && !info->irq_received) { in test_timer_tval()
309 if (info->irq_received) in test_timer_tval()
313 left = info->read_tval(); in test_timer_tval()
316 report(info->irq_received, "interrupt received after TVAL/WFI"); in test_timer_tval()
332 report_prefix_push("vtimer-busy-loop"); in test_vtimer()
342 report_prefix_push("ptimer-busy-loop"); in test_ptimer()
349 assert(TIMER_PTIMER_IRQ != -1 && TIMER_VTIMER_IRQ != -1); in test_init()
358 report_skip("Skipping ptimer tests. Set ERRATA_7b6b46311a85=y to enable."); in test_init()
360 report_fail("ptimer: read CNTP_CTL_EL0"); in test_init()