1. 13 8月, 2019 3 次提交
  2. 27 6月, 2019 2 次提交
  3. 01 5月, 2019 1 次提交
  4. 16 4月, 2019 1 次提交
  5. 15 4月, 2019 2 次提交
  6. 01 3月, 2019 2 次提交
    • A
      PCI: dwc: Make use of BIT() in constant definitions · 0e11faa4
      Andrey Smirnov 提交于
      Avoid using explicit left shifts and convert various definitions to
      use BIT() instead. No functional change intended.
      Signed-off-by: NAndrey Smirnov <andrew.smirnov@gmail.com>
      [lorenzo.pieralisi@arm.com: fixed PORT_LOGIC_SPEED_CHANGE redefinition]
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NGustavo Pimentel <gustavo.pimentel@synopsys.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Chris Healy <cphealy@gmail.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Leonard Crestez <leonard.crestez@nxp.com>
      Cc: "A.s. Dong" <aisheng.dong@nxp.com>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: linux-imx@nxp.com
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      0e11faa4
    • A
      PCI: dwc: Make use of IS_ALIGNED() · 4f8bbd2f
      Andrey Smirnov 提交于
      Make the intent a bit more clear as well as get rid of explicit
      arithmetic by using IS_ALIGNED() to determine if "addr" is aligned to
      "size". No functional change intended.
      Signed-off-by: NAndrey Smirnov <andrew.smirnov@gmail.com>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NGustavo Pimentel <gustavo.pimentel@synopsys.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Chris Healy <cphealy@gmail.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Leonard Crestez <leonard.crestez@nxp.com>
      Cc: "A.s. Dong" <aisheng.dong@nxp.com>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: linux-imx@nxp.com
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      4f8bbd2f
  7. 18 12月, 2018 1 次提交
    • S
      PCI: dwc: Don't hard-code DBI/ATU offset · 6d6b05e3
      Stephen Warren 提交于
      The DWC PCIe core contains various separate register spaces: DBI, DBI2,
      ATU, DMA, etc. The relationship between the addresses of these register
      spaces is entirely determined by the implementation of the IP block, not
      by the IP block design itself. Hence, the DWC driver must not make
      assumptions that one register space can be accessed at a fixed offset from
      any other register space. To avoid such assumptions, introduce an
      explicit/separate register pointer for the ATU register space. In
      particular, the current assumption is not valid for NVIDIA's T194 SoC.
      
      The ATU register space is only used on systems that require unrolled ATU
      access. This property is detected at run-time for host controllers, and
      when this is detected, this patch provides a default value for atu_base
      that matches the previous assumption re: register layout. An alternative
      would be to update all drivers for HW that requires unrolled access to
      explicitly set atu_base. However, it's hard to tell which drivers would
      require atu_base to be set. The unrolled property is not detected for
      endpoint systems, and so any endpoint driver that requires unrolled access
      must explicitly set the iatu_unroll_enabled flag (none do at present), and
      so a check is added to require the driver to also set atu_base while at
      it.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NGustavo Pimentel <gustavo.pimentel@synopsys.com>
      Acked-by: NVidya Sagar <vidyas@nvidia.com>
      6d6b05e3
  8. 21 9月, 2018 1 次提交
  9. 08 6月, 2018 1 次提交
  10. 15 5月, 2018 1 次提交
  11. 29 1月, 2018 1 次提交
  12. 21 12月, 2017 1 次提交
    • N
      PCI: dwc: Make cpu_addr_fixup take struct dw_pcie as argument · b6900aeb
      Niklas Cassel 提交于
      The current cpu addr fixup mask for ARTPEC-6, GENMASK(27, 0), is wrong.
      The correct cpu addr fixup mask for ARTPEC-6 is GENMASK(28, 0).
      
      However, having a hardcoded cpu addr fixup mask in each driver is
      arguably wrong.
      A device tree property called something like "cpu-addr-fixup-mask"
      would have been a better solution.
      Introducing such a property is not needed though, since we already have
      pp->cfg0_base and ep->phys_base, which is derived from already existing
      device tree properties.
      
      It is also worth noting that for ARTPEC-7, hardcoding the cpu addr fixup
      mask is not possible, since it uses a High Address Bits Look Up Table,
      which means that it can, at runtime, map the PCIe window to an arbitrary
      address in the 32-bit address space.
      
      By using pp->cfg0_base and ep->phys_base, we avoid hardcoding a mask
      in each driver. This should work for ARTPEC-6, DRA7xx, and ARTPEC-7.
      I have not changed the code in DRA7xx though, since their existing
      code works, but if they want, they could use the same logic as
      artpec6_pcie_cpu_addr_fixup, and thus remove their hardcoded mask.
      
      The reason why the fixup mask is needed is explained in commit f4c55c5a
      ("PCI: designware: Program ATU with untranslated address").
      Signed-off-by: NNiklas Cassel <niklas.cassel@axis.com>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NKishon Vijay Abraham I <kishon@ti.com>
      b6900aeb
  13. 02 9月, 2017 1 次提交
  14. 03 8月, 2017 2 次提交
  15. 28 4月, 2017 1 次提交
  16. 04 4月, 2017 4 次提交
  17. 22 2月, 2017 8 次提交
  18. 10 1月, 2017 1 次提交
    • M
      PCI: designware: Check for iATU unroll only on platforms that use ATU · a782b5f9
      Murali Karicheri 提交于
      Previously we checked for iATU unroll support by reading PCIE_ATU_VIEWPORT
      even on platforms, e.g., Keystone, that do not have ATU ports.  This can
      cause bad behavior such as asynchronous external aborts:
      
        OF: PCI:   MEM 0x60000000..0x6fffffff -> 0x60000000
        Unhandled fault: asynchronous external abort (0x1211) at 0x00000000
        pgd = c0003000
        [00000000] *pgd=80000800004003, *pmd=00000000
        Internal error: : 1211 [#1] PREEMPT SMP ARM
        Modules linked in:
        CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.0-00009-g6ff59d2-dirty #7
        Hardware name: Keystone
        task: eb878000 task.stack: eb866000
        PC is at dw_pcie_setup_rc+0x24/0x380
        LR is at ks_pcie_host_init+0x10/0x170
      
      Move the dw_pcie_iatu_unroll_enabled() check so we only call it on
      platforms that do not use the ATU.  These platforms supply their own
      ->rd_other_conf() and ->wr_other_conf() methods.
      
      [bhelgaas: changelog]
      Fixes: a0601a47 ("PCI: designware: Add iATU Unroll feature")
      Fixes: 416379f9 ("PCI: designware: Check for iATU unroll support after initializing host")
      Tested-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-By: NJoao Pinto <jpinto@synopsys.com>
      CC: stable@vger.kernel.org	# v4.9+
      a782b5f9
  19. 05 11月, 2016 1 次提交
  20. 11 10月, 2016 5 次提交