Lines Matching refs:xt

114     struct xlx_timer *xt;  in timer_read()  local
120 xt = &t->timers[timer]; in timer_read()
126 r = ptimer_get_count(xt->ptimer); in timer_read()
127 if (!(xt->regs[R_TCSR] & TCSR_UDT)) in timer_read()
130 timer, r, xt->regs[R_TCSR] & TCSR_UDT)); in timer_read()
133 if (addr < ARRAY_SIZE(xt->regs)) in timer_read()
134 r = xt->regs[addr]; in timer_read()
143 static void timer_enable(struct xlx_timer *xt) in timer_enable() argument
148 xt->nr, xt->regs[R_TCSR] & TCSR_UDT)); in timer_enable()
150 ptimer_stop(xt->ptimer); in timer_enable()
152 if (xt->regs[R_TCSR] & TCSR_UDT) in timer_enable()
153 count = xt->regs[R_TLR]; in timer_enable()
155 count = ~0 - xt->regs[R_TLR]; in timer_enable()
156 ptimer_set_limit(xt->ptimer, count, 1); in timer_enable()
157 ptimer_run(xt->ptimer, 1); in timer_enable()
165 struct xlx_timer *xt; in timer_write() local
171 xt = &t->timers[timer]; in timer_write()
182 xt->regs[addr] = value & 0x7ff; in timer_write()
184 ptimer_transaction_begin(xt->ptimer); in timer_write()
185 timer_enable(xt); in timer_write()
186 ptimer_transaction_commit(xt->ptimer); in timer_write()
191 if (addr < ARRAY_SIZE(xt->regs)) in timer_write()
192 xt->regs[addr] = value; in timer_write()
217 struct xlx_timer *xt = opaque; in timer_hit() local
218 XpsTimerState *t = xt->parent; in timer_hit()
219 D(fprintf(stderr, "%s %d\n", __func__, xt->nr)); in timer_hit()
220 xt->regs[R_TCSR] |= TCSR_TINT; in timer_hit()
222 if (xt->regs[R_TCSR] & TCSR_ARHT) in timer_hit()
223 timer_enable(xt); in timer_hit()
241 struct xlx_timer *xt = &t->timers[i]; in xilinx_timer_realize() local
243 xt->parent = t; in xilinx_timer_realize()
244 xt->nr = i; in xilinx_timer_realize()
245 xt->ptimer = ptimer_init(timer_hit, xt, PTIMER_POLICY_LEGACY); in xilinx_timer_realize()
246 ptimer_transaction_begin(xt->ptimer); in xilinx_timer_realize()
247 ptimer_set_freq(xt->ptimer, t->freq_hz); in xilinx_timer_realize()
248 ptimer_transaction_commit(xt->ptimer); in xilinx_timer_realize()