1. 07 Sep, 2017 12 commits
  2. 05 Sep, 2017 5 commits
  3. 22 Aug, 2017 2 commits
  4. 19 Aug, 2017 1 commit
  5. 16 Aug, 2017 7 commits
    • Paul Burton's avatar
      PCI: faraday: Use PCI_NUM_INTX · 341d3299
      Paul Burton authored
      Use the PCI_NUM_INTX macro to indicate the number of PCI INTx interrupts
      rather than the magic number 4. This makes it clearer where the number
      comes from & what it relates to.
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      341d3299
    • Sergei Shtylyov's avatar
      PCI: faraday: Fix of_irq_get() error check · b9f27afb
      Sergei Shtylyov authored
      of_irq_get() may return a negative error number as well as 0 on failure,
      while the driver only checks for 0, blithely continuing with the call to
      irq_set_chained_handler_and_data() -- that function expects *unsigned int*
      so should probably do nothing when a large IRQ number resulting from a
      conversion of a negative error number is passed to it. The driver then
      probes successfully while being only partly functional...
      
      Check for 'irq <= 0' instead and propagate the negative error number to the
      probe method --  that will allow the deferred probing as well.
      
      Fixes: d3c68e0a ("PCI: faraday: Add Faraday Technology FTPCI100 PCI Host Bridge driver")
      Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      b9f27afb
    • Bjorn Helgaas's avatar
      PCI: dra7xx: Use PCI_NUM_INTX · 61534d1a
      Bjorn Helgaas authored
      Use the PCI_NUM_INTX macro to indicate the number of PCI INTx interrupts
      rather than the magic number 4. This makes it clearer where the number
      comes from & what it relates to.
      Based-on-similar-patches-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: Kishon Vijay Abraham I <kishon@ti.com>
      61534d1a
    • Paul Burton's avatar
      PCI: altera: Use size=4 IRQ domain for legacy INTx · bfdbbf0e
      Paul Burton authored
      The devicetree binding documentation for the Altera PCIe controller shows
      an example which uses an interrupt-map property to map PCI INTx interrupts
      to hardware IRQ numbers 1-4. The driver creates an IRQ domain with size 5
      in order to cover this range, with hwirq=0 left unused.
      
      This patch cleans up this wasted IRQ domain entry, modifying the driver to
      use an IRQ domain of size 4 which matches the actual number of PCI INTx
      interrupts. Since the hwirq numbers 1-4 are part of the devicetree binding,
      and this is considered ABI, we cannot simply change the interrupt-map
      property to use the range 0-3. Instead we make use of the
      pci_irqd_intx_xlate() helper function to translate the range 1-4 used at
      the DT level into the range 0-3 which is now used within the driver, and
      stop adding 1 to decoded hwirq numbers in altera_pcie_isr().
      
      Whilst cleaning up INTx handling we make use of the new PCI_NUM_INTX macro
      & drop the custom INTX_NUM definition.
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: Ley Foon Tan <lftan@altera.com>
      bfdbbf0e
    • Shawn Lin's avatar
      PCI: altera: Remove unused num_of_vectors variable · 8a307386
      Shawn Lin authored
      The local variable "num_of_vectors" was unused, so remove it.
      Signed-off-by: default avatarShawn Lin <shawn.lin@rock-chips.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: Ley Foon Tan <lftan@altera.com>
      8a307386
    • Paul Burton's avatar
      PCI: aardvark: Use PCI_NUM_INTX · 0d2977a3
      Paul Burton authored
      Switch from using a custom LEGACY_IRQ_NUM macro to the generic PCI_NUM_INTX
      definition for the number of INTx interrupts.
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      0d2977a3
    • Paul Burton's avatar
      PCI: Add pci_irqd_intx_xlate() · 0d58e6c1
      Paul Burton authored
      Legacy PCI INTx interrupts are represented in the PCI_INTERRUPT_PIN
      register using the range 1-4, which matches our enum pci_interrupt_pin.
      This is however not ideal for an IRQ domain, where with 4 interrupts we
      would ideally have a domain of size 4 & hwirq numbers in the range 0-3.
      
      Different PCI host controller drivers have handled this in different ways.
      Of those under drivers/pci/ which register an INTx IRQ domain, we have:
      
        - pcie-altera uses the range 1-4 in device trees and an IRQ domain of
          size 5 to cover that range, with entry 0 wasted.
      
        - pcie-xilinx & pcie-xilinx-nwl use the range 1-4 in device trees but
          register an IRQ domain of size 4, which doesn't cover the hwirq=4/INTD
          case leading to that interrupt being broken.
      
        - pci-ftpci100 & pci-aardvark use the range 0-3 in both device trees & as
          hwirq numbering in the driver & IRQ domain.
      
      In order to introduce some level of consistency in at least the hwirq
      numbering used by the drivers & IRQ domains, this patch introduces a new
      pci_irqd_intx_xlate() helper function which drivers using the 1-4 range in
      device trees can assign as the xlate callback for their INTx IRQ domain.
      This translates the 1-4 range into a 0-3 range, allowing us to use an IRQ
      domain of size 4 & avoid a wasted entry. Further patches will make use of
      this in drivers to allow them to use an IRQ domain of size 4 for legacy
      INTx interrupts without breaking INTD.
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      0d58e6c1
  6. 15 Aug, 2017 1 commit
    • Paul Burton's avatar
      PCI: Move enum pci_interrupt_pin to linux/pci.h · b352baf1
      Paul Burton authored
      We currently have a definition of enum pci_interrupt_pin in a header
      specific to PCI endpoints - linux/pci-epf.h. In order to allow for use of
      this enum from PCI host code in a future commit, move its definition to
      linux/pci.h & include that from linux/pci-epf.h.
      
      Additionally we add a PCI_NUM_INTX macro which indicates the number of PCI
      INTx interrupts, and will be used alongside enum pci_interrupt_pin in
      further patches.
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      [bhelgaas: move enum pci_interrupt_pin outside #ifdef CONFIG_PCI]
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      b352baf1
  7. 03 Aug, 2017 7 commits
  8. 02 Aug, 2017 2 commits
  9. 30 Jul, 2017 3 commits