Lines Matching defs:msix

762 		nvec = xe->irq.msix.nvec;
841 xe->irq.msix.nvec = nvec;
842 xa_init_flags(&xe->irq.msix.indexes, XA_FLAGS_ALLOC);
893 bool dynamic_msix, u16 *msix)
899 limit = (dynamic_msix) ? XA_LIMIT(NUM_OF_STATIC_MSIX, xe->irq.msix.nvec - 1) :
900 XA_LIMIT(*msix, *msix);
901 ret = xa_alloc(&xe->irq.msix.indexes, &id, irq_buf, limit, GFP_KERNEL);
906 *msix = id;
911 static void xe_irq_msix_release_vector(struct xe_device *xe, u16 msix)
913 xa_erase(&xe->irq.msix.indexes, msix);
917 void *irq_buf, const char *name, u16 msix)
922 irq = pci_irq_vector(pdev, msix);
934 const char *name, bool dynamic_msix, u16 *msix)
938 ret = xe_irq_msix_alloc_vector(xe, irq_buf, dynamic_msix, msix);
942 ret = xe_irq_msix_request_irq_internal(xe, handler, irq_buf, name, *msix);
944 drm_err(&xe->drm, "Failed to request IRQ for MSI-X %u\n", *msix);
945 xe_irq_msix_release_vector(xe, *msix);
952 void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix)
958 irq_buf = xa_load(&xe->irq.msix.indexes, msix);
962 irq = pci_irq_vector(pdev, msix);
964 drm_err(&xe->drm, "MSI-X %u can't be released, there is no matching IRQ\n", msix);
969 xe_irq_msix_release_vector(xe, msix);
975 u16 msix;
977 msix = GUC2HOST_MSIX;
979 DRIVER_NAME "-guc2host", false, &msix);
983 msix = DEFAULT_MSIX;
985 DRIVER_NAME "-default-msix", false, &msix);
996 unsigned long msix;
999 xa_for_each(&xe->irq.msix.indexes, msix, dummy)
1000 xe_irq_msix_free_irq(xe, msix);
1001 xa_destroy(&xe->irq.msix.indexes);
1007 unsigned long msix;
1010 xa_for_each(&xe->irq.msix.indexes, msix, dummy)
1011 synchronize_irq(pci_irq_vector(pdev, msix));