1. 07 5月, 2019 1 次提交
  2. 28 2月, 2019 1 次提交
    • B
      PCI: qcom: Don't deassert reset GPIO during probe · 02b485e3
      Bjorn Andersson 提交于
      Acquiring the reset GPIO low means that reset is being deasserted, this
      is followed almost immediately with qcom_pcie_host_init() asserting it,
      initializing it and then finally deasserting it again, for the link to
      come up.
      
      Some PCIe devices requires a minimum time between the initial deassert
      and subsequent reset cycles. In a platform that boots with the reset
      GPIO asserted this requirement is being violated by this deassert/assert
      pulse.
      
      Acquire the reset GPIO high to prevent this situation by matching the
      state to the subsequent asserted state.
      
      Fixes: 82a82383 ("PCI: qcom: Add Qualcomm PCIe controller driver")
      Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      [lorenzo.pieralisi@arm.com: updated commit log]
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NStanimir Varbanov <svarbanov@mm-sol.com>
      Cc: stable@vger.kernel.org
      02b485e3
  3. 18 9月, 2018 1 次提交
  4. 13 7月, 2018 1 次提交
  5. 08 6月, 2018 1 次提交
  6. 05 6月, 2018 1 次提交
  7. 23 5月, 2018 1 次提交
  8. 16 5月, 2018 1 次提交
  9. 08 3月, 2018 2 次提交
  10. 06 3月, 2018 1 次提交
  11. 29 1月, 2018 1 次提交
  12. 04 1月, 2018 1 次提交
  13. 25 8月, 2017 4 次提交
  14. 04 8月, 2017 3 次提交
  15. 03 7月, 2017 6 次提交
  16. 25 4月, 2017 1 次提交
  17. 25 2月, 2017 1 次提交
    • G
      PCI: dwc: Fix crashes seen due to missing assignments · c0464062
      Guenter Roeck 提交于
      Fix the following crash, seen in dwc/pci-imx6.
      
        Unable to handle kernel NULL pointer dereference at virtual address 00000070
        pgd = c0004000
        [00000070] *pgd=00000000
        Internal error: Oops: 805 [#1] SMP ARM
        Modules linked in:
        CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.10.0-09686-g9e314890 #1
        Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
        task: cb850000 task.stack: cb84e000
        PC is at imx6_pcie_probe+0x2f4/0x414
        ...
      
      While at it, fix the same problem in various drivers instead of waiting for
      individual crash reports.
      
      The change in the imx6 driver was tested with qemu. The changes in other
      drivers are based on code inspection and have been compile tested only.
      
      Fixes: 442ec4c0 ("PCI: dwc: all: Split struct pcie_port into host-only and core structures")
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>  # designware-plat
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NKishon Vijay Abraham I <kishon@ti.com>
      c0464062
  18. 22 2月, 2017 5 次提交
    • K
      PCI: dwc: all: Split struct pcie_port into host-only and core structures · 442ec4c0
      Kishon Vijay Abraham I 提交于
      Keep only the host-specific members in struct pcie_port and move the common
      members (i.e common to both host and endpoint) to struct dw_pcie.  This is
      in preparation for adding endpoint mode support to designware driver.
      
      While at that also fix checkpatch warnings.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Jingoo Han <jingoohan1@gmail.com>
      CC: Richard Zhu <hongxing.zhu@nxp.com>
      CC: Lucas Stach <l.stach@pengutronix.de>
      CC: Murali Karicheri <m-karicheri2@ti.com>
      CC: Minghuan Lian <minghuan.Lian@freescale.com>
      CC: Mingkai Hu <mingkai.hu@freescale.com>
      CC: Roy Zang <tie-fei.zang@freescale.com>
      CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      CC: Niklas Cassel <niklas.cassel@axis.com>
      CC: Jesper Nilsson <jesper.nilsson@axis.com>
      CC: Joao Pinto <Joao.Pinto@synopsys.com>
      CC: Zhou Wang <wangzhou1@hisilicon.com>
      CC: Gabriele Paoloni <gabriele.paoloni@huawei.com>
      CC: Stanimir Varbanov <svarbanov@mm-sol.com>
      CC: Pratyush Anand <pratyush.anand@gmail.com>
      442ec4c0
    • K
      PCI: dwc: all: Rename cfg_read/cfg_write to read/write · 19ce01cc
      Kishon Vijay Abraham I 提交于
      No functional change. dw_pcie_cfg_read()/dw_pcie_cfg_write() doesn't do
      anything specific to access configuration space. It can be just renamed to
      dw_pcie_read()/dw_pcie_write() and used to read/write data to dbi space.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-By: NJoao Pinto <jpinto@synopsys.com>
      CC: Jingoo Han <jingoohan1@gmail.com>
      CC: Murali Karicheri <m-karicheri2@ti.com>
      CC: Stanimir Varbanov <svarbanov@mm-sol.com>
      CC: Pratyush Anand <pratyush.anand@gmail.com>
      19ce01cc
    • K
      PCI: dwc: all: Use platform_set_drvdata() to save private data · 9bcf0a6f
      Kishon Vijay Abraham I 提交于
      Add platform_set_drvdata() in all designware-based drivers to store the
      private data structure of the driver so that dev_set_drvdata() can be used
      to get back private data structure in add_pcie_port/host_init.  This is in
      preparation for splitting struct pcie_port into core and host only
      structures. After the split pcie_port will not be part of the driver's
      private data structure and *container_of* used now to get the private data
      pointer cannot be used.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Jingoo Han <jingoohan1@gmail.com>
      CC: Richard Zhu <hongxing.zhu@nxp.com>
      CC: Lucas Stach <l.stach@pengutronix.de>
      CC: Murali Karicheri <m-karicheri2@ti.com>
      CC: Minghuan Lian <minghuan.Lian@freescale.com>
      CC: Mingkai Hu <mingkai.hu@freescale.com>
      CC: Roy Zang <tie-fei.zang@freescale.com>
      CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      CC: Niklas Cassel <niklas.cassel@axis.com>
      CC: Jesper Nilsson <jesper.nilsson@axis.com>
      CC: Joao Pinto <Joao.Pinto@synopsys.com>
      CC: Zhou Wang <wangzhou1@hisilicon.com>
      CC: Gabriele Paoloni <gabriele.paoloni@huawei.com>
      CC: Stanimir Varbanov <svarbanov@mm-sol.com>
      CC: Pratyush Anand <pratyush.anand@gmail.com>
      9bcf0a6f
    • F
      PCI: dwc: Use PTR_ERR_OR_ZERO to simplify code · 11a61a86
      Fengguang Wu 提交于
      Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR to avoid the
      following warnings found by scripts/coccinelle/api/ptr_ret.cocci:
      
        drivers/pci/dwc/pcie-qcom.c:215:1-3: WARNING: PTR_ERR_OR_ZERO can be used
        drivers/pci/dwc/pcie-qcom.c:247:1-3: WARNING: PTR_ERR_OR_ZERO can be used
        drivers/pci/dwc/pcie-qcom.c:481:1-3: WARNING: PTR_ERR_OR_ZERO can be used
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Kishon Vijay Abraham I <kishon@ti.com>
      11a61a86
    • K
      PCI: Move DesignWare IP support to new drivers/pci/dwc/ directory · 950bf638
      Kishon Vijay Abraham I 提交于
      Group all the PCI drivers that use DesignWare core in dwc directory.
      dwc IP is capable of operating in both host mode and device mode and
      keeping it inside the *host* directory is misleading.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NJingoo Han <jingoohan1@gmail.com>
      Acked-By: NJoao Pinto <jpinto@synopsys.com>
      Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Minghuan Lian <minghuan.Lian@freescale.com>
      Cc: Mingkai Hu <mingkai.hu@freescale.com>
      Cc: Roy Zang <tie-fei.zang@freescale.com>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Murali Karicheri <m-karicheri2@ti.com>
      Cc: Pratyush Anand <pratyush.anand@gmail.com>
      Cc: Niklas Cassel <niklas.cassel@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Zhou Wang <wangzhou1@hisilicon.com>
      Cc: Gabriele Paoloni <gabriele.paoloni@huawei.com>
      Cc: Stanimir Varbanov <svarbanov@mm-sol.com>
      950bf638
  19. 24 11月, 2016 1 次提交
  20. 27 10月, 2016 1 次提交
  21. 12 10月, 2016 4 次提交
  22. 25 8月, 2016 1 次提交
    • P
      PCI: qcom: Make explicitly non-modular · f9a66600
      Paul Gortmaker 提交于
      This code is not being built as a module by anyone:
      
        drivers/pci/host/Kconfig:config PCIE_QCOM
        drivers/pci/host/Kconfig:  bool "Qualcomm PCIe controller"
      
      Remove uses of MODULE_DESCRIPTION(), MODULE_AUTHOR(), MODULE_LICENSE(),
      etc., so that when reading the driver there is no doubt it is builtin-only.
      The information is preserved in comments at the top of the file.
      
      Note that for non-modular code, MODULE_DEVICE_TABLE is a no-op and
      builtin_platform_driver() uses the same init level priority as
      module_platform_driver(), so this doesn't change init ordering.
      
      Explicitly disallow driver unbind, since that doesn't have a sensible use
      case anyway, and it allows us to drop the ".remove" code for non-modular
      drivers.
      
      [bhelgaas: changelog]
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Stanimir Varbanov <svarbanov@mm-sol.com>
      f9a66600