linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND v5 00/18] PCI: dwc: Various fixes and cleanups
@ 2022-06-24 14:34 Serge Semin
  2022-06-24 14:34 ` [PATCH RESEND v5 01/18] PCI: dwc: Stop link in the host init error and de-initialization Serge Semin
                   ` (19 more replies)
  0 siblings, 20 replies; 37+ messages in thread
From: Serge Semin @ 2022-06-24 14:34 UTC (permalink / raw)
  To: Rob Herring, Bjorn Helgaas, Lorenzo Pieralisi
  Cc: Serge Semin, Serge Semin, Alexey Malahov, Pavel Parkhomenko,
	Jingoo Han, Gustavo Pimentel, Krzysztof Wilczyński,
	Frank Li, Manivannan Sadhasivam, linux-pci, linux-kernel

This patchset is a first one in the series created in the framework of
my Baikal-T1 PCIe/eDMA-related work:

[1: In-progress v5] PCI: dwc: Various fixes and cleanups
Link: ---you are looking at it---
[2: In-progress v3] PCI: dwc: Add hw version and dma-ranges support
Link: https://lore.kernel.org/linux-pci/20220610084444.14549-1-Sergey.Semin@baikalelectronics.ru/
[3: In-progress v3] PCI: dwc: Add generic resources and Baikal-T1 support
Link: https://lore.kernel.org/linux-pci/20220610085706.15741-1-Sergey.Semin@baikalelectronics.ru/
[4: In-progress v3] dmaengine: dw-edma: Add RP/EP local DMA support
Link: https://lore.kernel.org/linux-pci/20220610091459.17612-1-Sergey.Semin@baikalelectronics.ru/

Note it is very recommended to merge the patchsets in the same order as
they are placed in the list above in order to prevent possible merge
conflicts. Nothing prevents them from being reviewed synchronously though.
Any tests are very welcome!

As it can be easily inferred from the patchset title, this series is about
the DW PCIe Root Port/Endpoint driver fixes and the code cleanups, where
fixes come before the cleanup patches. The patchset starts with adding the
stop_link() platform-specific method invocation in case of the PCIe host
probe procedure errors. It has been missing in the cleanup-on-error path
of the DW PCIe Host initialization method. After that the unrolled CSRs
layout is added to the iATU disable procedure. In third the disable iATU
procedure is fixed to be called only for the internal ATU as being
specific for the internal ATU implementation. Then the outbound iATU
extended region setup procedure is fixed to have the INCREASE_REGION_SIZE
flag set based on the limit-address - not the region size one. The last
but not least the CDM-check enabling procedure is fixed to be independent
from the non-related num_lanes field state.

Afterwards there is a series of cleanups. It concerns the changes like
adding braces to the multi-line if-else constructions, trailing new-lines
to the print format-string, dropping unnecessary version checking, and
various code simplifications and optimizations.

New features like adding two-level DT bindings abstraction, adding better
structured IP-core version interface, adding iATU regions size detection
and the PCIe regions verification procedure, adding dma-ranges support,
introducing a set of generic platform clocks and resets and finally adding
Baikal-T1 PCIe interface support will be submitted in the next part of the
series.

Link: https://lore.kernel.org/linux-pci/20220324012524.16784-1-Sergey.Semin@baikalelectronics.ru/
Changelog v2:
- Fix the end address of the example in the patch log with
  the INCREASE_REGION_SIZE flag usage fixup. It should be
  0x1000FFFF and not 0x0000FFFF (@Manivannan).
- Add the cleanup-on-error path to the dw_pcie_ep_init() function.
  (@Manivannan)

Link: https://lore.kernel.org/linux-pci/20220503212300.30105-1-Sergey.Semin@baikalelectronics.ru/
Changelog v3:
- Convert region variable type to u32 in order to fix the implicit type
  conversion peculiarity. (@kbot)
- Rebase onto v5.18-rc6.

Link: https://lore.kernel.org/linux-pci/20220517125058.18488-1-Sergey.Semin@baikalelectronics.ru/
Changelog v4:
- Move the patch "PCI: dwc: Deallocate EPC memory on EP init error" to
  being applied before the cleanup patches.
