1. 03 11月, 2015 5 次提交
  2. 19 9月, 2015 3 次提交
  3. 21 8月, 2015 1 次提交
    • L
      ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() · 8953aab1
      Lorenzo Pieralisi 提交于
      ARM previously stored the msi_controller pointer in its sysdata, struct
      pci_sys_data, and implemented pcibios_msi_controller() to retrieve it.
      That made PCI host controller drivers specific to ARM because they had to
      put the msi_controller pointer in the ARM-specific pci_sys_data.
      
      There is now a generic mechanism, pci_scan_root_bus_msi(), for giving the
      msi_controller pointer to the PCI core.  Use this for all ARM systems and
      for the DesignWare and Xilinx PCI host controller drivers.
      
      This removes an ARM dependency from the DesignWare, DRA7xx, EXYNOS, i.MX6,
      Keystone, Layerscape, SPEAr13xx, and Xilinx drivers.
      
      [bhelgaas: changelog, split into separate patch]
      Suggested-by: NRussell King <linux@arm.linux.org.uk>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NJingoo Han <jingoohan1@gmail.com>
      CC: Pratyush Anand <pratyush.anand@gmail.com>
      CC: Arnd Bergmann <arnd@arndb.de>
      CC: Simon Horman <horms@verge.net.au>
      CC: Russell King <linux@arm.linux.org.uk>
      CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      CC: Thierry Reding <thierry.reding@gmail.com>
      CC: Michal Simek <michal.simek@xilinx.com>
      CC: Marc Zyngier <marc.zyngier@arm.com>
      8953aab1
  4. 12 8月, 2015 1 次提交
    • R
      PCI: Kill off set_irq_flags() usage · 3e146753
      Rob Herring 提交于
      set_irq_flags is ARM-specific with custom flags which have genirq
      equivalents.  Convert drivers to use the genirq interfaces directly, so we
      can kill off set_irq_flags.  The translation of flags is as follows:
      
        IRQF_VALID -> !IRQ_NOREQUEST
        IRQF_PROBE -> !IRQ_NOPROBE
        IRQF_NOAUTOEN -> IRQ_NOAUTOEN
      
      For IRQs managed by an irqdomain, the irqdomain core code handles clearing
      and setting IRQ_NOREQUEST already, so there is no need to do this in .map()
      functions, and we can simply remove the set_irq_flags calls.  Some users
      also modify IRQ_NOPROBE, and this has been maintained although it is not
      clear that is really needed.  There appears to be a great deal of blind
      copy and paste of this code.
      Signed-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NJingoo Han <jingoohan1@gmail.com>
      CC: Kishon Vijay Abraham I <kishon@ti.com>
      CC: Murali Karicheri <m-karicheri2@ti.com>
      CC: Thierry Reding <thierry.reding@gmail.com>
      CC: Stephen Warren <swarren@wwwdotorg.org>
      CC: Alexandre Courbot <gnurou@gmail.com>
      CC: Jingoo Han <jingoohan1@gmail.com>
      CC: Pratyush Anand <pratyush.anand@gmail.com>
      CC: Simon Horman <horms@verge.net.au>
      CC: Michal Simek <michal.simek@xilinx.com>
      CC: "Sören Brinkmann" <soren.brinkmann@xilinx.com>
      3e146753
  5. 23 7月, 2015 2 次提交
  6. 17 7月, 2015 1 次提交
  7. 28 5月, 2015 1 次提交
  8. 21 5月, 2015 2 次提交
  9. 20 5月, 2015 1 次提交
  10. 07 3月, 2015 1 次提交
  11. 28 1月, 2015 1 次提交
  12. 28 12月, 2014 1 次提交
  13. 23 11月, 2014 2 次提交
    • T
      PCI/MSI: Rename mask/unmask_msi_irq treewide · 280510f1
      Thomas Gleixner 提交于
      The PCI/MSI irq chip callbacks mask/unmask_msi_irq have been renamed
      to pci_msi_mask/unmask_irq to mark them PCI specific. Rename all usage
      sites. The conversion helper functions are kept around to avoid
      conflicts in next and will be removed after merging into mainline.
      
      Coccinelle assisted conversion. No functional change.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: x86@kernel.org
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Murali Karicheri <m-karicheri2@ti.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Mohit Kumar <mohit.kumar@st.com>
      Cc: Simon Horman <horms@verge.net.au>
      Cc: Michal Simek <michal.simek@xilinx.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      280510f1
    • J
      PCI/MSI: Rename write_msi_msg() to pci_write_msi_msg() · 83a18912
      Jiang Liu 提交于
      Rename write_msi_msg() to pci_write_msi_msg() to mark it as PCI
      specific.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      83a18912
  14. 22 11月, 2014 1 次提交
  15. 14 11月, 2014 1 次提交
  16. 12 11月, 2014 1 次提交
  17. 02 10月, 2014 2 次提交
  18. 01 10月, 2014 1 次提交
  19. 24 9月, 2014 4 次提交
  20. 23 9月, 2014 1 次提交
  21. 06 9月, 2014 1 次提交
  22. 05 9月, 2014 4 次提交
  23. 03 9月, 2014 1 次提交
    • M
      PCI: designware: Add support for v3.65 hardware · b14a3d17
      Murali Karicheri 提交于
      The Keystone PCI controller is based on v3.65 DesignWare hardware.  This
      version differs from newer versions of the hardware in functional areas
      discussed below that make it necessary to change dw_pcie_host_init() to
      support v3.65 based PCI controller.
      
          1. No support for ATU port.  Any ATU-specific resource handling code is
             to be bypassed for v3.65 h/w.
      
          2. MSI controller uses application space to implement MSI and 32 MSI
             interrupts are multiplexed over 8 IRQs to the host.  Hence the code
             to process MSI IRQ needs to be different.  This patch allows
             platform driver to provide its own irq_domain_ops ptr to
             irq_domain_add_linear() through an API callback from the DesignWare
             core driver.
      
          3. MSI interrupt generation requires EP to write to the RC's
             application register.  So enhance the driver to allow setup of
             inbound access to MSI IRQ register as a post scan bus API callback.
      Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NPratyush Anand <pratyush.anand@st.com>
      Acked-by: NMohit KUMAR <mohit.kumar@st.com>
      Acked-by: NJingoo Han <jg1.han@samsung.com>
      CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
      CC: Russell King <linux@arm.linux.org.uk>
      CC: Grant Likely <grant.likely@linaro.org>
      CC: Rob Herring <robh+dt@kernel.org>
      CC: Jingoo Han <jg1.han@samsung.com>
      CC: Richard Zhu <r65037@freescale.com>
      CC: Kishon Vijay Abraham I <kishon@ti.com>
      CC: Marek Vasut <marex@denx.de>
      CC: Arnd Bergmann <arnd@arndb.de>
      CC: Pawel Moll <pawel.moll@arm.com>
      CC: Mark Rutland <mark.rutland@arm.com>
      CC: Ian Campbell <ijc+devicetree@hellion.org.uk>
      CC: Kumar Gala <galak@codeaurora.org>
      CC: Randy Dunlap <rdunlap@infradead.org>
      CC: Grant Likely <grant.likely@linaro.org>
      b14a3d17
  24. 23 7月, 2014 1 次提交
    • M
      PCI: designware: Add MSI-related pcie_host_ops for v3.65 hardware · 2f37c5a8
      Murali Karicheri 提交于
      DesignWare v3.65 hardware implements MSI controller registers in
      application space.  This requires updates to the DesignWare core to
      support controllers based on this older hardware.
      
      Add msi_irq_set()/clear() interfaces to allow Set/Clear MSI IRQ enable bit
      in the application register.  Also, v3.65 hardware uses the MSI_IRQ
      register in application register space to raise MSI IRQ to the RC from EP.
      Current code uses the standard mechanism as per PCI spec.  So add
      get_msi_data() to get the address of this register so common code can
      work on both v3.65 and newer hardware.
      
      [bhelgaas: changelog]
      Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NPratyush Anand <pratyush.anand@st.com>
      Acked-by: NMohit Kumar <mohit.kumar@st.com>
      Acked-by: NJingoo Han <jg1.han@samsung.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      CC: Russell King <linux@arm.linux.org.uk>
      CC: Grant Likely <grant.likely@linaro.org>
      CC: Rob Herring <robh+dt@kernel.org>
      CC: Richard Zhu <r65037@freescale.com>
      CC: Kishon Vijay Abraham I <kishon@ti.com>
      CC: Marek Vasut <marex@denx.de>
      CC: Arnd Bergmann <arnd@arndb.de>
      CC: Pawel Moll <pawel.moll@arm.com>
      CC: Mark Rutland <mark.rutland@arm.com>
      CC: Ian Campbell <ijc+devicetree@hellion.org.uk>
      CC: Kumar Gala <galak@codeaurora.org>
      CC: Randy Dunlap <rdunlap@infradead.org>
      CC: Grant Likely <grant.likely@linaro.org>
      2f37c5a8