Lines Matching defs:t
25 struct kvm_vcpu_timer *t)
45 struct kvm_vcpu_timer *t = container_of(h, struct kvm_vcpu_timer, hrt);
46 struct kvm_vcpu *vcpu = container_of(t, struct kvm_vcpu, arch.timer);
49 if (kvm_riscv_current_cycles(gt) < t->next_cycles) {
50 delta_ns = kvm_riscv_delta_cycles2ns(t->next_cycles, gt, t);
51 hrtimer_forward_now(&t->hrt, ktime_set(0, delta_ns));
55 t->next_set = false;
61 static int kvm_riscv_vcpu_timer_cancel(struct kvm_vcpu_timer *t)
63 if (!t->init_done || !t->next_set)
66 hrtimer_cancel(&t->hrt);
67 t->next_set = false;
85 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
89 if (!t->init_done)
94 delta_ns = kvm_riscv_delta_cycles2ns(ncycles, gt, t);
95 t->next_cycles = ncycles;
96 hrtimer_start(&t->hrt, ktime_set(0, delta_ns), HRTIMER_MODE_REL);
97 t->next_set = true;
104 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
106 return t->timer_next_event(vcpu, ncycles);
112 struct kvm_vcpu_timer *t = container_of(h, struct kvm_vcpu_timer, hrt);
113 struct kvm_vcpu *vcpu = container_of(t, struct kvm_vcpu, arch.timer);
116 if (kvm_riscv_current_cycles(gt) < t->next_cycles) {
117 delta_ns = kvm_riscv_delta_cycles2ns(t->next_cycles, gt, t);
118 hrtimer_forward_now(&t->hrt, ktime_set(0, delta_ns));
122 t->next_set = false;
130 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
133 if (!kvm_riscv_delta_cycles2ns(t->next_cycles, gt, t) ||
142 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
146 if (!t->init_done)
149 delta_ns = kvm_riscv_delta_cycles2ns(t->next_cycles, gt, t);
150 hrtimer_start(&t->hrt, ktime_set(0, delta_ns), HRTIMER_MODE_REL);
151 t->next_set = true;
162 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
183 reg_val = t->next_cycles;
186 reg_val = (t->next_set) ? KVM_RISCV_TIMER_STATE_ON :
202 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
228 t->next_cycles = reg_val;
234 ret = kvm_riscv_vcpu_timer_cancel(t);
246 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
248 if (t->init_done)
251 t->init_done = true;
252 t->next_set = false;
256 t->sstc_enabled = true;
257 hrtimer_setup(&t->hrt, kvm_riscv_vcpu_vstimer_expired, CLOCK_MONOTONIC,
259 t->timer_next_event = kvm_riscv_vcpu_update_vstimecmp;
261 t->sstc_enabled = false;
262 hrtimer_setup(&t->hrt, kvm_riscv_vcpu_hrtimer_expired, CLOCK_MONOTONIC,
264 t->timer_next_event = kvm_riscv_vcpu_update_hrtimer;
282 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
284 t->next_cycles = -1ULL;
302 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
306 if (!t->sstc_enabled)
310 ncsr_write(CSR_VSTIMECMP, (u32)t->next_cycles);
311 ncsr_write(CSR_VSTIMECMPH, (u32)(t->next_cycles >> 32));
313 ncsr_write(CSR_VSTIMECMP, t->next_cycles);
317 if (unlikely(!t->init_done))
325 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
327 if (!t->sstc_enabled)
331 t->next_cycles = ncsr_read(CSR_VSTIMECMP);
332 t->next_cycles |= (u64)ncsr_read(CSR_VSTIMECMPH) << 32;
334 t->next_cycles = ncsr_read(CSR_VSTIMECMP);
340 struct kvm_vcpu_timer *t = &vcpu->arch.timer;
342 if (!t->sstc_enabled)
367 if (unlikely(!t->init_done))