1. 14 11月, 2014 1 次提交
  2. 02 10月, 2014 3 次提交
  3. 01 10月, 2014 2 次提交
  4. 24 9月, 2014 4 次提交
  5. 23 9月, 2014 3 次提交
  6. 17 9月, 2014 8 次提交
  7. 06 9月, 2014 2 次提交
  8. 05 9月, 2014 8 次提交
  9. 04 9月, 2014 2 次提交
  10. 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
  11. 18 8月, 2014 1 次提交
    • S
      PCI: spear: Remove module option · 8d7004a6
      Sachin Kamat 提交于
      We get the following error when built as a module. Though the general fix
      would be in this case to export the below mentioned symbols, considering
      that dw_pcie_host_init() is marked with __init and other PCI drivers do not
      support modular build, I have disabled building this driver as a module
      too.
      
        ERROR: "dw_pcie_host_init" [drivers/pci/host/pcie-spear13xx.ko] undefined!
        ERROR: "dw_handle_msi_irq" [drivers/pci/host/pcie-spear13xx.ko] undefined!
        ERROR: "dw_pcie_msi_init" [drivers/pci/host/pcie-spear13xx.ko] undefined!
        ERROR: "dw_pcie_cfg_write" [drivers/pci/host/pcie-spear13xx.ko] undefined!
        ERROR: "dw_pcie_cfg_read" [drivers/pci/host/pcie-spear13xx.ko] undefined!
        ERROR: "dw_pcie_setup_rc" [drivers/pci/host/pcie-spear13xx.ko] undefined!
        ERROR: "dw_pcie_link_up" [drivers/pci/host/pcie-spear13xx.ko] undefined!
        make[1]: *** [__modpost] Error 1
        make: *** [modules] Error 2
      Signed-off-by: NSachin Kamat <sachin.kamat@samsung.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NJingoo Han <jg1.han@samsung.com>
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      8d7004a6
  12. 23 7月, 2014 5 次提交
    • 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
    • M
      PCI: designware: Add config access-related pcie_host_ops for v3.65 hardware · a1c0ae9c
      Murali Karicheri 提交于
      DesignWare v3.65 hardware requires application space registers to be
      configured to access the remote EP config space.
      
      To support this, add rd_other_conf() and wr_other_conf() to pcie_host_ops.
      
      [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>
      a1c0ae9c
    • K
      PCI: dra7xx: Add TI DRA7xx PCIe driver · 47ff3de9
      Kishon Vijay Abraham I 提交于
      Add support for PCIe controller in DRA7xx.  This driver re-uses the
      designware core code that is already present in kernel.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NJingoo Han <jg1.han@samsung.com>
      Cc: Rob Herring <robh+dt@kernel.org>
      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: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Cc: Mohit Kumar <mohit.kumar@st.com>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Arnd Bergmann <arnd@arndb.de>
      47ff3de9
    • K
      PCI: designware: Program ATU with untranslated address · f4c55c5a
      Kishon Vijay Abraham I 提交于
      In DRA7, the CPU sees 32-bit addresses, but the PCIe controller can see
      only 28-bit addresses.  So whenever the CPU issues a read/write request,
      the 4 most significant bits are used by L3 to determine the target
      controller.  For example, the CPU reserves [mem 0x20000000-0x2fffffff]
      for the PCIe controller but the PCIe controller will see only
      [0x00000000-0x0fffffff].  For programming the outbound translation
      window the *base* should be programmed as 0x00000000.  Whenever we try to
      write to, e.g., 0x20000000, it will be translated to whatever we have
      programmed in the translation window with base as 0x00000000.
      
      This is needed when the dt node is modelled something like this:
      
          axi {
              compatible = "simple-bus";
              #size-cells = <1>;
              #address-cells = <1>;
              ranges = <0x0        0x20000000 0x10000000 // 28-bit bus
                        0x51000000 0x51000000 0x3000>;
              pcie@51000000 {
                      reg = <0x1000 0x2000>, <0x51002000 0x14c>, <0x51000000 0x2000>;
                      reg-names = "config", "ti_conf", "rc_dbics";
                      #address-cells = <3>;
                      #size-cells = <2>;
                      ranges = <0x81000000 0 0          0x03000 0 0x00010000
                                0x82000000 0 0x20013000 0x13000 0 0xffed000>;
              };
          };
      
      Here the CPU address for configuration space is 0x20013000 and the
      controller address for configuration space is 0x13000.  The controller
      address should be used while programming the ATU (in order for translation
      to happen properly in DRA7xx).
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NMohit Kumar <mohit.kumar@st.com>
      Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Cc: Jingoo Han <jg1.han@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Arnd Bergmann <arnd@arndb.de>
      f4c55c5a
    • K
      PCI: designware: Look for configuration space in 'reg', not 'ranges' · 4dd964df
      Kishon Vijay Abraham I 提交于
      The configuration address space has so far been specified in *ranges*,
      however it should be specified in *reg* making it a platform MEM resource.
      Hence used 'platform_get_resource_*' API to get configuration address space
      in the designware driver.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NMohit Kumar <mohit.kumar@st.com>
      Acked-by: NJingoo Han <jg1.han@samsung.com>
      Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Arnd Bergmann <arnd@arndb.de>
      4dd964df