- Add a new fixes patch: "PCI: dwc: Enable CDM-check independently from
  the num_lanes value".
- Add a new cleanup patch: "PCI: dwc: Organize local variables usage".
- Add a new cleanup patch: "PCI: dwc: Re-use local pointer to the
  resource data".
- Add a new cleanup patch: "PCI: dwc: Add start_link/stop_link inliners".
- Add a new cleanup patch: "PCI: dwc: Move io_cfg_atu_shared to the Root
  Port descriptor".
- Add a new cleanup patch: "PCI: dwc: Add dw_ prefix to the pcie_port
  structure name".
- Drop the patch "PCI: dwc: Don't use generic IO-ops for DBI-space
  access". (@Rob)
- Drop Manivannan tested tag from the changed patches.
- Rebase onto v5.18.

Link: https://lore.kernel.org/linux-pci/20220610082535.12802-1-Sergey.Semin@baikalelectronics.ru/
Changelog v5:
- Just resend the series.
- Rebase onto v5.19-rcX.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Rob Herring <robh@kernel.org>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Cc: Jingoo Han <jingoohan1@gmail.com>
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
Cc: "Krzysztof Wilczyński" <kw@linux.com>
Cc: Frank Li <Frank.Li@nxp.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: linux-pci@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (18):
  PCI: dwc: Stop link in the host init error and de-initialization
  PCI: dwc: Add unroll iATU space support to the regions disable method
  PCI: dwc: Disable outbound windows for controllers with iATU
  PCI: dwc: Set INCREASE_REGION_SIZE flag based on limit address
  PCI: dwc: Deallocate EPC memory on EP init error
  PCI: dwc: Enable CDM-check independently from the num_lanes value
  PCI: dwc: Add braces to the multi-line if-else statements
  PCI: dwc: Add trailing new-line literals to the log messages
  PCI: dwc: Discard IP-core version checking on unrolled iATU detection
  PCI: dwc: Convert Link-up status method to using dw_pcie_readl_dbi()
  PCI: dwc: Organize local variables usage
  PCI: dwc: Re-use local pointer to the resource data
  PCI: dwc: Add start_link/stop_link inliners
  PCI: dwc: Move io_cfg_atu_shared to the Root Port descriptor
  PCI: dwc: Add dw_ prefix to the pcie_port structure name
  PCI: dwc-plat: Simplify the probe method return value handling
  PCI: dwc-plat: Discard unused regmap pointer
  PCI: dwc-plat: Drop dw_plat_pcie_of_match forward declaration

 drivers/pci/controller/dwc/pci-dra7xx.c       |  12 +--
 drivers/pci/controller/dwc/pci-exynos.c       |   6 +-
 drivers/pci/controller/dwc/pci-imx6.c         |   6 +-
 drivers/pci/controller/dwc/pci-keystone.c     |  20 ++--
 .../pci/controller/dwc/pci-layerscape-ep.c    |  12 ---
 drivers/pci/controller/dwc/pci-layerscape.c   |   2 +-
 drivers/pci/controller/dwc/pci-meson.c        |   2 +-
 drivers/pci/controller/dwc/pcie-al.c          |   6 +-
 drivers/pci/controller/dwc/pcie-armada8k.c    |   4 +-
 drivers/pci/controller/dwc/pcie-artpec6.c     |   4 +-
 .../pci/controller/dwc/pcie-designware-ep.c   |  30 ++++--
 .../pci/controller/dwc/pcie-designware-host.c | 102 ++++++++++--------
 .../pci/controller/dwc/pcie-designware-plat.c |  25 ++---
 drivers/pci/controller/dwc/pcie-designware.c  |  72 +++++++------
 drivers/pci/controller/dwc/pcie-designware.h  |  46 +++++---
 drivers/pci/controller/dwc/pcie-dw-rockchip.c |   4 +-
 drivers/pci/controller/dwc/pcie-fu740.c       |   2 +-
 drivers/pci/controller/dwc/pcie-histb.c       |  10 +-
 drivers/pci/controller/dwc/pcie-intel-gw.c    |   6 +-
 drivers/pci/controller/dwc/pcie-keembay.c     |   4 +-
 drivers/pci/controller/dwc/pcie-kirin.c       |   2 +-
 drivers/pci/controller/dwc/pcie-qcom.c        |   4 +-
 drivers/pci/controller/dwc/pcie-spear13xx.c   |   6 +-
 drivers/pci/controller/dwc/pcie-tegra194.c    |  22 ++--
 drivers/pci/controller/dwc/pcie-uniphier.c    |  10 +-
 drivers/pci/controller/dwc/pcie-visconti.c    |   6 +-
 26 files changed, 224 insertions(+), 201 deletions(-)

