Lines Matching refs:match
54 struct kvm_assigned_dev_kernel *match; in kvm_find_assigned_dev() local
57 match = list_entry(ptr, struct kvm_assigned_dev_kernel, list); in kvm_find_assigned_dev()
58 if (match->assigned_dev_id == assigned_dev_id) in kvm_find_assigned_dev()
59 return match; in kvm_find_assigned_dev()
568 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_assign_irq() local
576 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_assign_irq()
578 if (!match) in kvm_vm_ioctl_assign_irq()
595 r = assign_host_irq(kvm, match, host_irq_type); in kvm_vm_ioctl_assign_irq()
600 r = assign_guest_irq(kvm, match, assigned_irq, guest_irq_type); in kvm_vm_ioctl_assign_irq()
611 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_deassign_dev_irq() local
616 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_deassign_dev_irq()
618 if (!match) in kvm_vm_ioctl_deassign_dev_irq()
623 r = kvm_deassign_irq(kvm, match, irq_type); in kvm_vm_ioctl_deassign_dev_irq()
693 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_assign_device() local
702 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_assign_device()
704 if (match) { in kvm_vm_ioctl_assign_device()
710 match = kzalloc(sizeof(struct kvm_assigned_dev_kernel), GFP_KERNEL); in kvm_vm_ioctl_assign_device()
711 if (match == NULL) { in kvm_vm_ioctl_assign_device()
750 match->pci_saved_state = pci_store_saved_state(dev); in kvm_vm_ioctl_assign_device()
751 if (!match->pci_saved_state) in kvm_vm_ioctl_assign_device()
758 match->assigned_dev_id = assigned_dev->assigned_dev_id; in kvm_vm_ioctl_assign_device()
759 match->host_segnr = assigned_dev->segnr; in kvm_vm_ioctl_assign_device()
760 match->host_busnr = assigned_dev->busnr; in kvm_vm_ioctl_assign_device()
761 match->host_devfn = assigned_dev->devfn; in kvm_vm_ioctl_assign_device()
762 match->flags = assigned_dev->flags; in kvm_vm_ioctl_assign_device()
763 match->dev = dev; in kvm_vm_ioctl_assign_device()
764 spin_lock_init(&match->intx_lock); in kvm_vm_ioctl_assign_device()
765 spin_lock_init(&match->intx_mask_lock); in kvm_vm_ioctl_assign_device()
766 match->irq_source_id = -1; in kvm_vm_ioctl_assign_device()
767 match->kvm = kvm; in kvm_vm_ioctl_assign_device()
768 match->ack_notifier.irq_acked = kvm_assigned_dev_ack_irq; in kvm_vm_ioctl_assign_device()
770 list_add(&match->list, &kvm->arch.assigned_dev_head); in kvm_vm_ioctl_assign_device()
777 r = kvm_assign_device(kvm, match->dev); in kvm_vm_ioctl_assign_device()
786 if (pci_load_and_free_saved_state(dev, &match->pci_saved_state)) in kvm_vm_ioctl_assign_device()
789 list_del(&match->list); in kvm_vm_ioctl_assign_device()
796 kfree(match); in kvm_vm_ioctl_assign_device()
806 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_deassign_device() local
810 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_deassign_device()
812 if (!match) { in kvm_vm_ioctl_deassign_device()
819 kvm_deassign_device(kvm, match->dev); in kvm_vm_ioctl_deassign_device()
821 kvm_free_assigned_device(kvm, match); in kvm_vm_ioctl_deassign_device()
915 struct kvm_assigned_dev_kernel *match; in kvm_vm_ioctl_set_pci_irq_mask() local
919 match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, in kvm_vm_ioctl_set_pci_irq_mask()
921 if (!match) { in kvm_vm_ioctl_set_pci_irq_mask()
926 spin_lock(&match->intx_mask_lock); in kvm_vm_ioctl_set_pci_irq_mask()
928 match->flags &= ~KVM_DEV_ASSIGN_MASK_INTX; in kvm_vm_ioctl_set_pci_irq_mask()
929 match->flags |= assigned_dev->flags & KVM_DEV_ASSIGN_MASK_INTX; in kvm_vm_ioctl_set_pci_irq_mask()
931 if (match->irq_requested_type & KVM_DEV_IRQ_GUEST_INTX) { in kvm_vm_ioctl_set_pci_irq_mask()
933 kvm_set_irq(match->kvm, match->irq_source_id, in kvm_vm_ioctl_set_pci_irq_mask()
934 match->guest_irq, 0, false); in kvm_vm_ioctl_set_pci_irq_mask()
944 spin_lock_irq(&match->intx_lock); in kvm_vm_ioctl_set_pci_irq_mask()
945 if (match->host_irq_disabled) { in kvm_vm_ioctl_set_pci_irq_mask()
946 enable_irq(match->host_irq); in kvm_vm_ioctl_set_pci_irq_mask()
947 match->host_irq_disabled = false; in kvm_vm_ioctl_set_pci_irq_mask()
949 spin_unlock_irq(&match->intx_lock); in kvm_vm_ioctl_set_pci_irq_mask()
953 spin_unlock(&match->intx_mask_lock); in kvm_vm_ioctl_set_pci_irq_mask()