This patchset is a second 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: https://lore.kernel.org/linux-pci/[email protected]/
[2: In-progress v4] PCI: dwc: Add hw version and dma-ranges support
Link: ---you are looking at it---
[3: In-progress v3] PCI: dwc: Add extended YAML-schema and Baikal-T1 support
Link: https://lore.kernel.org/linux-pci/[email protected]/
[4: In-progress v3] dmaengine: dw-edma: Add RP/EP local DMA support
Link: https://lore.kernel.org/linux-pci/[email protected]
Note it is very recommended to merge the patchsets in the same order as
they are listed in the set above in order to have them applied smoothly.
Nothing prevents them from being reviewed synchronously though.
Originally the patches submitted in this patchset were a part of the series:
Link: https://lore.kernel.org/linux-pci/[email protected]/
but due to the reviewers requests the series was expanded to about 30
patches which made it too bulky for a comfortable review. So I decided to
split it up into two patchsets: 2. and 3. in the table above.
Regarding the series content. This patchset is about adding new features
to the DW PCIe core, Root Port and Endpoint drivers. First we suggest to
add a more verbose link-up log message. Really printing link generation
and width would be much more informative than just "link up". Then a
series of IP-core version-related patches go, like using a native FourCC
version representation, adding the IP-core auto-detection, adding a better
structured IP-core version/type interface and finally dropping manual
IP-core version setups from the platforms which are supposed to have it
auto-detected. After that the platform-specific host de-initialization
method is introduced. It's unused in the framework of this patchset but
will be utilized in the next one (see the table above). A series of iATU
optimizations, cleanups and new features goes afterwards. In particular we
suggest to drop some redundant enumerations, add iATU regions size
detection procedure and then use the regions parameters to verify the
requested by the platform iATU ranges/dma-ranges settings. After that the
dma-ranges property support is added for the DW PCIe Host controllers.
Link: https://lore.kernel.org/linux-pci/[email protected]/
Changelog v2:
- Test the error condition first and return straight away if it comes true
in the link up waiting and link state logging method (@Joe).
- Move the dw_pcie_region_type enumeration removal patch to being applied
before the IB/OB iATU windows setup simplification patch (@Rob).
- Move the iATU region selection procedure into a helper function (@Rob).
- Rebase from kernel v5.17 onto v5.18-rc3 since the later kernel has
already DT bindings converted. (@Rob)
- Simplify the iATU region selection procedure by recalculating the base
address only if the space is unrolled. The iATU viewport base address
will be saved in the pci->atu_base field.
- Move the IP-core version detection procedure call from
dw_pcie_ep_init_complete() to dw_pcie_ep_init().
- Add a new patch: "PCI: dwc: Detect iATU settings after getting
"addr_space" resource."
Link: https://lore.kernel.org/linux-pci/[email protected]
Changelog v3:
- Fix pcie-tegra194-acpi.c driver to using the new macros names.
(@Manivannan)
- Drop in/outbound iATU window size alignment constraint. (@Manivannan)
- Detach this series of patches into a dedicated patchset.
- Rebase onto kernel v5.18.
Link: https://lore.kernel.org/linux-pci/[email protected]/
Changelog v4:
- Just resend.
- Rebase onto the kernel v5.19-rcX.
Signed-off-by: Serge Semin <[email protected]>
Cc: Alexey Malahov <[email protected]>
Cc: Pavel Parkhomenko <[email protected]>
Cc: "Krzysztof Wilczyński" <[email protected]>
Cc: Frank Li <[email protected]>
Cc: Manivannan Sadhasivam <[email protected]>
Cc: Rob Herring <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Serge Semin (15):
PCI: dwc: Add more verbose link-up message
PCI: dwc: Detect iATU settings after getting "addr_space" resource
PCI: dwc: Convert to using native IP-core versions representation
PCI: dwc: Add IP-core version detection procedure
PCI: dwc: Introduce Synopsys IP-core versions/types interface
PCI: intel-gw: Drop manual DW PCIe controller version setup
PCI: tegra194: Drop manual DW PCIe controller version setup
PCI: dwc: Add host de-initialization callback
PCI: dwc: Drop inbound iATU types enumeration - dw_pcie_as_type
PCI: dwc: Drop iATU regions enumeration - dw_pcie_region_type
PCI: dwc: Simplify in/outbound iATU setup methods
PCI: dwc: Add iATU regions size detection procedure
PCI: dwc: Verify in/out regions against iATU constraints
PCI: dwc: Check iATU in/outbound ranges setup methods status
PCI: dwc: Introduce dma-ranges property support for RC-host
drivers/pci/controller/dwc/pci-keystone.c | 12 +-
.../pci/controller/dwc/pcie-designware-ep.c | 40 +-
.../pci/controller/dwc/pcie-designware-host.c | 202 +++++---
drivers/pci/controller/dwc/pcie-designware.c | 461 ++++++++----------
drivers/pci/controller/dwc/pcie-designware.h | 123 ++---
drivers/pci/controller/dwc/pcie-intel-gw.c | 22 +-
.../pci/controller/dwc/pcie-tegra194-acpi.c | 7 +-
drivers/pci/controller/dwc/pcie-tegra194.c | 1 -
8 files changed, 461 insertions(+), 407 deletions(-)
--
2.35.1
Hi Bjorn.
If you are back from vacation yet, could you please consider this patchset
merging in into your repo in the branch 'pci/edma' with Fank Li eDMA
updates?
Link: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/edma
Note this must be done before the series:
Link: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci%2Fctrl%2Fdwc-fixes
content is moved there.
-Sergey
On Fri, Jun 24, 2022 at 05:39:32PM +0300, Serge Semin wrote:
> This patchset is a second 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: https://lore.kernel.org/linux-pci/[email protected]/
> [2: In-progress v4] PCI: dwc: Add hw version and dma-ranges support
> Link: ---you are looking at it---
> [3: In-progress v3] PCI: dwc: Add extended YAML-schema and Baikal-T1 support
> Link: https://lore.kernel.org/linux-pci/[email protected]/
> [4: In-progress v3] dmaengine: dw-edma: Add RP/EP local DMA support
> Link: https://lore.kernel.org/linux-pci/[email protected]
>
> Note it is very recommended to merge the patchsets in the same order as
> they are listed in the set above in order to have them applied smoothly.
> Nothing prevents them from being reviewed synchronously though.
>
> Originally the patches submitted in this patchset were a part of the series:
> Link: https://lore.kernel.org/linux-pci/[email protected]/
> but due to the reviewers requests the series was expanded to about 30
> patches which made it too bulky for a comfortable review. So I decided to
> split it up into two patchsets: 2. and 3. in the table above.
>
> Regarding the series content. This patchset is about adding new features
> to the DW PCIe core, Root Port and Endpoint drivers. First we suggest to
> add a more verbose link-up log message. Really printing link generation
> and width would be much more informative than just "link up". Then a
> series of IP-core version-related patches go, like using a native FourCC
> version representation, adding the IP-core auto-detection, adding a better
> structured IP-core version/type interface and finally dropping manual
> IP-core version setups from the platforms which are supposed to have it
> auto-detected. After that the platform-specific host de-initialization
> method is introduced. It's unused in the framework of this patchset but
> will be utilized in the next one (see the table above). A series of iATU
> optimizations, cleanups and new features goes afterwards. In particular we
> suggest to drop some redundant enumerations, add iATU regions size
> detection procedure and then use the regions parameters to verify the
> requested by the platform iATU ranges/dma-ranges settings. After that the
> dma-ranges property support is added for the DW PCIe Host controllers.
>
> Link: https://lore.kernel.org/linux-pci/[email protected]/
> Changelog v2:
> - Test the error condition first and return straight away if it comes true
> in the link up waiting and link state logging method (@Joe).
> - Move the dw_pcie_region_type enumeration removal patch to being applied
> before the IB/OB iATU windows setup simplification patch (@Rob).
> - Move the iATU region selection procedure into a helper function (@Rob).
> - Rebase from kernel v5.17 onto v5.18-rc3 since the later kernel has
> already DT bindings converted. (@Rob)
> - Simplify the iATU region selection procedure by recalculating the base
> address only if the space is unrolled. The iATU viewport base address
> will be saved in the pci->atu_base field.
> - Move the IP-core version detection procedure call from
> dw_pcie_ep_init_complete() to dw_pcie_ep_init().
> - Add a new patch: "PCI: dwc: Detect iATU settings after getting
> "addr_space" resource."
>
> Link: https://lore.kernel.org/linux-pci/[email protected]
> Changelog v3:
> - Fix pcie-tegra194-acpi.c driver to using the new macros names.
> (@Manivannan)
> - Drop in/outbound iATU window size alignment constraint. (@Manivannan)
> - Detach this series of patches into a dedicated patchset.
> - Rebase onto kernel v5.18.
>
> Link: https://lore.kernel.org/linux-pci/[email protected]/
> Changelog v4:
> - Just resend.
> - Rebase onto the kernel v5.19-rcX.
>
> Signed-off-by: Serge Semin <[email protected]>
> Cc: Alexey Malahov <[email protected]>
> Cc: Pavel Parkhomenko <[email protected]>
> Cc: "Krzysztof Wilczyński" <[email protected]>
> Cc: Frank Li <[email protected]>
> Cc: Manivannan Sadhasivam <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
>
> Serge Semin (15):
> PCI: dwc: Add more verbose link-up message
> PCI: dwc: Detect iATU settings after getting "addr_space" resource
> PCI: dwc: Convert to using native IP-core versions representation
> PCI: dwc: Add IP-core version detection procedure
> PCI: dwc: Introduce Synopsys IP-core versions/types interface
> PCI: intel-gw: Drop manual DW PCIe controller version setup
> PCI: tegra194: Drop manual DW PCIe controller version setup
> PCI: dwc: Add host de-initialization callback
> PCI: dwc: Drop inbound iATU types enumeration - dw_pcie_as_type
> PCI: dwc: Drop iATU regions enumeration - dw_pcie_region_type
> PCI: dwc: Simplify in/outbound iATU setup methods
> PCI: dwc: Add iATU regions size detection procedure
> PCI: dwc: Verify in/out regions against iATU constraints
> PCI: dwc: Check iATU in/outbound ranges setup methods status
> PCI: dwc: Introduce dma-ranges property support for RC-host
>
> drivers/pci/controller/dwc/pci-keystone.c | 12 +-
> .../pci/controller/dwc/pcie-designware-ep.c | 40 +-
> .../pci/controller/dwc/pcie-designware-host.c | 202 +++++---
> drivers/pci/controller/dwc/pcie-designware.c | 461 ++++++++----------
> drivers/pci/controller/dwc/pcie-designware.h | 123 ++---
> drivers/pci/controller/dwc/pcie-intel-gw.c | 22 +-
> .../pci/controller/dwc/pcie-tegra194-acpi.c | 7 +-
> drivers/pci/controller/dwc/pcie-tegra194.c | 1 -
> 8 files changed, 461 insertions(+), 407 deletions(-)
>
> --
> 2.35.1
>
On Fri, Jun 24, 2022 at 05:39:32PM +0300, Serge Semin wrote:
> This patchset is a second 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: https://lore.kernel.org/linux-pci/[email protected]/
> [2: In-progress v4] PCI: dwc: Add hw version and dma-ranges support
> Link: ---you are looking at it---
https://lore.kernel.org/r/[email protected]
> [3: In-progress v3] PCI: dwc: Add extended YAML-schema and Baikal-T1 support
> Link: https://lore.kernel.org/linux-pci/[email protected]/
> [4: In-progress v3] dmaengine: dw-edma: Add RP/EP local DMA support
> Link: https://lore.kernel.org/linux-pci/[email protected]
Hi Serge, is the above the latest and greatest list? The 3rd series
doesn't apply cleanly for me:
05:40:34 ~/linux (main)$ git checkout -b wip/serge v5.19-rc1
Switched to a new branch 'wip/serge'
# fetch 1: PCI: dwc: Various fixes and cleanups
05:40:45 ~/linux (wip/serge)$ b4 am -om/ https://lore.kernel.org/linux-pci/[email protected]/
Analyzing 37 messages in the thread
Checking attestation on all messages, may take a moment...
---
✓ [PATCH v5 1/18] PCI: dwc: Stop link in the host init error and de-initialization
✓ [PATCH v5 2/18] PCI: dwc: Add unroll iATU space support to the regions disable method
✓ [PATCH v5 3/18] PCI: dwc: Disable outbound windows for controllers with iATU
✓ [PATCH v5 4/18] PCI: dwc: Set INCREASE_REGION_SIZE flag based on limit address
✓ [PATCH v5 5/18] PCI: dwc: Deallocate EPC memory on EP init error
+ Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
✓ [PATCH v5 6/18] PCI: dwc: Enable CDM-check independently from the num_lanes value
+ Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
✓ [PATCH v5 7/18] PCI: dwc: Add braces to the multi-line if-else statements
✓ [PATCH v5 8/18] PCI: dwc: Add trailing new-line literals to the log messages
✓ [PATCH v5 9/18] PCI: dwc: Discard IP-core version checking on unrolled iATU detection
✓ [PATCH v5 10/18] PCI: dwc: Convert Link-up status method to using dw_pcie_readl_dbi()
✓ [PATCH v5 11/18] PCI: dwc: Organize local variables usage
+ Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
✓ [PATCH v5 12/18] PCI: dwc: Re-use local pointer to the resource data
+ Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
✓ [PATCH v5 13/18] PCI: dwc: Add start_link/stop_link inliners
+ Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
✓ [PATCH v5 14/18] PCI: dwc: Move io_cfg_atu_shared to the Root Port descriptor
+ Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
✓ [PATCH v5 15/18] PCI: dwc: Add dw_ prefix to the pcie_port structure name
+ Acked-by: Jesper Nilsson <[email protected]> (✓ DKIM/axis.com)
+ Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
+ Reviewed-by: Neil Armstrong <[email protected]> (✓ DKIM/baylibre-com.20210112.gappssmtp.com)
✓ [PATCH v5 16/18] PCI: dwc-plat: Simplify the probe method return value handling
✓ [PATCH v5 17/18] PCI: dwc-plat: Discard unused regmap pointer
✓ [PATCH v5 18/18] PCI: dwc-plat: Drop dw_plat_pcie_of_match forward declaration
---
✓ Signed: DKIM/baikalelectronics.ru
---
Total patches: 18
---
NOTE: some trailers ignored due to from/email mismatches:
! Trailer: Link: https://lore.kernel.org/linux-pci/20220616152048.gcqacgs2ed66vsl4@mobilestation/
Msg From: Serge Semin <[email protected]>
NOTE: Rerun with -S to apply them anyway
---
Cover: m/v5_20220624_sergey_semin_pci_dwc_various_fixes_and_cleanups.cover
Link: https://lore.kernel.org/r/[email protected]
Base: applies clean to current tree
git am m/v5_20220624_sergey_semin_pci_dwc_various_fixes_and_cleanups.mbx
# apply 1: PCI: dwc: Various fixes and cleanups
05:41:24 ~/linux (wip/serge)$ git am m/v5_20220624_sergey_semin_pci_dwc_various_fixes_and_cleanups.mbx
Applying: PCI: dwc: Stop link in the host init error and de-initialization
Applying: PCI: dwc: Add unroll iATU space support to the regions disable method
Applying: PCI: dwc: Disable outbound windows for controllers with iATU
Applying: PCI: dwc: Set INCREASE_REGION_SIZE flag based on limit address
Applying: PCI: dwc: Deallocate EPC memory on EP init error
Applying: PCI: dwc: Enable CDM-check independently from the num_lanes value
Applying: PCI: dwc: Add braces to the multi-line if-else statements
Applying: PCI: dwc: Add trailing new-line literals to the log messages
Applying: PCI: dwc: Discard IP-core version checking on unrolled iATU detection
Applying: PCI: dwc: Convert Link-up status method to using dw_pcie_readl_dbi()
Applying: PCI: dwc: Organize local variables usage
Applying: PCI: dwc: Re-use local pointer to the resource data
Applying: PCI: dwc: Add start_link/stop_link inliners
Applying: PCI: dwc: Move io_cfg_atu_shared to the Root Port descriptor
Applying: PCI: dwc: Add dw_ prefix to the pcie_port structure name
Applying: PCI: dwc-plat: Simplify the probe method return value handling
Applying: PCI: dwc-plat: Discard unused regmap pointer
Applying: PCI: dwc-plat: Drop dw_plat_pcie_of_match forward declaration
# fetch 2: PCI: dwc: Add hw version and dma-ranges support
05:41:46 ~/linux (wip/serge)$ b4 am -om/ https://lore.kernel.org/r/[email protected]
Looking up https://lore.kernel.org/r/20220624143947.8991-1-Sergey.Semin%40baikalelectronics.ru
Analyzing 19 messages in the thread
Checking attestation on all messages, may take a moment...
---
✓ [PATCH v4 1/15] PCI: dwc: Add more verbose link-up message
✓ [PATCH v4 2/15] PCI: dwc: Detect iATU settings after getting "addr_space" resource
✓ [PATCH v4 3/15] PCI: dwc: Convert to using native IP-core versions representation
✓ [PATCH v4 4/15] PCI: dwc: Add IP-core version detection procedure
✓ [PATCH v4 5/15] PCI: dwc: Introduce Synopsys IP-core versions/types interface
✓ [PATCH v4 6/15] PCI: intel-gw: Drop manual DW PCIe controller version setup
✓ [PATCH v4 7/15] PCI: tegra194: Drop manual DW PCIe controller version setup
✓ [PATCH v4 8/15] PCI: dwc: Add host de-initialization callback
✓ [PATCH v4 9/15] PCI: dwc: Drop inbound iATU types enumeration - dw_pcie_as_type
✓ [PATCH v4 10/15] PCI: dwc: Drop iATU regions enumeration - dw_pcie_region_type
✓ [PATCH v4 11/15] PCI: dwc: Simplify in/outbound iATU setup methods
✓ [PATCH v4 12/15] PCI: dwc: Add iATU regions size detection procedure
✓ [PATCH v4 13/15] PCI: dwc: Verify in/out regions against iATU constraints
✓ [PATCH v4 14/15] PCI: dwc: Check iATU in/outbound ranges setup methods status
✓ [PATCH v4 15/15] PCI: dwc: Introduce dma-ranges property support for RC-host
---
✓ Signed: DKIM/baikalelectronics.ru
---
Total patches: 15
---
NOTE: some trailers ignored due to from/email mismatches:
! Trailer: Link: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci%2Fctrl%2Fdwc-fixes
Msg From: Serge Semin <[email protected]>
! Trailer: Link: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/edma
Msg From: Serge Semin <[email protected]>
NOTE: Rerun with -S to apply them anyway
---
Cover: m/v4_20220624_sergey_semin_pci_dwc_add_hw_version_and_dma_ranges_support.cover
Link: https://lore.kernel.org/r/[email protected]
Base: applies clean to current tree
git am m/v4_20220624_sergey_semin_pci_dwc_add_hw_version_and_dma_ranges_support.mbx
# apply 2: PCI: dwc: Add hw version and dma-ranges support
05:42:05 ~/linux (wip/serge)$ git am m/v4_20220624_sergey_semin_pci_dwc_add_hw_version_and_dma_ranges_support.mbx
Applying: PCI: dwc: Add more verbose link-up message
Applying: PCI: dwc: Detect iATU settings after getting "addr_space" resource
Applying: PCI: dwc: Convert to using native IP-core versions representation
Applying: PCI: dwc: Add IP-core version detection procedure
Applying: PCI: dwc: Introduce Synopsys IP-core versions/types interface
Applying: PCI: intel-gw: Drop manual DW PCIe controller version setup
Applying: PCI: tegra194: Drop manual DW PCIe controller version setup
Applying: PCI: dwc: Add host de-initialization callback
Applying: PCI: dwc: Drop inbound iATU types enumeration - dw_pcie_as_type
Applying: PCI: dwc: Drop iATU regions enumeration - dw_pcie_region_type
Applying: PCI: dwc: Simplify in/outbound iATU setup methods
Applying: PCI: dwc: Add iATU regions size detection procedure
Applying: PCI: dwc: Verify in/out regions against iATU constraints
Applying: PCI: dwc: Check iATU in/outbound ranges setup methods status
Applying: PCI: dwc: Introduce dma-ranges property support for RC-host
# fetch 3: PCI: dwc: Add extended YAML-schema and Baikal-T1 support
05:42:40 ~/linux (wip/serge)$ b4 am -om/ https://lore.kernel.org/linux-pci/[email protected]/
Analyzing 51 messages in the thread
Checking attestation on all messages, may take a moment...
---
✓ [PATCH v3 1/17] dt-bindings: PCI: dwc: Detach common RP/EP DT bindings
✓ [PATCH v3 2/17] dt-bindings: PCI: dwc: Remove bus node from the examples
+ Reviewed-by: Rob Herring <[email protected]>
✓ [PATCH v3 3/17] dt-bindings: PCI: dwc: Add phys/phy-names common properties
✓ [PATCH v3 4/17] dt-bindings: PCI: dwc: Add max-link-speed common property
✓ [PATCH v3 5/17] dt-bindings: PCI: dwc: Stop selecting generic bindings by default
✓ [PATCH v3 6/17] dt-bindings: PCI: dwc: Add max-functions EP property
+ Reviewed-by: Rob Herring <[email protected]>
✓ [PATCH v3 7/17] dt-bindings: PCI: dwc: Add interrupts/interrupt-names common properties
✓ [PATCH v3 8/17] dt-bindings: PCI: dwc: Add reg/reg-names common properties
✓ [PATCH v3 9/17] dt-bindings: PCI: dwc: Add clocks/resets common properties
✓ [PATCH v3 10/17] dt-bindings: PCI: dwc: Add dma-coherent property
✓ [PATCH v3 11/17] dt-bindings: PCI: dwc: Apply common schema to Rockchip DW PCIe nodes
✓ [PATCH v3 12/17] dt-bindings: PCI: dwc: Add Baikal-T1 PCIe Root Port bindings
✓ [PATCH v3 13/17] PCI: dwc: Introduce generic controller capabilities interface
+ Reviewed-by: Rob Herring <[email protected]>
✓ [PATCH v3 14/17] PCI: dwc: Introduce generic resources getter
+ Reviewed-by: Rob Herring <[email protected]>
✓ [PATCH v3 15/17] PCI: dwc: Combine iATU detection procedures
+ Reviewed-by: Rob Herring <[email protected]>
✓ [PATCH v3 16/17] PCI: dwc: Introduce generic platform clocks and resets
✓ [PATCH v3 17/17] PCI: dwc: Add Baikal-T1 PCIe controller support
---
✓ Signed: DKIM/baikalelectronics.ru
---
Total patches: 17
---
NOTE: some trailers ignored due to from/email mismatches:
! Trailer: Link: https://lore.kernel.org/linux-pci/[email protected]/
Msg From: Serge Semin <[email protected]>
! Trailer: Link: https://lore.kernel.org/linux-pci/[email protected]/
Msg From: Serge Semin <[email protected]>
NOTE: Rerun with -S to apply them anyway
---
Cover: m/v3_20220610_sergey_semin_pci_dwc_add_generic_resources_and_baikal_t1_support.cover
Link: https://lore.kernel.org/r/[email protected]
Base: not specified
git am m/v3_20220610_sergey_semin_pci_dwc_add_generic_resources_and_baikal_t1_support.mbx
# apply 3: PCI: dwc: Add extended YAML-schema and Baikal-T1 support
05:42:58 ~/linux (wip/serge)$ git am m/v3_20220610_sergey_semin_pci_dwc_add_generic_resources_and_baikal_t1_support.mbx
Applying: dt-bindings: PCI: dwc: Detach common RP/EP DT bindings
error: patch failed: Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml:36
error: Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml: patch does not apply
error: patch failed: Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml:37
error: Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml: patch does not apply
Patch failed at 0001 dt-bindings: PCI: dwc: Detach common RP/EP DT bindings
hint: Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
05:43:07 ~/linux (wip/serge|AM 1/17)$
Hi Bjorn
On Wed, Jul 27, 2022 at 05:49:04PM -0500, Bjorn Helgaas wrote:
> On Fri, Jun 24, 2022 at 05:39:32PM +0300, Serge Semin wrote:
> > This patchset is a second 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: https://lore.kernel.org/linux-pci/[email protected]/
> > [2: In-progress v4] PCI: dwc: Add hw version and dma-ranges support
> > Link: ---you are looking at it---
>
> https://lore.kernel.org/r/[email protected]
>
> > [3: In-progress v3] PCI: dwc: Add extended YAML-schema and Baikal-T1 support
> > Link: https://lore.kernel.org/linux-pci/[email protected]/
> > [4: In-progress v3] dmaengine: dw-edma: Add RP/EP local DMA support
> > Link: https://lore.kernel.org/linux-pci/[email protected]
>
> Hi Serge, is the above the latest and greatest list? The 3rd series
> doesn't apply cleanly for me:
Thanks for getting back to my patchsets. The 3rd series is still under
review (see below for details). Here is the summary regarding the
patchsets state:
[1: Done v5] PCI: dwc: Various fixes and cleanups
The latest lore
Link: https://lore.kernel.org/linux-pci/[email protected]/
You've already merged it in here:
Link: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/ctrl/dwc
[2: Done v4] PCI: dwc: Add hw version and dma-ranges support
The latest lore
Link: https://lore.kernel.org/linux-pci/[email protected]
[3: In-progress v3] PCI: dwc: Add extended YAML-schema and Baikal-T1 support
The latest lore
Link: https://lore.kernel.org/linux-pci/[email protected]/
This series, you are having difficulties to apply, is still under Rob'
review. I've addressed all your comments locally in my repo, but Rob'
didn't respond on some of my questions (there are several principal
aspects of the dt-bindings patches he didn't like). First he used to
be in vacation, then he just missed several of my email messages, but
responded on another ones. Pings didn't work either. Then I thought
the merge-window was opened so I has stopped bothering him for some
time.) So I'll resend the series as is one more time today then.
Hopefully he'll get back to it soon.
[4: Done v3] dmaengine: dw-edma: Add RP/EP local DMA support
The latest lore
Link: https://lore.kernel.org/linux-pci/[email protected]/
The series review is done. It has even got Vinod' Ab tag. But I need
to resend it (will do this today) since it needs to be rebased on the
latest Frank Li patchset. Frank series is in your repo already:
Link: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/ctrl/dwc-edma
So if you aren't going to merge the DW PCIe/eDMA related series in on this
merge window, please collect my and Frank work in a single branch of
yours (pci/ctrl/dwc-edma), since my patchset #4 depends on his series
and the patchsets #3, #2 and #1 described above.
-Sergey
>
> 05:40:34 ~/linux (main)$ git checkout -b wip/serge v5.19-rc1
> Switched to a new branch 'wip/serge'
>
> # fetch 1: PCI: dwc: Various fixes and cleanups
> 05:40:45 ~/linux (wip/serge)$ b4 am -om/ https://lore.kernel.org/linux-pci/[email protected]/
> Analyzing 37 messages in the thread
> Checking attestation on all messages, may take a moment...
> ---
> ✓ [PATCH v5 1/18] PCI: dwc: Stop link in the host init error and de-initialization
> ✓ [PATCH v5 2/18] PCI: dwc: Add unroll iATU space support to the regions disable method
> ✓ [PATCH v5 3/18] PCI: dwc: Disable outbound windows for controllers with iATU
> ✓ [PATCH v5 4/18] PCI: dwc: Set INCREASE_REGION_SIZE flag based on limit address
> ✓ [PATCH v5 5/18] PCI: dwc: Deallocate EPC memory on EP init error
> + Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
> ✓ [PATCH v5 6/18] PCI: dwc: Enable CDM-check independently from the num_lanes value
> + Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
> ✓ [PATCH v5 7/18] PCI: dwc: Add braces to the multi-line if-else statements
> ✓ [PATCH v5 8/18] PCI: dwc: Add trailing new-line literals to the log messages
> ✓ [PATCH v5 9/18] PCI: dwc: Discard IP-core version checking on unrolled iATU detection
> ✓ [PATCH v5 10/18] PCI: dwc: Convert Link-up status method to using dw_pcie_readl_dbi()
> ✓ [PATCH v5 11/18] PCI: dwc: Organize local variables usage
> + Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
> ✓ [PATCH v5 12/18] PCI: dwc: Re-use local pointer to the resource data
> + Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
> ✓ [PATCH v5 13/18] PCI: dwc: Add start_link/stop_link inliners
> + Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
> ✓ [PATCH v5 14/18] PCI: dwc: Move io_cfg_atu_shared to the Root Port descriptor
> + Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
> ✓ [PATCH v5 15/18] PCI: dwc: Add dw_ prefix to the pcie_port structure name
> + Acked-by: Jesper Nilsson <[email protected]> (✓ DKIM/axis.com)
> + Reviewed-by: Manivannan Sadhasivam <[email protected]> (✓ DKIM/linaro.org)
> + Reviewed-by: Neil Armstrong <[email protected]> (✓ DKIM/baylibre-com.20210112.gappssmtp.com)
> ✓ [PATCH v5 16/18] PCI: dwc-plat: Simplify the probe method return value handling
> ✓ [PATCH v5 17/18] PCI: dwc-plat: Discard unused regmap pointer
> ✓ [PATCH v5 18/18] PCI: dwc-plat: Drop dw_plat_pcie_of_match forward declaration
> ---
> ✓ Signed: DKIM/baikalelectronics.ru
> ---
> Total patches: 18
> ---
> NOTE: some trailers ignored due to from/email mismatches:
> ! Trailer: Link: https://lore.kernel.org/linux-pci/20220616152048.gcqacgs2ed66vsl4@mobilestation/
> Msg From: Serge Semin <[email protected]>
> NOTE: Rerun with -S to apply them anyway
> ---
> Cover: m/v5_20220624_sergey_semin_pci_dwc_various_fixes_and_cleanups.cover
> Link: https://lore.kernel.org/r/[email protected]
> Base: applies clean to current tree
> git am m/v5_20220624_sergey_semin_pci_dwc_various_fixes_and_cleanups.mbx
>
> # apply 1: PCI: dwc: Various fixes and cleanups
> 05:41:24 ~/linux (wip/serge)$ git am m/v5_20220624_sergey_semin_pci_dwc_various_fixes_and_cleanups.mbx
> Applying: PCI: dwc: Stop link in the host init error and de-initialization
> Applying: PCI: dwc: Add unroll iATU space support to the regions disable method
> Applying: PCI: dwc: Disable outbound windows for controllers with iATU
> Applying: PCI: dwc: Set INCREASE_REGION_SIZE flag based on limit address
> Applying: PCI: dwc: Deallocate EPC memory on EP init error
> Applying: PCI: dwc: Enable CDM-check independently from the num_lanes value
> Applying: PCI: dwc: Add braces to the multi-line if-else statements
> Applying: PCI: dwc: Add trailing new-line literals to the log messages
> Applying: PCI: dwc: Discard IP-core version checking on unrolled iATU detection
> Applying: PCI: dwc: Convert Link-up status method to using dw_pcie_readl_dbi()
> Applying: PCI: dwc: Organize local variables usage
> Applying: PCI: dwc: Re-use local pointer to the resource data
> Applying: PCI: dwc: Add start_link/stop_link inliners
> Applying: PCI: dwc: Move io_cfg_atu_shared to the Root Port descriptor
> Applying: PCI: dwc: Add dw_ prefix to the pcie_port structure name
> Applying: PCI: dwc-plat: Simplify the probe method return value handling
> Applying: PCI: dwc-plat: Discard unused regmap pointer
> Applying: PCI: dwc-plat: Drop dw_plat_pcie_of_match forward declaration
>
> # fetch 2: PCI: dwc: Add hw version and dma-ranges support
> 05:41:46 ~/linux (wip/serge)$ b4 am -om/ https://lore.kernel.org/r/[email protected]
> Looking up https://lore.kernel.org/r/20220624143947.8991-1-Sergey.Semin%40baikalelectronics.ru
> Analyzing 19 messages in the thread
> Checking attestation on all messages, may take a moment...
> ---
> ✓ [PATCH v4 1/15] PCI: dwc: Add more verbose link-up message
> ✓ [PATCH v4 2/15] PCI: dwc: Detect iATU settings after getting "addr_space" resource
> ✓ [PATCH v4 3/15] PCI: dwc: Convert to using native IP-core versions representation
> ✓ [PATCH v4 4/15] PCI: dwc: Add IP-core version detection procedure
> ✓ [PATCH v4 5/15] PCI: dwc: Introduce Synopsys IP-core versions/types interface
> ✓ [PATCH v4 6/15] PCI: intel-gw: Drop manual DW PCIe controller version setup
> ✓ [PATCH v4 7/15] PCI: tegra194: Drop manual DW PCIe controller version setup
> ✓ [PATCH v4 8/15] PCI: dwc: Add host de-initialization callback
> ✓ [PATCH v4 9/15] PCI: dwc: Drop inbound iATU types enumeration - dw_pcie_as_type
> ✓ [PATCH v4 10/15] PCI: dwc: Drop iATU regions enumeration - dw_pcie_region_type
> ✓ [PATCH v4 11/15] PCI: dwc: Simplify in/outbound iATU setup methods
> ✓ [PATCH v4 12/15] PCI: dwc: Add iATU regions size detection procedure
> ✓ [PATCH v4 13/15] PCI: dwc: Verify in/out regions against iATU constraints
> ✓ [PATCH v4 14/15] PCI: dwc: Check iATU in/outbound ranges setup methods status
> ✓ [PATCH v4 15/15] PCI: dwc: Introduce dma-ranges property support for RC-host
> ---
> ✓ Signed: DKIM/baikalelectronics.ru
> ---
> Total patches: 15
> ---
> NOTE: some trailers ignored due to from/email mismatches:
> ! Trailer: Link: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci%2Fctrl%2Fdwc-fixes
> Msg From: Serge Semin <[email protected]>
> ! Trailer: Link: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/edma
> Msg From: Serge Semin <[email protected]>
> NOTE: Rerun with -S to apply them anyway
> ---
> Cover: m/v4_20220624_sergey_semin_pci_dwc_add_hw_version_and_dma_ranges_support.cover
> Link: https://lore.kernel.org/r/[email protected]
> Base: applies clean to current tree
> git am m/v4_20220624_sergey_semin_pci_dwc_add_hw_version_and_dma_ranges_support.mbx
>
> # apply 2: PCI: dwc: Add hw version and dma-ranges support
> 05:42:05 ~/linux (wip/serge)$ git am m/v4_20220624_sergey_semin_pci_dwc_add_hw_version_and_dma_ranges_support.mbx
> Applying: PCI: dwc: Add more verbose link-up message
> Applying: PCI: dwc: Detect iATU settings after getting "addr_space" resource
> Applying: PCI: dwc: Convert to using native IP-core versions representation
> Applying: PCI: dwc: Add IP-core version detection procedure
> Applying: PCI: dwc: Introduce Synopsys IP-core versions/types interface
> Applying: PCI: intel-gw: Drop manual DW PCIe controller version setup
> Applying: PCI: tegra194: Drop manual DW PCIe controller version setup
> Applying: PCI: dwc: Add host de-initialization callback
> Applying: PCI: dwc: Drop inbound iATU types enumeration - dw_pcie_as_type
> Applying: PCI: dwc: Drop iATU regions enumeration - dw_pcie_region_type
> Applying: PCI: dwc: Simplify in/outbound iATU setup methods
> Applying: PCI: dwc: Add iATU regions size detection procedure
> Applying: PCI: dwc: Verify in/out regions against iATU constraints
> Applying: PCI: dwc: Check iATU in/outbound ranges setup methods status
> Applying: PCI: dwc: Introduce dma-ranges property support for RC-host
>
> # fetch 3: PCI: dwc: Add extended YAML-schema and Baikal-T1 support
> 05:42:40 ~/linux (wip/serge)$ b4 am -om/ https://lore.kernel.org/linux-pci/[email protected]/
> Analyzing 51 messages in the thread
> Checking attestation on all messages, may take a moment...
> ---
> ✓ [PATCH v3 1/17] dt-bindings: PCI: dwc: Detach common RP/EP DT bindings
> ✓ [PATCH v3 2/17] dt-bindings: PCI: dwc: Remove bus node from the examples
> + Reviewed-by: Rob Herring <[email protected]>
> ✓ [PATCH v3 3/17] dt-bindings: PCI: dwc: Add phys/phy-names common properties
> ✓ [PATCH v3 4/17] dt-bindings: PCI: dwc: Add max-link-speed common property
> ✓ [PATCH v3 5/17] dt-bindings: PCI: dwc: Stop selecting generic bindings by default
> ✓ [PATCH v3 6/17] dt-bindings: PCI: dwc: Add max-functions EP property
> + Reviewed-by: Rob Herring <[email protected]>
> ✓ [PATCH v3 7/17] dt-bindings: PCI: dwc: Add interrupts/interrupt-names common properties
> ✓ [PATCH v3 8/17] dt-bindings: PCI: dwc: Add reg/reg-names common properties
> ✓ [PATCH v3 9/17] dt-bindings: PCI: dwc: Add clocks/resets common properties
> ✓ [PATCH v3 10/17] dt-bindings: PCI: dwc: Add dma-coherent property
> ✓ [PATCH v3 11/17] dt-bindings: PCI: dwc: Apply common schema to Rockchip DW PCIe nodes
> ✓ [PATCH v3 12/17] dt-bindings: PCI: dwc: Add Baikal-T1 PCIe Root Port bindings
> ✓ [PATCH v3 13/17] PCI: dwc: Introduce generic controller capabilities interface
> + Reviewed-by: Rob Herring <[email protected]>
> ✓ [PATCH v3 14/17] PCI: dwc: Introduce generic resources getter
> + Reviewed-by: Rob Herring <[email protected]>
> ✓ [PATCH v3 15/17] PCI: dwc: Combine iATU detection procedures
> + Reviewed-by: Rob Herring <[email protected]>
> ✓ [PATCH v3 16/17] PCI: dwc: Introduce generic platform clocks and resets
> ✓ [PATCH v3 17/17] PCI: dwc: Add Baikal-T1 PCIe controller support
> ---
> ✓ Signed: DKIM/baikalelectronics.ru
> ---
> Total patches: 17
> ---
> NOTE: some trailers ignored due to from/email mismatches:
> ! Trailer: Link: https://lore.kernel.org/linux-pci/[email protected]/
> Msg From: Serge Semin <[email protected]>
> ! Trailer: Link: https://lore.kernel.org/linux-pci/[email protected]/
> Msg From: Serge Semin <[email protected]>
> NOTE: Rerun with -S to apply them anyway
> ---
> Cover: m/v3_20220610_sergey_semin_pci_dwc_add_generic_resources_and_baikal_t1_support.cover
> Link: https://lore.kernel.org/r/[email protected]
> Base: not specified
> git am m/v3_20220610_sergey_semin_pci_dwc_add_generic_resources_and_baikal_t1_support.mbx
>
> # apply 3: PCI: dwc: Add extended YAML-schema and Baikal-T1 support
> 05:42:58 ~/linux (wip/serge)$ git am m/v3_20220610_sergey_semin_pci_dwc_add_generic_resources_and_baikal_t1_support.mbx
> Applying: dt-bindings: PCI: dwc: Detach common RP/EP DT bindings
> error: patch failed: Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml:36
> error: Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml: patch does not apply
> error: patch failed: Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml:37
> error: Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml: patch does not apply
> Patch failed at 0001 dt-bindings: PCI: dwc: Detach common RP/EP DT bindings
> hint: Use 'git am --show-current-patch' to see the failed patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
> 05:43:07 ~/linux (wip/serge|AM 1/17)$
On Fri, Jun 24, 2022 at 05:39:32PM +0300, Serge Semin wrote:
> This patchset is a second one in the series created in the framework of
> my Baikal-T1 PCIe/eDMA-related work:
> Serge Semin (15):
> PCI: dwc: Add more verbose link-up message
> PCI: dwc: Detect iATU settings after getting "addr_space" resource
> PCI: dwc: Convert to using native IP-core versions representation
> PCI: dwc: Add IP-core version detection procedure
> PCI: dwc: Introduce Synopsys IP-core versions/types interface
> PCI: intel-gw: Drop manual DW PCIe controller version setup
> PCI: tegra194: Drop manual DW PCIe controller version setup
> PCI: dwc: Add host de-initialization callback
> PCI: dwc: Drop inbound iATU types enumeration - dw_pcie_as_type
> PCI: dwc: Drop iATU regions enumeration - dw_pcie_region_type
> PCI: dwc: Simplify in/outbound iATU setup methods
> PCI: dwc: Add iATU regions size detection procedure
> PCI: dwc: Verify in/out regions against iATU constraints
> PCI: dwc: Check iATU in/outbound ranges setup methods status
I applied the above to pci/ctrl/dwc for v5.20, thanks!
> PCI: dwc: Introduce dma-ranges property support for RC-host
I deferred this one for now because the current value isn't clear yet.
If we have a user for it, I'll be glad to add it.
Bjorn
On Thu, Jul 28, 2022 at 09:36:45PM -0500, Bjorn Helgaas wrote:
> On Fri, Jun 24, 2022 at 05:39:32PM +0300, Serge Semin wrote:
> > This patchset is a second one in the series created in the framework of
> > my Baikal-T1 PCIe/eDMA-related work:
>
> > Serge Semin (15):
> > PCI: dwc: Add more verbose link-up message
> > PCI: dwc: Detect iATU settings after getting "addr_space" resource
> > PCI: dwc: Convert to using native IP-core versions representation
> > PCI: dwc: Add IP-core version detection procedure
> > PCI: dwc: Introduce Synopsys IP-core versions/types interface
> > PCI: intel-gw: Drop manual DW PCIe controller version setup
> > PCI: tegra194: Drop manual DW PCIe controller version setup
> > PCI: dwc: Add host de-initialization callback
> > PCI: dwc: Drop inbound iATU types enumeration - dw_pcie_as_type
> > PCI: dwc: Drop iATU regions enumeration - dw_pcie_region_type
> > PCI: dwc: Simplify in/outbound iATU setup methods
> > PCI: dwc: Add iATU regions size detection procedure
> > PCI: dwc: Verify in/out regions against iATU constraints
> > PCI: dwc: Check iATU in/outbound ranges setup methods status
>
> I applied the above to pci/ctrl/dwc for v5.20, thanks!
>
> > PCI: dwc: Introduce dma-ranges property support for RC-host
>
> I deferred this one for now because the current value isn't clear yet.
> If we have a user for it, I'll be glad to add it.
This one is still deferred and I agree with Bjorn it should be part of
a series that actually requires it - it would also simplify the review.
Lorenzo
On Wed, Sep 28, 2022 at 10:10:52AM +0200, Lorenzo Pieralisi wrote:
> On Thu, Jul 28, 2022 at 09:36:45PM -0500, Bjorn Helgaas wrote:
> > On Fri, Jun 24, 2022 at 05:39:32PM +0300, Serge Semin wrote:
> > > This patchset is a second one in the series created in the framework of
> > > my Baikal-T1 PCIe/eDMA-related work:
> >
> > > Serge Semin (15):
> > > PCI: dwc: Add more verbose link-up message
> > > PCI: dwc: Detect iATU settings after getting "addr_space" resource
> > > PCI: dwc: Convert to using native IP-core versions representation
> > > PCI: dwc: Add IP-core version detection procedure
> > > PCI: dwc: Introduce Synopsys IP-core versions/types interface
> > > PCI: intel-gw: Drop manual DW PCIe controller version setup
> > > PCI: tegra194: Drop manual DW PCIe controller version setup
> > > PCI: dwc: Add host de-initialization callback
> > > PCI: dwc: Drop inbound iATU types enumeration - dw_pcie_as_type
> > > PCI: dwc: Drop iATU regions enumeration - dw_pcie_region_type
> > > PCI: dwc: Simplify in/outbound iATU setup methods
> > > PCI: dwc: Add iATU regions size detection procedure
> > > PCI: dwc: Verify in/out regions against iATU constraints
> > > PCI: dwc: Check iATU in/outbound ranges setup methods status
> >
> > I applied the above to pci/ctrl/dwc for v5.20, thanks!
> >
> > > PCI: dwc: Introduce dma-ranges property support for RC-host
> >
> > I deferred this one for now because the current value isn't clear yet.
> > If we have a user for it, I'll be glad to add it.
>
> This one is still deferred and I agree with Bjorn it should be part of
> a series that actually requires it - it would also simplify the review.
Have already moved it to the next patchset:
https://lore.kernel.org/linux-pci/[email protected]/
See the patch in there:
https://lore.kernel.org/linux-pci/[email protected]/
-Sergey
>
> Lorenzo