1. 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
  2. 22 7月, 2016 5 次提交
  3. 20 12月, 2015 1 次提交
  4. 05 12月, 2015 1 次提交
  5. 01 12月, 2015 1 次提交
  6. 16 10月, 2015 4 次提交
  7. 14 10月, 2015 1 次提交
  8. 19 9月, 2015 1 次提交
  9. 21 8月, 2015 1 次提交
  10. 31 7月, 2015 1 次提交
  11. 30 7月, 2015 3 次提交
  12. 23 7月, 2015 6 次提交
  13. 17 7月, 2015 2 次提交
  14. 07 5月, 2015 3 次提交
  15. 28 1月, 2015 1 次提交
    • Y
      PCI: Fail MSI-X mappings if there's no space assigned to MSI-X BAR · 6a878e50
      Yijing Wang 提交于
      Unlike MSI, which is configured via registers in the MSI capability in
      Configuration Space, MSI-X is configured via tables in Memory Space.
      These MSI-X tables are mapped by a device BAR, and if no Memory Space
      has been assigned to the BAR, MSI-X cannot be used.
      
      Fail MSI-X setup if no space has been assigned for the BAR.
      
      Previously, we ioremapped the MSI-X table even if the resource hadn't been
      assigned.  In this case, the resource address is undefined (and is often
      zero), which may lead to warnings or oopses in this path:
      
        pci_enable_msix
          msix_capability_init
            msix_map_region
              ioremap_nocache
      
      The PCI core sets resource flags to zero when it can't assign space for the
      resource (see reset_resource()).  There are also some cases where it sets
      the IORESOURCE_UNSET flag, e.g., pci_reassigndev_resource_alignment(),
      pci_assign_resource(), etc.  So we must check for both cases.
      
      [bhelgaas: changelog]
      Reported-by: NZhang Jukuo <zhangjukuo@huawei.com>
      Tested-by: NZhang Jukuo <zhangjukuo@huawei.com>
      Signed-off-by: NYijing Wang <wangyijing@huawei.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      6a878e50
  16. 24 11月, 2014 2 次提交
  17. 23 11月, 2014 6 次提交