Lines Matching refs:pit_state

76 		&kvm->arch.vpit->pit_state.channels[channel];  in pit_set_gate()
78 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_set_gate()
101 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_get_gate()
103 return kvm->arch.vpit->pit_state.channels[channel].gate; in pit_get_gate()
110 struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state; in __kpit_elapsed()
142 &kvm->arch.vpit->pit_state.channels[channel]; in pit_get_count()
146 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_get_count()
172 &kvm->arch.vpit->pit_state.channels[channel]; in pit_get_out()
176 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_get_out()
207 &kvm->arch.vpit->pit_state.channels[channel]; in pit_latch_count()
209 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_latch_count()
220 &kvm->arch.vpit->pit_state.channels[channel]; in pit_latch_status()
222 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_latch_status()
264 timer = &pit->pit_state.timer; in __kvm_migrate_pit_timer()
265 mutex_lock(&pit->pit_state.lock); in __kvm_migrate_pit_timer()
268 mutex_unlock(&pit->pit_state.lock); in __kvm_migrate_pit_timer()
273 hrtimer_cancel(&pit->pit_state.timer); in destroy_pit_timer()
283 struct kvm_kpit_state *ps = &pit->pit_state; in pit_do_work()
335 struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state; in create_pit_timer()
380 struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state; in pit_load_count()
423 saved_mode = kvm->arch.vpit->pit_state.channels[0].mode; in kvm_pit_load_count()
424 kvm->arch.vpit->pit_state.channels[0].mode = 0xff; /* disable timer */ in kvm_pit_load_count()
426 kvm->arch.vpit->pit_state.channels[0].mode = saved_mode; in kvm_pit_load_count()
453 struct kvm_kpit_state *pit_state = &pit->pit_state; in pit_ioport_write() local
464 mutex_lock(&pit_state->lock); in pit_ioport_write()
475 s = &pit_state->channels[channel]; in pit_ioport_write()
485 s = &pit_state->channels[channel]; in pit_ioport_write()
501 s = &pit_state->channels[addr]; in pit_ioport_write()
521 mutex_unlock(&pit_state->lock); in pit_ioport_write()
530 struct kvm_kpit_state *pit_state = &pit->pit_state; in pit_ioport_read() local
541 s = &pit_state->channels[addr]; in pit_ioport_read()
543 mutex_lock(&pit_state->lock); in pit_ioport_read()
592 mutex_unlock(&pit_state->lock); in pit_ioport_read()
601 struct kvm_kpit_state *pit_state = &pit->pit_state; in speaker_ioport_write() local
607 mutex_lock(&pit_state->lock); in speaker_ioport_write()
608 pit_state->speaker_data_on = (val >> 1) & 1; in speaker_ioport_write()
610 mutex_unlock(&pit_state->lock); in speaker_ioport_write()
619 struct kvm_kpit_state *pit_state = &pit->pit_state; in speaker_ioport_read() local
629 mutex_lock(&pit_state->lock); in speaker_ioport_read()
630 ret = ((pit_state->speaker_data_on << 1) | pit_get_gate(kvm, 2) | in speaker_ioport_read()
635 mutex_unlock(&pit_state->lock); in speaker_ioport_read()
644 mutex_lock(&pit->pit_state.lock); in kvm_pit_reset()
645 pit->pit_state.flags = 0; in kvm_pit_reset()
647 c = &pit->pit_state.channels[i]; in kvm_pit_reset()
652 mutex_unlock(&pit->pit_state.lock); in kvm_pit_reset()
654 atomic_set(&pit->pit_state.pending, 0); in kvm_pit_reset()
655 pit->pit_state.irq_ack = 1; in kvm_pit_reset()
663 atomic_set(&pit->pit_state.pending, 0); in pit_mask_notifer()
664 pit->pit_state.irq_ack = 1; in pit_mask_notifer()
682 struct kvm_kpit_state *pit_state; in kvm_create_pit() local
697 mutex_init(&pit->pit_state.lock); in kvm_create_pit()
698 mutex_lock(&pit->pit_state.lock); in kvm_create_pit()
699 spin_lock_init(&pit->pit_state.inject_lock); in kvm_create_pit()
709 mutex_unlock(&pit->pit_state.lock); in kvm_create_pit()
719 pit_state = &pit->pit_state; in kvm_create_pit()
720 pit_state->pit = pit; in kvm_create_pit()
721 hrtimer_init(&pit_state->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); in kvm_create_pit()
722 pit_state->irq_ack_notifier.gsi = 0; in kvm_create_pit()
723 pit_state->irq_ack_notifier.irq_acked = kvm_pit_ack_irq; in kvm_create_pit()
724 kvm_register_irq_ack_notifier(kvm, &pit_state->irq_ack_notifier); in kvm_create_pit()
725 pit_state->reinject = true; in kvm_create_pit()
726 mutex_unlock(&pit->pit_state.lock); in kvm_create_pit()
755 kvm_unregister_irq_ack_notifier(kvm, &pit_state->irq_ack_notifier); in kvm_create_pit()
773 &kvm->arch.vpit->pit_state.irq_ack_notifier); in kvm_free_pit()
774 mutex_lock(&kvm->arch.vpit->pit_state.lock); in kvm_free_pit()
775 timer = &kvm->arch.vpit->pit_state.timer; in kvm_free_pit()
780 mutex_unlock(&kvm->arch.vpit->pit_state.lock); in kvm_free_pit()