Lines Matching refs:match
55 struct kvm_assigned_dev_kernel *match; in kvm_find_assigned_dev() local
58 match = list_entry(ptr, struct kvm_assigned_dev_kernel, list); in kvm_find_assigned_dev()
59 if (match->assigned_dev_id == assigned_dev_id) in kvm_find_assigned_dev()
60 return match; in kvm_find_assigned_dev()
584 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_assign_irq() local
592 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_assign_irq()
594 if (!match) in kvm_vm_ioctl_assign_irq()
611 r = assign_host_irq(kvm, match, host_irq_type); in kvm_vm_ioctl_assign_irq()
616 r = assign_guest_irq(kvm, match, assigned_irq, guest_irq_type); in kvm_vm_ioctl_assign_irq()
627 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_deassign_dev_irq() local
632 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_deassign_dev_irq()
634 if (!match) in kvm_vm_ioctl_deassign_dev_irq()
639 r = kvm_deassign_irq(kvm, match, irq_type); in kvm_vm_ioctl_deassign_dev_irq()
709 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_assign_device() local
718 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_assign_device()
720 if (match) { in kvm_vm_ioctl_assign_device()
726 match = kzalloc(sizeof(struct kvm_assigned_dev_kernel), GFP_KERNEL); in kvm_vm_ioctl_assign_device()
727 if (match == NULL) { in kvm_vm_ioctl_assign_device()
766 match->pci_saved_state = pci_store_saved_state(dev); in kvm_vm_ioctl_assign_device()
767 if (!match->pci_saved_state) in kvm_vm_ioctl_assign_device()
774 match->assigned_dev_id = assigned_dev->assigned_dev_id; in kvm_vm_ioctl_assign_device()
775 match->host_segnr = assigned_dev->segnr; in kvm_vm_ioctl_assign_device()
776 match->host_busnr = assigned_dev->busnr; in kvm_vm_ioctl_assign_device()
777 match->host_devfn = assigned_dev->devfn; in kvm_vm_ioctl_assign_device()
778 match->flags = assigned_dev->flags; in kvm_vm_ioctl_assign_device()
779 match->dev = dev; in kvm_vm_ioctl_assign_device()
780 spin_lock_init(&match->intx_lock); in kvm_vm_ioctl_assign_device()
781 spin_lock_init(&match->intx_mask_lock); in kvm_vm_ioctl_assign_device()
782 match->irq_source_id = -1; in kvm_vm_ioctl_assign_device()
783 match->kvm = kvm; in kvm_vm_ioctl_assign_device()
784 match->ack_notifier.irq_acked = kvm_assigned_dev_ack_irq; in kvm_vm_ioctl_assign_device()
786 list_add(&match->list, &kvm->arch.assigned_dev_head); in kvm_vm_ioctl_assign_device()
793 r = kvm_assign_device(kvm, match->dev); in kvm_vm_ioctl_assign_device()
802 if (pci_load_and_free_saved_state(dev, &match->pci_saved_state)) in kvm_vm_ioctl_assign_device()
805 list_del(&match->list); in kvm_vm_ioctl_assign_device()
812 kfree(match); in kvm_vm_ioctl_assign_device()
822 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_deassign_device() local
826 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_deassign_device()
828 if (!match) { in kvm_vm_ioctl_deassign_device()
835 kvm_deassign_device(kvm, match->dev); in kvm_vm_ioctl_deassign_device()
837 kvm_free_assigned_device(kvm, match); in kvm_vm_ioctl_deassign_device()
929 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_set_pci_irq_mask() local
933 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_set_pci_irq_mask()
935 if (!match) { in kvm_vm_ioctl_set_pci_irq_mask()
940 spin_lock(&match->intx_mask_lock); in kvm_vm_ioctl_set_pci_irq_mask()
942 match->flags &= ~KVM_DEV_ASSIGN_MASK_INTX; in kvm_vm_ioctl_set_pci_irq_mask()
943 match->flags |= assigned_dev->flags & KVM_DEV_ASSIGN_MASK_INTX; in kvm_vm_ioctl_set_pci_irq_mask()
945 if (match->irq_requested_type & KVM_DEV_IRQ_GUEST_INTX) { in kvm_vm_ioctl_set_pci_irq_mask()
947 kvm_set_irq(match->kvm, match->irq_source_id, in kvm_vm_ioctl_set_pci_irq_mask()
948 match->guest_irq, 0, false); in kvm_vm_ioctl_set_pci_irq_mask()
958 spin_lock_irq(&match->intx_lock); in kvm_vm_ioctl_set_pci_irq_mask()
959 if (match->host_irq_disabled) { in kvm_vm_ioctl_set_pci_irq_mask()
960 enable_irq(match->host_irq); in kvm_vm_ioctl_set_pci_irq_mask()
961 match->host_irq_disabled = false; in kvm_vm_ioctl_set_pci_irq_mask()
963 spin_unlock_irq(&match->intx_lock); in kvm_vm_ioctl_set_pci_irq_mask()
967 spin_unlock(&match->intx_mask_lock); in kvm_vm_ioctl_set_pci_irq_mask()