1. 19 1月, 2018 1 次提交
  2. 18 10月, 2017 1 次提交
    • T
      PCI/MSI: Set MSI_FLAG_MUST_REACTIVATE in core code · 25e960ef
      Thomas Gleixner 提交于
      If interrupt reservation mode is enabled then the PCI/MSI interrupts must
      be reactivated after early activation.
      
      Make sure that all callers of pci_msi_create_irq_domain() have the
      MSI_FLAG_MUST_REACTIVATE set when reservation mode is enabled.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Josh Poulson <jopoulso@microsoft.com>
      Cc: Mihai Costache <v-micos@microsoft.com>
      Cc: Stephen Hemminger <sthemmin@microsoft.com>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: linux-pci@vger.kernel.org
      Cc: Haiyang Zhang <haiyangz@microsoft.com>
      Cc: Dexuan Cui <decui@microsoft.com>
      Cc: Simon Xiao <sixiao@microsoft.com>
      Cc: Saeed Mahameed <saeedm@mellanox.com>
      Cc: Jork Loeser <Jork.Loeser@microsoft.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: devel@linuxdriverproject.org
      Cc: KY Srinivasan <kys@microsoft.com>
      Link: https://lkml.kernel.org/r/20171017075600.448649905@linutronix.de
      25e960ef
  3. 26 8月, 2017 1 次提交
  4. 15 8月, 2017 1 次提交
    • R
      PCI/MSI: Assume MSIs use real Requester ID, not an alias · 235b2c77
      Robin Murphy 提交于
      Currently, we handle all DMA aliases equally when calculating MSI requester
      IDs for the generic infrastructure. This turns out to be the wrong thing to
      do in the face of pure DMA quirks like those of Marvell SATA cards, where
      in the usual case the last thing seen in the alias walk is the DMA phantom
      function: we end up configuring the MSI doorbell to expect that alias, then
      find we have no interrupts since the MSI writes still come from the 'real'
      RID, thus get filtered out and ignored.
      
      Improve the alias walk to only account for the topological aliases that
      matter, based on the logic from the Intel IRQ remapping code.
      Signed-off-by: NRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
      235b2c77
  5. 23 6月, 2017 1 次提交
  6. 23 5月, 2017 1 次提交
  7. 11 4月, 2017 1 次提交
  8. 30 3月, 2017 1 次提交
  9. 24 3月, 2017 1 次提交
    • B
      PCI/MSI: Use dev_printk() when possible · 4bb66691
      Bjorn Helgaas 提交于
      Use dev_printk() when possible.  This makes messages more consistent with
      other device-related messages and, in some cases, adds useful information.
      This changes messages like this:
      
        Unable to allocate affinity masks, ignoring
      
      to this:
      
        pci 0000:01:00.0: can't allocate MSI affinity masks for 4 vectors
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      4bb66691
  10. 10 3月, 2017 1 次提交
  11. 02 3月, 2017 1 次提交
  12. 18 2月, 2017 1 次提交
    • P
      PCI/MSI: Fix msi_desc->affinity memory leak when freeing MSI IRQs · 81efbadd
      Prarit Bhargava 提交于
      During device setup, msix_setup_entries() and msi_setup_entry() allocate
      msi_desc by calling alloc_msi_entry().  alloc_msi_entry() can also allocate
      a affinity cpumask.  During device teardown free_msi_irqs() is called and
      the msi_desc is freed, but the affinity cpumask is leaked.
      
      Fix it by calling free_msi_entry() which frees both the msi_desc and the
      affinity cpumask.
      
      [bhelgaas: aa48b6f7 ("genirq/MSI: Move alloc_msi_entry() from PCI into
       generic MSI code") moved alloc_msi_entry() from drivers/pci/msi.c to
       kernel/irq/msi.c and added a new corresponding free_msi_entry() interface.
      
       After aa48b6f7, pci/msi.c used alloc_msi_entry(), but did its own
       kfree() instead of using free_msi_entry().  28f4b041 ("genirq/msi: Add
       cpumask allocation to alloc_msi_entry") added affinity to both
       alloc_msi_entry() and free_msi_entry(), but pci/msi.c didn't use
       free_msi_entry(), resulting in this leak.]
      
      Fixes: aa48b6f7 ("genirq/MSI: Move alloc_msi_entry() from PCI into generic MSI code")
      Signed-off-by: NPrarit Bhargava <prarit@redhat.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Myron Stowe <mstowe@redhat.com>
      81efbadd
  13. 11 2月, 2017 5 次提交
  14. 03 2月, 2017 1 次提交
  15. 14 1月, 2017 1 次提交
  16. 12 1月, 2017 1 次提交
  17. 09 11月, 2016 5 次提交
  18. 26 10月, 2016 1 次提交
  19. 15 9月, 2016 3 次提交
  20. 13 9月, 2016 1 次提交
  21. 18 8月, 2016 1 次提交
  22. 17 8月, 2016 1 次提交
    • C
      PCI: Use positive flags in pci_alloc_irq_vectors() · 4fe0d154
      Christoph Hellwig 提交于
      Instead of passing negative flags like PCI_IRQ_NOMSI to prevent use of
      certain interrupt types, pass positive flags like PCI_IRQ_LEGACY,
      PCI_IRQ_MSI, etc., to specify the acceptable interrupt types.
      
      This is based on a number of pending driver conversions that just happend
      to be a whole more obvious to read this way, and given that we have no
      users in the tree yet it can still easily be done.
      
      I've also added a PCI_IRQ_ALL_TYPES catchall to keep the case of accepting
      all interrupt types very simple.
      
      [bhelgaas: changelog, fix PCI_IRQ_AFFINITY doc typo, remove mention of
      PCI_IRQ_NOLEGACY]
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NAlexander Gordeev <agordeev@redhat.com>
      4fe0d154
  23. 09 8月, 2016 1 次提交
  24. 22 7月, 2016 5 次提交
  25. 20 12月, 2015 1 次提交
  26. 05 12月, 2015 1 次提交