Lines Matching refs:ps
86 struct kvm_kpit_state *ps = &pit->pit_state; in __kpit_elapsed() local
88 if (!ps->period) in __kpit_elapsed()
100 remaining = hrtimer_get_remaining(&ps->timer); in __kpit_elapsed()
101 elapsed = ps->period - ktime_to_ns(remaining); in __kpit_elapsed()
198 static inline struct kvm_pit *pit_state_to_pit(struct kvm_kpit_state *ps) in pit_state_to_pit() argument
200 return container_of(ps, struct kvm_pit, pit_state); in pit_state_to_pit()
205 struct kvm_kpit_state *ps = container_of(kian, struct kvm_kpit_state, in kvm_pit_ack_irq() local
207 struct kvm_pit *pit = pit_state_to_pit(ps); in kvm_pit_ack_irq()
209 atomic_set(&ps->irq_ack, 1); in kvm_pit_ack_irq()
214 if (atomic_dec_if_positive(&ps->pending) > 0) in kvm_pit_ack_irq()
245 struct kvm_kpit_state *ps = &pit->pit_state; in pit_do_work() local
247 if (atomic_read(&ps->reinject) && !atomic_xchg(&ps->irq_ack, 0)) in pit_do_work()
269 struct kvm_kpit_state *ps = container_of(data, struct kvm_kpit_state, timer); in pit_timer_fn() local
270 struct kvm_pit *pt = pit_state_to_pit(ps); in pit_timer_fn()
272 if (atomic_read(&ps->reinject)) in pit_timer_fn()
273 atomic_inc(&ps->pending); in pit_timer_fn()
277 if (ps->is_periodic) { in pit_timer_fn()
278 hrtimer_add_expires_ns(&ps->timer, ps->period); in pit_timer_fn()
292 struct kvm_kpit_state *ps = &pit->pit_state; in kvm_pit_set_reinject() local
295 if (atomic_read(&ps->reinject) == reinject) in kvm_pit_set_reinject()
301 kvm_register_irq_ack_notifier(kvm, &ps->irq_ack_notifier); in kvm_pit_set_reinject()
304 kvm_unregister_irq_ack_notifier(kvm, &ps->irq_ack_notifier); in kvm_pit_set_reinject()
308 atomic_set(&ps->reinject, reinject); in kvm_pit_set_reinject()
313 struct kvm_kpit_state *ps = &pit->pit_state; in create_pit_timer() local
318 ps->flags & KVM_PIT_FLAGS_HPET_LEGACY) in create_pit_timer()
326 hrtimer_cancel(&ps->timer); in create_pit_timer()
328 ps->period = interval; in create_pit_timer()
329 ps->is_periodic = is_period; in create_pit_timer()
338 if (ps->is_periodic) { in create_pit_timer()
341 if (ps->period < min_period) { in create_pit_timer()
345 ps->period, min_period); in create_pit_timer()
346 ps->period = min_period; in create_pit_timer()
350 hrtimer_start(&ps->timer, ktime_add_ns(ktime_get(), interval), in create_pit_timer()
356 struct kvm_kpit_state *ps = &pit->pit_state; in pit_load_count() local
367 ps->channels[channel].count = val; in pit_load_count()
370 ps->channels[channel].count_load_time = ktime_get(); in pit_load_count()
376 switch (ps->channels[0].mode) { in pit_load_count()