Lines Matching refs:pit_state
77 &kvm->arch.vpit->pit_state.channels[channel]; in pit_set_gate()
79 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_set_gate()
102 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_get_gate()
104 return kvm->arch.vpit->pit_state.channels[channel].gate; in pit_get_gate()
111 struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state; in __kpit_elapsed()
143 &kvm->arch.vpit->pit_state.channels[channel]; in pit_get_count()
147 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_get_count()
173 &kvm->arch.vpit->pit_state.channels[channel]; in pit_get_out()
177 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_get_out()
208 &kvm->arch.vpit->pit_state.channels[channel]; in pit_latch_count()
210 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_latch_count()
221 &kvm->arch.vpit->pit_state.channels[channel]; in pit_latch_status()
223 WARN_ON(!mutex_is_locked(&kvm->arch.vpit->pit_state.lock)); in pit_latch_status()
265 timer = &pit->pit_state.timer; in __kvm_migrate_pit_timer()
266 mutex_lock(&pit->pit_state.lock); in __kvm_migrate_pit_timer()
269 mutex_unlock(&pit->pit_state.lock); in __kvm_migrate_pit_timer()
274 hrtimer_cancel(&pit->pit_state.timer); in destroy_pit_timer()
284 struct kvm_kpit_state *ps = &pit->pit_state; in pit_do_work()
336 struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state; in create_pit_timer()
382 struct kvm_kpit_state *ps = &kvm->arch.vpit->pit_state; in pit_load_count()
426 saved_mode = kvm->arch.vpit->pit_state.channels[0].mode; in kvm_pit_load_count()
427 kvm->arch.vpit->pit_state.channels[0].mode = 0xff; /* disable timer */ in kvm_pit_load_count()
429 kvm->arch.vpit->pit_state.channels[0].mode = saved_mode; in kvm_pit_load_count()
456 struct kvm_kpit_state *pit_state = &pit->pit_state; in pit_ioport_write() local
467 mutex_lock(&pit_state->lock); in pit_ioport_write()
478 s = &pit_state->channels[channel]; in pit_ioport_write()
488 s = &pit_state->channels[channel]; in pit_ioport_write()
504 s = &pit_state->channels[addr]; in pit_ioport_write()
524 mutex_unlock(&pit_state->lock); in pit_ioport_write()
533 struct kvm_kpit_state *pit_state = &pit->pit_state; in pit_ioport_read() local
544 s = &pit_state->channels[addr]; in pit_ioport_read()
546 mutex_lock(&pit_state->lock); in pit_ioport_read()
595 mutex_unlock(&pit_state->lock); in pit_ioport_read()
604 struct kvm_kpit_state *pit_state = &pit->pit_state; in speaker_ioport_write() local
610 mutex_lock(&pit_state->lock); in speaker_ioport_write()
611 pit_state->speaker_data_on = (val >> 1) & 1; in speaker_ioport_write()
613 mutex_unlock(&pit_state->lock); in speaker_ioport_write()
622 struct kvm_kpit_state *pit_state = &pit->pit_state; in speaker_ioport_read() local
632 mutex_lock(&pit_state->lock); in speaker_ioport_read()
633 ret = ((pit_state->speaker_data_on << 1) | pit_get_gate(kvm, 2) | in speaker_ioport_read()
638 mutex_unlock(&pit_state->lock); in speaker_ioport_read()
647 mutex_lock(&pit->pit_state.lock); in kvm_pit_reset()
648 pit->pit_state.flags = 0; in kvm_pit_reset()
650 c = &pit->pit_state.channels[i]; in kvm_pit_reset()
655 mutex_unlock(&pit->pit_state.lock); in kvm_pit_reset()
657 atomic_set(&pit->pit_state.pending, 0); in kvm_pit_reset()
658 pit->pit_state.irq_ack = 1; in kvm_pit_reset()
666 atomic_set(&pit->pit_state.pending, 0); in pit_mask_notifer()
667 pit->pit_state.irq_ack = 1; in pit_mask_notifer()
685 struct kvm_kpit_state *pit_state; in kvm_create_pit() local
700 mutex_init(&pit->pit_state.lock); in kvm_create_pit()
701 mutex_lock(&pit->pit_state.lock); in kvm_create_pit()
702 spin_lock_init(&pit->pit_state.inject_lock); in kvm_create_pit()
712 mutex_unlock(&pit->pit_state.lock); in kvm_create_pit()
722 pit_state = &pit->pit_state; in kvm_create_pit()
723 pit_state->pit = pit; in kvm_create_pit()
724 hrtimer_init(&pit_state->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); in kvm_create_pit()
725 pit_state->irq_ack_notifier.gsi = 0; in kvm_create_pit()
726 pit_state->irq_ack_notifier.irq_acked = kvm_pit_ack_irq; in kvm_create_pit()
727 kvm_register_irq_ack_notifier(kvm, &pit_state->irq_ack_notifier); in kvm_create_pit()
728 pit_state->reinject = true; in kvm_create_pit()
729 mutex_unlock(&pit->pit_state.lock); in kvm_create_pit()
758 kvm_unregister_irq_ack_notifier(kvm, &pit_state->irq_ack_notifier); in kvm_create_pit()
776 &kvm->arch.vpit->pit_state.irq_ack_notifier); in kvm_free_pit()
777 mutex_lock(&kvm->arch.vpit->pit_state.lock); in kvm_free_pit()
778 timer = &kvm->arch.vpit->pit_state.timer; in kvm_free_pit()
783 mutex_unlock(&kvm->arch.vpit->pit_state.lock); in kvm_free_pit()