aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/msi.c
AgeCommit message (Expand)AuthorFilesLines
2021-12-09PCI/MSI: Move code into a separate directoryThomas Gleixner1-1532/+0
2021-12-09PCI/MSI: Make msix_update_entries() smarterThomas Gleixner1-2/+2
2021-12-09PCI/MSI: Cleanup include zooThomas Gleixner1-12/+4
2021-12-09PCI/MSI: Make arch_restore_msi_irqs() less horrible.Thomas Gleixner1-35/+19
2021-12-09genirq/msi, treewide: Use a named struct for PCI/MSI attributesThomas Gleixner1-58/+58
2021-12-09PCI/MSI: Remove msi_desc_to_pci_sysdata()Thomas Gleixner1-8/+0
2021-12-09PCI/MSI: Make pci_msi_domain_write_msg() staticThomas Gleixner1-1/+1
2021-12-09PCI/MSI: Fix pci_irq_vector()/pci_irq_get_affinity()Thomas Gleixner1-8/+18
2021-11-11PCI/MSI: Destroy sysfs before freeing entriesThomas Gleixner1-5/+5
2021-11-11PCI/MSI: Deal with devices lying about their MSI mask capabilityMarc Zyngier1-0/+3
2021-11-11PCI/MSI: Move non-mask check back into low level accessorsThomas Gleixner1-12/+14
2021-11-06Merge tag 'pci-v5.16-changes' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-1/+2
2021-10-27PCI: Prefer 'unsigned int' over bare 'unsigned'Krzysztof Wilczyński1-1/+2
2021-10-12PCI/MSI: Handle msi_populate_sysfs() errors correctlyWang Hai1-6/+12
2021-08-30Merge tag 'irq-core-2021-08-30' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-205/+99
2021-08-27PCI/MSI: Skip masking MSI-X on Xen PVMarek Marczykowski-Górecki1-0/+3
2021-08-24genirq/msi: Move MSI sysfs handling from PCI to MSI coreBarry Song1-115/+10
2021-08-10PCI/MSI: Use new mask/unmask functionsThomas Gleixner1-81/+21
2021-08-10PCI/MSI: Provide a new set of mask and unmask functionsThomas Gleixner1-0/+72
2021-08-10PCI/MSI: Cleanup msi_mask()Thomas Gleixner1-14/+11
2021-08-10PCI/MSI: Deobfuscate virtual MSI-XThomas Gleixner1-17/+8
2021-08-10PCI/MSI: Consolidate error handling in msi_capability_init()Thomas Gleixner1-15/+11
2021-08-10PCI/MSI: Rename msi_desc::maskedThomas Gleixner1-15/+15
2021-08-10PCI/MSI: Simplify msi_verify_entries()Thomas Gleixner1-1/+4
2021-08-10s390/pci: Do not mask MSI[-X] entries on teardownThomas Gleixner1-2/+2
2021-08-10PCI/MSI: Protect msi_desc::masked for multi-MSIThomas Gleixner1-9/+10
2021-08-10PCI/MSI: Use msi_mask_irq() in pci_msi_shutdown()Thomas Gleixner1-1/+1
2021-08-10PCI/MSI: Correct misleading commentsThomas Gleixner1-4/+1
2021-08-10PCI/MSI: Do not set invalid bits in MSI maskThomas Gleixner1-4/+4
2021-08-10PCI/MSI: Enforce MSI[X] entry updates to be visibleThomas Gleixner1-0/+5
2021-08-10PCI/MSI: Enforce that MSI-X table entry is masked for updateThomas Gleixner1-0/+15
2021-08-10PCI/MSI: Mask all unused MSI-X entriesThomas Gleixner1-18/+27
2021-08-10PCI/MSI: Enable and mask MSI-X earlyThomas Gleixner1-13/+15
2021-06-03PCI/sysfs: Use sysfs_emit() and sysfs_emit_at() in "show" functionsKrzysztof Wilczyński1-4/+4
2021-04-20PCI/MSI: Document the various ways of ending up with NO_MSIMarc Zyngier1-2/+9
2021-04-20PCI/MSI: Kill default_teardown_msi_irqs()Marc Zyngier1-10/+1
2021-04-20PCI/MSI: Drop use of msi_controller from core codeMarc Zyngier1-22/+1
2020-12-04PCI/MSI: Set device flag indicating only 32-bit MSI supportVidya Sagar1-5/+8
2020-12-04PCI/MSI: Move MSI/MSI-X flags updaters to msi.cBjorn Helgaas1-0/+21
2020-12-04PCI/MSI: Move MSI/MSI-X init to msi.cBjorn Helgaas1-0/+36
2020-09-16PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectableThomas Gleixner1-1/+2
2020-09-16PCI/MSI: Provide pci_dev_has_special_msi_domain() helperThomas Gleixner1-0/+22
2020-09-16x86/msi: Use generic MSI domain opsThomas Gleixner1-5/+1
2020-09-16PCI/MSI: Rework pci_msi_domain_calc_hwirq()Thomas Gleixner1-5/+4
2020-08-07Merge tag 'pci-v5.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-13/+9
2020-07-28of/irq: Make of_msi_map_rid() PCI bus agnosticLorenzo Pieralisi1-1/+1
2020-07-28of/irq: make of_msi_map_get_device_domain() bus agnosticDiana Craciun1-1/+1
2020-07-28ACPI/IORT: Make iort_msi_map_rid() PCI agnosticLorenzo Pieralisi1-1/+1
2020-07-28ACPI/IORT: Make iort_get_device_domain IRQ domain agnosticLorenzo Pieralisi1-1/+2
2020-06-30PCI/MSI: Forward MSI-X error code in pci_alloc_irq_vectors_affinity()Piotr Stankiewicz1-13/+9
2020-01-06remove ioremap_nocache and devm_ioremap_nocacheChristoph Hellwig1-1/+1
2019-11-26PCI/MSI: Fix incorrect MSI-X masking on resumeJian-Hong Pan1-1/+2
2019-11-26PCI/MSI: Move power state check out of pci_msi_supported()Bjorn Helgaas1-3/+3
2019-11-26PCI/MSI: Remove unused pci_irq_get_node()Greg Kroah-Hartman1-16/+0
2019-07-21Merge tag 'ntb-5.3' of git://github.com/jonmason/ntbLinus Torvalds1-9/+45
2019-07-09PCI: Fix typos and whitespace errorsBjorn Helgaas1-21/+22
2019-06-13PCI/MSI: Support allocating virtual MSI interruptsLogan Gunthorpe1-9/+45
2019-04-29PCI: Add pci_dev_id() helperHeiner Kallweit1-3/+3
2019-02-18PCI/MSI: Remove obsolete sanity checks for multiple interrupt setsThomas Gleixner1-14/+0
2019-02-18genirq/affinity: Add new callback for (re)calculating interrupt setsMing Lei1-9/+16
2019-01-15PCI/MSI: Return -ENOSPC from pci_alloc_irq_vectors_affinity()Ming Lei1-9/+13
2018-12-19genirq/core: Introduce struct irq_affinity_descDou Liyang1-5/+4
2018-11-05genirq/affinity: Add support for allocating interrupt setsJens Axboe1-0/+14
2018-09-25PCI/MSI: Warn and return error if driver enables MSI/MSI-X twiceTonghao Zhang1-3/+6
2018-08-14PCI/MSI: Set IRQCHIP_ONESHOT_SAFE for PCI-MSI irqchipsHeiner Kallweit1-0/+3
2018-06-12treewide: kzalloc() -> kcalloc()Kees Cook1-2/+2
2018-05-13genirq/msi: Limit level-triggered MSI to platform devicesMarc Zyngier1-0/+3
2018-03-19PCI: Tidy commentsBjorn Helgaas1-2/+1
2018-02-01Merge branch 'pci/spdx' into nextBjorn Helgaas1-0/+1
2018-01-26PCI: Add SPDX GPL-2.0 when no license was specifiedBjorn Helgaas1-0/+1
2018-01-18PCI: Add wrappers for dev_printk()Frederick Lawler1-4/+3
2017-10-18PCI/MSI: Set MSI_FLAG_MUST_REACTIVATE in core codeThomas Gleixner1-0/+2
2017-09-08Merge tag 'pci-v4.14-changes' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-5/+22
2017-08-25PCI/MSI: Don't warn when irq_create_affinity_masks() returns NULLChristoph Hellwig1-10/+3
2017-08-14PCI/MSI: Assume MSIs use real Requester ID, not an aliasRobin Murphy1-5/+22
2017-07-08Merge tag 'pci-v4.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-12/+2
2017-06-22irqchip/MSI: Use irq_domain_update_bus_token instead of an open coded accessMarc Zyngier1-1/+1
2017-05-22PCI/MSI: Ignore affinity if pre/post vector count is more than min_vecsMichael Hernandez1-12/+2
2017-05-08Merge tag 'pci-v4.12-changes' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-5/+12
2017-04-28Merge branch 'pci/msi' into nextBjorn Helgaas1-4/+6
2017-04-11PCI: remove pci_enable_msixChristoph Hellwig1-21/+0
2017-03-29PCI/MSI: Skip disabling disconnected devicesKeith Busch1-1/+6
2017-03-23PCI/MSI: Use dev_printk() when possibleBjorn Helgaas1-2/+4
2017-03-09PCI/MSI: Make pci_msi_shutdown() and pci_msix_shutdown() staticBjorn Helgaas1-2/+2
2017-03-02PCI: add an API to get node from vectorShaohua Li1-0/+16
2017-02-23Merge tag 'pci-v4.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-100/+22
2017-02-17PCI/MSI: Fix msi_desc->affinity memory leak when freeing MSI IRQsPrarit Bhargava1-1/+1
2017-02-10PCI/MSI: Return -ENOSPC if pci_enable_msi_range() can't get enough vectorsDennis Chen1-1/+1
2017-02-10PCI/MSI: Check that we have a legacy interrupt line before using itChristoph Hellwig1-3/+5
2017-02-10PCI/MSI: Remove pci_msi_domain_{alloc,free}_irqs()Christoph Hellwig1-28/+2
2017-02-10PCI/MSI: Remove unused pci_msi_create_default_irq_domain()Christoph Hellwig1-48/+2
2017-02-10PCI/MSI: Return failure when msix_setup_entries() failsChristophe JAILLET1-1/+1
2017-02-02PCI/MSI: Don't apply affinity if there aren't enough vectors leftChristoph Hellwig1-0/+10
2017-01-13PCI/MSI: Remove pci_enable_msi_{exact,range}()Christoph Hellwig1-17/+9
2017-01-11PCI/MSI: Fix msi_capability_init() kernel-doc warningsRandy Dunlap1-1/+1
2016-12-15Merge tag 'pci-v4.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-1/+2
2016-11-09PCI/MSI: Provide pci_alloc_irq_vectors_affinity()Christoph Hellwig1-7/+13
2016-11-09PCI/MSI: Propagate IRQ affinity description through the MSI codeChristoph Hellwig1-33/+33
2016-11-09genirq/affinity: Handle pre/post vectors in irq_create_affinity_masks()Christoph Hellwig1-2/+4
2016-11-09genirq/affinity: Handle pre/post vectors in irq_calc_affinity_vectors()Christoph Hellwig1-4/+4
2016-11-08PCI/MSI: Check for NULL affinity mask in pci_irq_get_affinity()Jan Beulich1-1/+2
2016-10-26doc: Add missing parameter for msi_setupStephen Hemminger1-0/+2
2016-09-15Merge branch 'irq/for-block' into irq/coreThomas Gleixner1-58/+103
2016-09-14pci/msi: Retrieve affinity for a vectorThomas Gleixner1-0/+31
2016-09-14genirq/msi: Switch to new irq spreading infrastructureThomas Gleixner1-56/+72
2016-09-14genirq/msi: Add cpumask allocation to alloc_msi_entryThomas Gleixner1-4/+2
2016-09-12PCI/MSI: Setup MSI domain on a per-device basis using IORT ACPI tableTomasz Nowicki1-3/+8
2016-08-26Merge tag 'pci-v4.8-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-8/+10
2016-08-18PCI: Call pci_intx() when using legacy interrupts in pci_alloc_irq_vectors()Christoph Hellwig1-1/+4
2016-08-16PCI: Use positive flags in pci_alloc_irq_vectors()Christoph Hellwig1-8/+7
2016-08-09genirq/msi: Make sure PCI MSIs are activated earlyMarc Zyngier1-0/+2
2016-07-21PCI: Spread interrupt vectors in pci_alloc_irq_vectors()Christoph Hellwig1-45/+89
2016-07-21PCI: Provide sensible IRQ vector alloc/free routinesChristoph Hellwig1-0/+89
2016-07-21PCI: Make the "entries" argument to pci_enable_msix() optionalChristoph Hellwig1-14/+16
2016-07-21PCI: Switch msix_program_entries() to use pci_msix_desc_addr()Christoph Hellwig1-4/+2
2016-07-21PCI: Add pci_msix_desc_addr() helperChristoph Hellwig1-8/+9
2016-01-21Merge tag 'pci-v4.5-changes' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-4/+0
2015-12-20genirq/msi: Export functions to allow MSI domains in modulesJake Oshins1-0/+4
2015-12-04PCI/MSI: Only use the generic MSI layer when domain is hierarchicalMarc Zyngier1-2/+2
2015-11-30PCI/MSI: Remove empty pci_msi_init_pci_dev()Bjorn Helgaas1-4/+0
2015-11-06Merge tag 'pci-v4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-14/+20
2015-11-03Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-7/+56
2015-11-03Merge branches 'pci/host-altera', 'pci/host-designware', 'pci/host-generic', ...Bjorn Helgaas1-0/+3
2015-10-16PCI/MSI: Allow the MSI domain to be device-specificMarc Zyngier1-0/+17
2015-10-16PCI/MSI: Add helper function pci_msi_domain_get_msi_rid().David Daney1-0/+32
2015-10-16genirq/msi: Do not use pci_msi_[un]mask_irq as default methodsMarc Zyngier1-0/+4
2015-10-15PCI/MSI: Export all remapped MSIs to sysfs attributesRomain Bezut1-14/+17
2015-10-13irqdomain/msi: Use fwnode instead of of_nodeMarc Zyngier1-7/+7
2015-09-18PCI: Add msi_controller setup_irqs() method for special multivector setupLucas Stach1-0/+3
2015-09-01Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-48/+58
2015-08-28Merge branches 'pci/enumeration' and 'pci/misc' into nextBjorn Helgaas1-16/+1
2015-08-20PCI/MSI: Remove unused pcibios_msi_controller() hookLorenzo Pieralisi1-16/+1
2015-07-30PCI/MSI: Free legacy IRQ when enabling MSI/MSI-XJiang Liu1-1/+4
2015-07-30PCI/MSI: Drop domain field from msi_controllerMarc Zyngier1-3/+0
2015-07-30PCI/MSI: Let pci_msi_get_domain use struct device::msi_domainMarc Zyngier1-6/+8
2015-07-30PCI/MSI: Register irq domain with specific tokenMarc Zyngier1-1/+8
2015-07-22genirq/MSI: Move alloc_msi_entry() from PCI into generic MSI codeJiang Liu1-14/+2
2015-07-22genirq/MSI: Store 'struct device' instead of 'struct pci_dev' in struct msi_descJiang Liu1-1/+6
2015-07-22genirq/MSI: Move msi_list from struct pci_dev to struct deviceJiang Liu1-2/+1
2015-07-22PCI: Use helper functions to access fields in struct msi_descJiang Liu1-5/+8
2015-07-22PCI: Use for_each_pci_msi_entry() to access MSI device listJiang Liu1-19/+20
2015-07-22PCI: Add helper function msi_desc_to_pci_sysdata()Jiang Liu1-0/+8
2015-07-16treewide: Use helper function to access irq_data->msi_descJiang Liu1-1/+1
2015-07-16genirq: Rename irq_data_get_msi() as irq_data_get_msi_desc()Jiang Liu1-1/+1
2015-05-07PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSIMichael S. Tsirkin1-12/+0
2015-05-07PCI/MSI: Export pci_msi_set_enable(), pci_msix_clear_and_set_ctrl()Michael S. Tsirkin1-21/+0
2015-05-07PCI/MSI: Rename msi_set_enable(), msix_clear_and_set_ctrl()Michael S. Tsirkin1-14/+14
2015-01-28PCI: Fail MSI-X mappings if there's no space assigned to MSI-X BARYijing Wang1-0/+5
2014-12-10Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-87/+307
2014-11-24PCI/MSI: Add device flag indicating that 64-bit MSIs don't workBenjamin Herrenschmidt1-0/+26
2014-11-23PCI/MSI: Allow an msi_controller to be associated to an irq domainMarc Zyngier1-2/+14
2014-11-23PCI/MSI: Provide mechanism to alloc/free MSI/MSIX interrupt from irqdomainJiang Liu1-3/+64
2014-11-23PCI/MSI: Enhance core to support hierarchy irqdomainJiang Liu1-0/+168
2014-11-23PCI/MSI: Move cached entry functions to irq coreJiang Liu1-18/+0
2014-11-23PCI/MSI: Rename mask/unmask_msi_irq et alThomas Gleixner1-8/+16
2014-11-23PCI/MSI: Rename write_msi_msg() to pci_write_msi_msg()Jiang Liu1-5/+5
2014-11-23PCI/MSI: Rename __read_msi_msg() to __pci_read_msi_msg()Jiang Liu1-8/+1
2014-11-23PCI/MSI: Kill redundant call of irq_set_msi_desc() for MSI-X interruptsJiang Liu1-1/+0
2014-11-23PCI/MSI: Simplify PCI MSI code by initializing msi_desc.nvec_used earlierJiang Liu1-25/+15
2014-11-23PCI/MSI: Remove unnecessary braces around single statementsJiang Liu1-6/+3
2014-11-12PCI/MSI: Add weak pcibios_msi_controller()Yijing Wang1-1/+16
2014-11-12PCI/MSI: Rename "struct msi_chip" to "struct msi_controller"Yijing Wang1-2/+2
2014-11-11Revert "PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq()"Yijing Wang1-16/+6
2014-11-06PCI/MSI: Add pci_msi_ignore_mask to prevent writes to MSI/MSI-X Mask BitsYijing Wang1-1/+6
2014-10-11Merge tag 'vfio-v3.18-rc1' of git://github.com/awilliam/linux-vfioLinus Torvalds1-0/+2
2014-10-01PCI/MSI: Remove unnecessary temporary variableBjorn Helgaas1-3/+2
2014-10-01PCI/MSI: Use __write_msi_msg() instead of write_msi_msg()Yijing Wang1-1/+1
2014-10-01PCI/MSI: Remove "pos" from the struct msi_desc msi_attribYijing Wang1-2/+0
2014-10-01PCI/MSI: Remove unused kobject from struct msi_descYijing Wang1-11/+0
2014-10-01PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported()Alexander Gordeev1-15/+12
2014-10-01PCI/MSI: Move D0 check into pci_msi_check_device()Alexander Gordeev1-17/+10
2014-10-01PCI/MSI: Remove arch_msi_check_device()Alexander Gordeev1-18/+3
2014-09-29PCI: Export MSI message relevant functionsGavin Shan1-0/+2
2014-07-16PCI/MSI: Use irq_get_msi_desc() to simplify codeYijing Wang1-7/+5
2014-07-16PCI/MSI: Remove unused list access in __pci_restore_msix_state()Yijing Wang1-1/+0
2014-07-16PCI/MSI: Retrieve first MSI IRQ from msi_desc rather than pci_devYijing Wang1-1/+1
2014-07-16PCI/MSI: Remove unused function msi_remove_pci_irq_vectors()Yijing Wang1-18/+0
2014-07-16PCI/MSI: Add msi_setup_entry() to clean up MSI initializationYijing Wang1-18/+33
2014-07-03PCI/MSI: Cache Multiple Message Capable in struct msi_descYijing Wang1-10/+5
2014-07-03PCI/MSI: Remove unused msi_enabled_mask()Yijing Wang1-5/+0
2014-07-03PCI/MSI: Add internal msix_clear_and_set_ctrl() functionYijing Wang1-23/+16
2014-06-11Merge branches 'pci/msi', 'pci/iommu' and 'pci/cleanup' into nextBjorn Helgaas1-3/+2
2014-06-11PCI/MSI: Fix memory leak in free_msi_irqs()Alexei Starovoitov1-1/+1
2014-06-10PCI: Merge multi-line quoted stringsRyan Desfosses1-2/+1
2014-05-26Merge branches 'dma-api', 'pci/virtualization', 'pci/msi', 'pci/misc' and 'pc...Bjorn Helgaas1-46/+33
2014-04-30PCI/MSI: Remove pci_enable_msi_block()Alexander Gordeev1-46/+33
2014-04-29Merge branches 'pci/hotplug', 'pci/msi', 'pci/virtualization' and 'pci/misc' ...Bjorn Helgaas1-11/+6
2014-04-14PCI: Remove unnecessary includes of <linux/init.h>Paul Gortmaker1-1/+0
2014-04-14PCI/MSI: Simplify populate_msi_sysfs()Jan Beulich1-10/+6
2014-02-13PCI/MSI: Fix pci_msix_vec_count() htmldocs failureMasanari Iida1-1/+0
2014-02-13PCI/MSI: Fix leak of msi_attrsGreg Kroah-Hartman1-0/+1
2014-02-13PCI/MSI: Check kmalloc() return value, fix leak of nameGreg Kroah-Hartman1-1/+7
2014-01-07Merge branch 'pci/msi' into nextBjorn Helgaas1-34/+116
2014-01-03PCI/MSI: Add pci_enable_msi_range() and pci_enable_msix_range()Alexander Gordeev1-0/+74
2014-01-03PCI/MSI: Add pci_msix_vec_count()Alexander Gordeev1-5/+13
2014-01-03PCI/MSI: Remove pci_enable_msi_block_auto()Alexander Gordeev1-25/+0
2014-01-03PCI/MSI: Add pci_msi_vec_count()Alexander Gordeev1-8/+33
2013-12-20Merge branch 'pci/msi' into nextBjorn Helgaas1-83/+98
2013-12-20PCI/MSI: Make pci_enable_msi/msix() 'nvec' argument type as intAlexander Gordeev1-2/+2
2013-12-20PCI/MSI: Return msix_capability_init() failure if populate_msi_sysfs() failsAlexander Gordeev1-6/+5