Lines Matching refs:irq
995 struct hc_ptdev_irq irq; in hcall_set_ptdev_intr_info() local
997 if (copy_from_gpa(vm, &irq, param2, sizeof(irq)) == 0) { in hcall_set_ptdev_intr_info()
998 if (irq.type == IRQ_INTX) { in hcall_set_ptdev_intr_info()
1000 union pci_bdf bdf = {.value = irq.virt_bdf}; in hcall_set_ptdev_intr_info()
1011 if ((vdev != NULL) && (vdev->pdev->bdf.value == irq.phys_bdf)) { in hcall_set_ptdev_intr_info()
1012 if ((((!irq.intx.pic_pin) && (irq.intx.virt_pin < get_vm_gsicount(target_vm))) in hcall_set_ptdev_intr_info()
1013 || ((irq.intx.pic_pin) && (irq.intx.virt_pin < vpic_pincount()))) in hcall_set_ptdev_intr_info()
1014 && is_gsi_valid(irq.intx.phys_pin)) { in hcall_set_ptdev_intr_info()
1015 ptirq_remove_intx_remapping(get_service_vm(), irq.intx.phys_pin, false, true); in hcall_set_ptdev_intr_info()
1016 ret = ptirq_add_intx_remapping(target_vm, irq.intx.virt_pin, in hcall_set_ptdev_intr_info()
1017 irq.intx.phys_pin, irq.intx.pic_pin); in hcall_set_ptdev_intr_info()
1023 pr_err("%s: Invalid irq type: %u\n", __func__, irq.type); in hcall_set_ptdev_intr_info()
1048 struct hc_ptdev_irq irq; in hcall_reset_ptdev_intr_info() local
1050 if (copy_from_gpa(vm, &irq, param2, sizeof(irq)) == 0) { in hcall_reset_ptdev_intr_info()
1051 if (irq.type == IRQ_INTX) { in hcall_reset_ptdev_intr_info()
1053 union pci_bdf bdf = {.value = irq.virt_bdf}; in hcall_reset_ptdev_intr_info()
1064 if ((vdev != NULL) && (vdev->pdev->bdf.value == irq.phys_bdf)) { in hcall_reset_ptdev_intr_info()
1065 if (((!irq.intx.pic_pin) && (irq.intx.virt_pin < get_vm_gsicount(target_vm))) || in hcall_reset_ptdev_intr_info()
1066 ((irq.intx.pic_pin) && (irq.intx.virt_pin < vpic_pincount()))) { in hcall_reset_ptdev_intr_info()
1067 ptirq_remove_intx_remapping(target_vm, irq.intx.virt_pin, irq.intx.pic_pin, false); in hcall_reset_ptdev_intr_info()
1074 pr_err("%s: Invalid irq type: %u\n", __func__, irq.type); in hcall_reset_ptdev_intr_info()