-- 
2.35.1


^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2022-07-11 18:40 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-24 14:34 [PATCH RESEND v5 00/18] PCI: dwc: Various fixes and cleanups Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 01/18] PCI: dwc: Stop link in the host init error and de-initialization Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 02/18] PCI: dwc: Add unroll iATU space support to the regions disable method Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 03/18] PCI: dwc: Disable outbound windows for controllers with iATU Serge Semin
2022-06-27 22:40   ` Bjorn Helgaas
2022-06-28 11:42     ` Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 04/18] PCI: dwc: Set INCREASE_REGION_SIZE flag based on limit address Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 05/18] PCI: dwc: Deallocate EPC memory on EP init error Serge Semin
2022-06-28  6:35   ` Manivannan Sadhasivam
2022-06-24 14:34 ` [PATCH RESEND v5 06/18] PCI: dwc: Enable CDM-check independently from the num_lanes value Serge Semin
2022-06-28  6:37   ` Manivannan Sadhasivam
2022-06-24 14:34 ` [PATCH RESEND v5 07/18] PCI: dwc: Add braces to the multi-line if-else statements Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 08/18] PCI: dwc: Add trailing new-line literals to the log messages Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 09/18] PCI: dwc: Discard IP-core version checking on unrolled iATU detection Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 10/18] PCI: dwc: Convert Link-up status method to using dw_pcie_readl_dbi() Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 11/18] PCI: dwc: Organize local variables usage Serge Semin
2022-06-28  6:38   ` Manivannan Sadhasivam
2022-06-28 23:33   ` Bjorn Helgaas
2022-06-29  2:03     ` Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 12/18] PCI: dwc: Re-use local pointer to the resource data Serge Semin
2022-06-28  6:39   ` Manivannan Sadhasivam
2022-06-24 14:34 ` [PATCH RESEND v5 13/18] PCI: dwc: Add start_link/stop_link inliners Serge Semin
2022-06-28  6:43   ` Manivannan Sadhasivam
2022-06-24 14:34 ` [PATCH RESEND v5 14/18] PCI: dwc: Move io_cfg_atu_shared to the Root Port descriptor Serge Semin
2022-06-28  6:44   ` Manivannan Sadhasivam
2022-06-24 14:34 ` [PATCH RESEND v5 15/18] PCI: dwc: Add dw_ prefix to the pcie_port structure name Serge Semin
2022-06-27 11:47   ` Jesper Nilsson
2022-06-27 12:16   ` Neil Armstrong
2022-06-28  6:46   ` Manivannan Sadhasivam
2022-06-24 14:34 ` [PATCH RESEND v5 16/18] PCI: dwc-plat: Simplify the probe method return value handling Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 17/18] PCI: dwc-plat: Discard unused regmap pointer Serge Semin
2022-06-24 14:34 ` [PATCH RESEND v5 18/18] PCI: dwc-plat: Drop dw_plat_pcie_of_match forward declaration Serge Semin
2022-06-28  6:58 ` [PATCH RESEND v5 00/18] PCI: dwc: Various fixes and cleanups Manivannan Sadhasivam
2022-06-28 11:57   ` Serge Semin
2022-06-28 23:35 ` Bjorn Helgaas
2022-06-29  1:38   ` Serge Semin
2022-07-11 18:40     ` Serge Semin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).