summaryrefslogtreecommitdiff
path: root/mm/internal.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-09-05 17:21:45 +0200
committerTejun Heo <tj@kernel.org>2016-09-06 12:38:17 -0400
commit0b9e2988ab2261fd6d4a0039edf81ed1e3662be8 (patch)
tree75dbefd4076fca402d2c62b4e62bd0e4469439e0 /mm/internal.h
parent2536524a91fe5c5a9fddd282fd4e79ee0976aefe (diff)
ahci: use pci_alloc_irq_vectors
Use the new pci_alloc_irq_vectors API to allocate MSI-X and MSI vectors. The big advantage over the old code is that we can use the same API for MSI and MSI-X, and that we don't need to store the MSI-X vector mapping in driver-private data structures. This first conversion keeps the probe order as-is: MSI-X multi vector, MSI multi vector, MSI single vector, MSI-X single vector and last a single least legacy interrupt line. There is one small change of behavior: we now check the "MSI Revert to Single Message" flag for MSI-X in addition to MSI. Because the API to find the Linux IRQ number for a MSI/MSI-X vector is PCI specific, but libahaci is bus-agnostic I had to a get_irq_vector function pointer to struct ahci_host_priv. The alternative would be to move the multi-vector case of ahci_host_activate to ahci.c and just call ata_host_activate directly from the others users of ahci_host_activate. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'mm/internal.h')
0 files changed, 0 insertions, 0 deletions