devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450
@ 2025-02-21 15:51 Dmitry Baryshkov
  2025-02-21 15:51 ` [PATCH v3 1/8] dt-bindings: PCI: qcom-ep: describe optional dma-coherent property Dmitry Baryshkov
                   ` (9 more replies)
  0 siblings, 10 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-21 15:51 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

Update the incomplete SM8450 support and bring in SAR2130P support for
the PCIe1 controller to be used in EP mode.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Changes in v3:
- Rephrased commit messages, adding notes regarding ABI breaks
  (Krzysztof)
- Added missing minTems (Krzysztof)
- Reworked schema, merging reg/-names and interrupts/-names to a single
  conditional clause.
- Added dma-coherent to the list of allowed properties.
- Link to v2: https://lore.kernel.org/r/20250221-sar2130p-pci-v2-0-cc87590ffbeb@linaro.org

Changes in v2:
- Rephrase IOMMU commit message to stop mentioning eDMA (Mani)
- Explain why it is impossible to use fallback compatibles (Mani)
- Reformat names to vertical lists (Konrad)
- Use ACTIVE_ONLY for cpu-pcie interconnect (Konrad)
- Use tags for sm8450 interconnects (Konrad)
- Link to v1: https://lore.kernel.org/r/20250217-sar2130p-pci-v1-0-94b20ec70a14@linaro.org

---
Dmitry Baryshkov (8):
      dt-bindings: PCI: qcom-ep: describe optional dma-coherent property
      dt-bindings: PCI: qcom-ep: describe optional IOMMU
      dt-bindings: PCI: qcom-ep: enable DMA for SM8450
      dt-bindings: PCI: qcom-ep: consolidate DMA vs non-DMA usecases
      dt-bindings: PCI: qcom-ep: add SAR2130P compatible
      PCI: dwc: pcie-qcom-ep: enable EP support for SAR2130P
      arm64: dts: qcom: sar2130p: add PCIe EP device nodes
      arm64: dts: qcom: sm8450: add PCIe EP device nodes

 .../devicetree/bindings/pci/qcom,pcie-ep.yaml      | 100 +++++++++++++++------
 arch/arm64/boot/dts/qcom/sar2130p.dtsi             |  61 +++++++++++++
 arch/arm64/boot/dts/qcom/sm8450.dtsi               |  62 +++++++++++++
 drivers/pci/controller/dwc/pcie-qcom-ep.c          |   1 +
 4 files changed, 198 insertions(+), 26 deletions(-)
---
base-commit: 6b063ae40049a93bc662cb0c1653a691424b11a1
change-id: 20241017-sar2130p-pci-80dae35a67e8

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


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

* [PATCH v3 1/8] dt-bindings: PCI: qcom-ep: describe optional dma-coherent property
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
@ 2025-02-21 15:51 ` Dmitry Baryshkov
  2025-02-22 10:31   ` Krzysztof Kozlowski
  2025-02-22 16:45   ` Manivannan Sadhasivam
  2025-02-21 15:52 ` [PATCH v3 2/8] dt-bindings: PCI: qcom-ep: describe optional IOMMU Dmitry Baryshkov
                   ` (8 subsequent siblings)
  9 siblings, 2 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-21 15:51 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

Qualcomm SA8775P supports cache coherency on the PCIe EP controller.
Allow 'dma-coherent' property to be used for this device. This fixes
a part of the following error (the second part is fixed in the next
commit):

pcie-ep@1c10000: Unevaluated properties are not allowed ('dma-coherent', 'iommus' were unexpected)

Fixes: 4b220c6fa9f3 ("arm64: dts: qcom: sa8775p: Mark PCIe EP controller as cache coherent")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
index 1226ee5d08d1ae909b07b0d78014618c4c74e9a8..0c2ca4cfa3b190b3fb204f0d7142370734fb3534 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
@@ -91,6 +91,8 @@ properties:
       - const: pcie-mem
       - const: cpu-pcie
 
+  dma-coherent: true
+
   resets:
     maxItems: 1
 

-- 
2.39.5


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

* [PATCH v3 2/8] dt-bindings: PCI: qcom-ep: describe optional IOMMU
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
  2025-02-21 15:51 ` [PATCH v3 1/8] dt-bindings: PCI: qcom-ep: describe optional dma-coherent property Dmitry Baryshkov
@ 2025-02-21 15:52 ` Dmitry Baryshkov
  2025-02-22 10:32   ` Krzysztof Kozlowski
  2025-02-22 16:45   ` Manivannan Sadhasivam
  2025-02-21 15:52 ` [PATCH v3 3/8] dt-bindings: PCI: qcom-ep: enable DMA for SM8450 Dmitry Baryshkov
                   ` (7 subsequent siblings)
  9 siblings, 2 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-21 15:52 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

Some of Qualcomm platforms have an IOMMU unit between the PCIe IP and
DDR. For example, SA8775P specifies the iommu alththough it is not a
part of bindings. Change the schema in order to require the IOMMU for
SA8775P and forbid it from being used on SDX55 (SM8450 will be handled
in a later patch).

This fixes the following warning:

pcie-ep@1c10000: Unevaluated properties are not allowed ('iommus' was unexpected)

Fixes: 9d3d5e75f31c ("dt-bindings: PCI: qcom-ep: Add support for SA8775P SoC")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
index 0c2ca4cfa3b190b3fb204f0d7142370734fb3534..6075361348352bb8d607acecc76189e28b03dc5b 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
@@ -75,6 +75,9 @@ properties:
       - const: doorbell
       - const: dma
 
+  iommus:
+    maxItems: 1
+
   reset-gpios:
     description: GPIO used as PERST# input signal
     maxItems: 1
@@ -162,6 +165,7 @@ allOf:
           maxItems: 2
         interrupt-names:
           maxItems: 2
+        iommus: false
 
   - if:
       properties:
@@ -234,6 +238,8 @@ allOf:
         interrupt-names:
           minItems: 3
           maxItems: 3
+      required:
+        - iommus
 
 unevaluatedProperties: false
 

-- 
2.39.5


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

* [PATCH v3 3/8] dt-bindings: PCI: qcom-ep: enable DMA for SM8450
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
  2025-02-21 15:51 ` [PATCH v3 1/8] dt-bindings: PCI: qcom-ep: describe optional dma-coherent property Dmitry Baryshkov
  2025-02-21 15:52 ` [PATCH v3 2/8] dt-bindings: PCI: qcom-ep: describe optional IOMMU Dmitry Baryshkov
@ 2025-02-21 15:52 ` Dmitry Baryshkov
  2025-02-22 10:32   ` Krzysztof Kozlowski
  2025-02-21 15:52 ` [PATCH v3 4/8] dt-bindings: PCI: qcom-ep: consolidate DMA vs non-DMA usecases Dmitry Baryshkov
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-21 15:52 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

Qualcomm SM8450 platform can (and should) be using DMA for the PCIe EP
transfers. Extend the MMIO regions and interrupts in order to acommodate
for the DMA resources, mark iommus property as required for the
platform.

Upstream DT doesn't provide support for the EP mode of the PCIe
controller, so while this is an ABI break, it doesn't break any of the
supported platforms.

Fixes: 63e445b746aa ("dt-bindings: PCI: qcom-ep: Add support for SM8450 SoC")
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
index 6075361348352bb8d607acecc76189e28b03dc5b..d22022ff2760c5aa84d31e3c719dd4b63adbb4cf 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
@@ -176,9 +176,11 @@ allOf:
     then:
       properties:
         reg:
-          maxItems: 6
+          minItems: 7
+          maxItems: 7
         reg-names:
-          maxItems: 6
+          minItems: 7
+          maxItems: 7
         clocks:
           items:
             - description: PCIe Auxiliary clock
@@ -200,9 +202,13 @@ allOf:
             - const: ddrss_sf_tbu
             - const: aggre_noc_axi
         interrupts:
-          maxItems: 2
+          minItems: 3
+          maxItems: 3
         interrupt-names:
-          maxItems: 2
+          minItems: 3
+          maxItems: 3
+      required:
+        - iommus
 
   - if:
       properties:

-- 
2.39.5


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

* [PATCH v3 4/8] dt-bindings: PCI: qcom-ep: consolidate DMA vs non-DMA usecases
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2025-02-21 15:52 ` [PATCH v3 3/8] dt-bindings: PCI: qcom-ep: enable DMA for SM8450 Dmitry Baryshkov
@ 2025-02-21 15:52 ` Dmitry Baryshkov
  2025-02-22 10:40   ` Krzysztof Kozlowski
  2025-02-22 16:47   ` Manivannan Sadhasivam
  2025-02-21 15:52 ` [PATCH v3 5/8] dt-bindings: PCI: qcom-ep: add SAR2130P compatible Dmitry Baryshkov
                   ` (5 subsequent siblings)
  9 siblings, 2 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-21 15:52 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

On Qualcomm platforms here are two major kinds of PCIe EP controllers:
ones which use eDMA and IOMMU and the ones which do not (like SDX55 /
SDX65). It doesn't make sense to c&p similar properties all over the
place. Merge these two usecases into a single conditional clause.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../devicetree/bindings/pci/qcom,pcie-ep.yaml      | 68 +++++++++++-----------
 1 file changed, 35 insertions(+), 33 deletions(-)

diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
index d22022ff2760c5aa84d31e3c719dd4b63adbb4cf..2c1918ca30dcfa8decea684ff6bfe11c602bbc7e 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
@@ -131,6 +131,7 @@ required:
 
 allOf:
   - $ref: pci-ep.yaml#
+
   - if:
       properties:
         compatible:
@@ -140,9 +141,43 @@ allOf:
     then:
       properties:
         reg:
+          minItems: 6
           maxItems: 6
         reg-names:
+          minItems: 6
           maxItems: 6
+        interrupts:
+          minItems: 2
+          maxItems: 2
+        interrupt-names:
+          minItems: 2
+          maxItems: 2
+        iommus: false
+    else:
+      properties:
+        reg:
+          minItems: 7
+          maxItems: 7
+        reg-names:
+          minItems: 7
+          maxItems: 7
+        interrupts:
+          minItems: 3
+          maxItems: 3
+        interrupt-names:
+          minItems: 3
+          maxItems: 3
+      required:
+        - iommus
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sdx55-pcie-ep
+    then:
+      properties:
         clocks:
           items:
             - description: PCIe Auxiliary clock
@@ -161,11 +196,6 @@ allOf:
             - const: slave_q2a
             - const: sleep
             - const: ref
-        interrupts:
-          maxItems: 2
-        interrupt-names:
-          maxItems: 2
-        iommus: false
 
   - if:
       properties:
@@ -175,12 +205,6 @@ allOf:
               - qcom,sm8450-pcie-ep
     then:
       properties:
-        reg:
-          minItems: 7
-          maxItems: 7
-        reg-names:
-          minItems: 7
-          maxItems: 7
         clocks:
           items:
             - description: PCIe Auxiliary clock
@@ -201,14 +225,6 @@ allOf:
             - const: ref
             - const: ddrss_sf_tbu
             - const: aggre_noc_axi
-        interrupts:
-          minItems: 3
-          maxItems: 3
-        interrupt-names:
-          minItems: 3
-          maxItems: 3
-      required:
-        - iommus
 
   - if:
       properties:
@@ -218,12 +234,6 @@ allOf:
               - qcom,sa8775p-pcie-ep
     then:
       properties:
-        reg:
-          minItems: 7
-          maxItems: 7
-        reg-names:
-          minItems: 7
-          maxItems: 7
         clocks:
           items:
             - description: PCIe Auxiliary clock
@@ -238,14 +248,6 @@ allOf:
             - const: bus_master
             - const: bus_slave
             - const: slave_q2a
-        interrupts:
-          minItems: 3
-          maxItems: 3
-        interrupt-names:
-          minItems: 3
-          maxItems: 3
-      required:
-        - iommus
 
 unevaluatedProperties: false
 

-- 
2.39.5


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

* [PATCH v3 5/8] dt-bindings: PCI: qcom-ep: add SAR2130P compatible
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
                   ` (3 preceding siblings ...)
  2025-02-21 15:52 ` [PATCH v3 4/8] dt-bindings: PCI: qcom-ep: consolidate DMA vs non-DMA usecases Dmitry Baryshkov
@ 2025-02-21 15:52 ` Dmitry Baryshkov
  2025-02-22 10:41   ` Krzysztof Kozlowski
  2025-02-21 15:52 ` [PATCH v3 6/8] PCI: dwc: pcie-qcom-ep: enable EP support for SAR2130P Dmitry Baryshkov
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-21 15:52 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

Add support for using the PCI controller in the endpoint mode on the
SAR2130P platform. It is impossible to use fallback compatible to any
other platform since SAR2130P uses slightly different set of clocks.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../devicetree/bindings/pci/qcom,pcie-ep.yaml      | 36 ++++++++++++++++++++--
 1 file changed, 34 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
index 2c1918ca30dcfa8decea684ff6bfe11c602bbc7e..ac3414203d383bbd1a520dc11f317a5da9ca33e4 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
@@ -14,6 +14,7 @@ properties:
     oneOf:
       - enum:
           - qcom,sa8775p-pcie-ep
+          - qcom,sar2130p-pcie-ep
           - qcom,sdx55-pcie-ep
           - qcom,sm8450-pcie-ep
       - items:
@@ -44,11 +45,11 @@ properties:
 
   clocks:
     minItems: 5
-    maxItems: 8
+    maxItems: 9
 
   clock-names:
     minItems: 5
-    maxItems: 8
+    maxItems: 9
 
   qcom,perst-regs:
     description: Reference to a syscon representing TCSR followed by the two
@@ -132,6 +133,37 @@ required:
 allOf:
   - $ref: pci-ep.yaml#
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sar2130p-pcie-ep
+    then:
+      properties:
+        clocks:
+          items:
+            - description: PCIe Auxiliary clock
+            - description: PCIe CFG AHB clock
+            - description: PCIe Master AXI clock
+            - description: PCIe Slave AXI clock
+            - description: PCIe Slave Q2A AXI clock
+            - description: PCIe DDRSS SF TBU clock
+            - description: PCIe AGGRE NOC AXI clock
+            - description: PCIe CFG NOC AXI clock
+            - description: PCIe QMIP AHB clock
+        clock-names:
+          items:
+            - const: aux
+            - const: cfg
+            - const: bus_master
+            - const: bus_slave
+            - const: slave_q2a
+            - const: ddrss_sf_tbu
+            - const: aggre_noc_axi
+            - const: cnoc_sf_axi
+            - const: qmip_pcie_ahb
+
   - if:
       properties:
         compatible:

-- 
2.39.5


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

* [PATCH v3 6/8] PCI: dwc: pcie-qcom-ep: enable EP support for SAR2130P
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
                   ` (4 preceding siblings ...)
  2025-02-21 15:52 ` [PATCH v3 5/8] dt-bindings: PCI: qcom-ep: add SAR2130P compatible Dmitry Baryshkov
@ 2025-02-21 15:52 ` Dmitry Baryshkov
  2025-02-22 16:50   ` Manivannan Sadhasivam
  2025-02-21 15:52 ` [PATCH v3 7/8] arm64: dts: qcom: sar2130p: add PCIe EP device nodes Dmitry Baryshkov
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-21 15:52 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

Enable PCIe endpoint support for the Qualcomm SAR2130P platform. It is
impossible to use fallback compatible to any other platform since
SAR2130P uses slightly different set of clocks.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/pci/controller/dwc/pcie-qcom-ep.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pci/controller/dwc/pcie-qcom-ep.c b/drivers/pci/controller/dwc/pcie-qcom-ep.c
index c08f64d7a825fa5da22976c8020f96ee5faa5462..dec5675c7c9d52b77f084ae139845b488fa02d2c 100644
--- a/drivers/pci/controller/dwc/pcie-qcom-ep.c
+++ b/drivers/pci/controller/dwc/pcie-qcom-ep.c
@@ -933,6 +933,7 @@ static const struct of_device_id qcom_pcie_ep_match[] = {
 	{ .compatible = "qcom,sa8775p-pcie-ep", .data = &cfg_1_34_0},
 	{ .compatible = "qcom,sdx55-pcie-ep", },
 	{ .compatible = "qcom,sm8450-pcie-ep", },
+	{ .compatible = "qcom,sar2130p-pcie-ep", },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, qcom_pcie_ep_match);

-- 
2.39.5


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

* [PATCH v3 7/8] arm64: dts: qcom: sar2130p: add PCIe EP device nodes
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
                   ` (5 preceding siblings ...)
  2025-02-21 15:52 ` [PATCH v3 6/8] PCI: dwc: pcie-qcom-ep: enable EP support for SAR2130P Dmitry Baryshkov
@ 2025-02-21 15:52 ` Dmitry Baryshkov
  2025-02-21 18:59   ` Konrad Dybcio
  2025-02-22 16:51   ` Manivannan Sadhasivam
  2025-02-21 15:52 ` [PATCH v3 8/8] arm64: dts: qcom: sm8450: " Dmitry Baryshkov
                   ` (2 subsequent siblings)
  9 siblings, 2 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-21 15:52 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

On the Qualcomm AR2 Gen1 platform the second PCIe host can be used
either as an RC or as an EP device. Add device node for the PCIe EP.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/sar2130p.dtsi | 61 ++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sar2130p.dtsi b/arch/arm64/boot/dts/qcom/sar2130p.dtsi
index dd832e6816be85817fd1ecc853f8d4c800826bc4..b45e9e2ae0357bd0c7d719eaf4fc1faa1cf913f2 100644
--- a/arch/arm64/boot/dts/qcom/sar2130p.dtsi
+++ b/arch/arm64/boot/dts/qcom/sar2130p.dtsi
@@ -1474,6 +1474,67 @@ pcie@0 {
 			};
 		};
 
+		pcie1_ep: pcie-ep@1c08000 {
+			compatible = "qcom,sar2130p-pcie-ep";
+			reg = <0x0 0x01c08000 0x0 0x3000>,
+			      <0x0 0x40000000 0x0 0xf1d>,
+			      <0x0 0x40000f20 0x0 0xa8>,
+			      <0x0 0x40001000 0x0 0x1000>,
+			      <0x0 0x40200000 0x0 0x1000000>,
+			      <0x0 0x01c0b000 0x0 0x1000>,
+			      <0x0 0x40002000 0x0 0x2000>;
+			reg-names = "parf",
+				    "dbi",
+				    "elbi",
+				    "atu",
+				    "addr_space",
+				    "mmio",
+				    "dma";
+
+			clocks = <&gcc GCC_PCIE_1_AUX_CLK>,
+				 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
+				 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
+				 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
+				 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
+				 <&gcc GCC_DDRSS_PCIE_SF_CLK>,
+				 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>,
+				 <&gcc GCC_CFG_NOC_PCIE_ANOC_AHB_CLK>,
+				 <&gcc GCC_QMIP_PCIE_AHB_CLK>;
+			clock-names = "aux",
+				      "cfg",
+				      "bus_master",
+				      "bus_slave",
+				      "slave_q2a",
+				      "ddrss_sf_tbu",
+				      "aggre_noc_axi",
+				      "cnoc_sf_axi",
+				      "qmip_pcie_ahb";
+
+			interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "global",
+					  "doorbell",
+					  "dma";
+
+			interconnects = <&pcie_noc MASTER_PCIE_1 QCOM_ICC_TAG_ALWAYS
+					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
+					<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
+					 &config_noc SLAVE_PCIE_1 QCOM_ICC_TAG_ACTIVE_ONLY>;
+			interconnect-names = "pcie-mem",
+					     "cpu-pcie";
+			iommus = <&apps_smmu 0x1e00 0x1>;
+			resets = <&gcc GCC_PCIE_1_BCR>;
+			reset-names = "core";
+			power-domains = <&gcc PCIE_1_GDSC>;
+			phys = <&pcie1_phy>;
+			phy-names = "pciephy";
+
+			num-lanes = <2>;
+
+			status = "disabled";
+		};
+
 		pcie1_phy: phy@1c0e000 {
 			compatible = "qcom,sar2130p-qmp-gen3x2-pcie-phy";
 			reg = <0x0 0x01c0e000 0x0 0x2000>;

-- 
2.39.5


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

* [PATCH v3 8/8] arm64: dts: qcom: sm8450: add PCIe EP device nodes
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
                   ` (6 preceding siblings ...)
  2025-02-21 15:52 ` [PATCH v3 7/8] arm64: dts: qcom: sar2130p: add PCIe EP device nodes Dmitry Baryshkov
@ 2025-02-21 15:52 ` Dmitry Baryshkov
  2025-02-22 16:53   ` Manivannan Sadhasivam
  2025-02-22 14:36 ` [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Krzysztof Wilczyński
  2025-03-14 20:00 ` (subset) " Bjorn Andersson
  9 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-21 15:52 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

On the Qualcomm SM8450 platform the second PCIe host can be used
either as an RC or as an EP device. Add device node for the PCIe EP.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 62 ++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 9c809fc5fa45a98ff5441a0b6809931588897243..3783930d63a73158addc44d00d9da2efa0986a25 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -2262,6 +2262,68 @@ pcie@0 {
 			};
 		};
 
+		pcie1_ep: pcie-ep@1c08000 {
+			compatible = "qcom,sm8450-pcie-ep";
+			reg = <0x0 0x01c08000 0x0 0x3000>,
+			      <0x0 0x40000000 0x0 0xf1d>,
+			      <0x0 0x40000f20 0x0 0xa8>,
+			      <0x0 0x40001000 0x0 0x1000>,
+			      <0x0 0x40200000 0x0 0x1000000>,
+			      <0x0 0x01c0b000 0x0 0x1000>,
+			      <0x0 0x40002000 0x0 0x1000>;
+			reg-names = "parf",
+				    "dbi",
+				    "elbi",
+				    "atu",
+				    "addr_space",
+				    "mmio",
+				    "dma";
+
+			clocks = <&gcc GCC_PCIE_1_AUX_CLK>,
+				 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
+				 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
+				 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
+				 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
+				 <&rpmhcc RPMH_CXO_CLK>,
+				 <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
+				 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
+			clock-names = "aux",
+				      "cfg",
+				      "bus_master",
+				      "bus_slave",
+				      "slave_q2a",
+				      "ref",
+				      "ddrss_sf_tbu",
+				      "aggre_noc_axi";
+
+			interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "global",
+					  "doorbell",
+					  "dma";
+
+			interconnects = <&pcie_noc MASTER_PCIE_1 QCOM_ICC_TAG_ALWAYS
+					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
+					<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
+					 &config_noc SLAVE_PCIE_1 QCOM_ICC_TAG_ACTIVE_ONLY>;
+			interconnect-names = "pcie-mem",
+					     "cpu-pcie";
+
+			iommus = <&apps_smmu 0x1c80 0x7f>;
+			resets = <&gcc GCC_PCIE_1_BCR>;
+			reset-names = "core";
+			power-domains = <&gcc PCIE_1_GDSC>;
+			phys = <&pcie1_phy>;
+			phy-names = "pciephy";
+			num-lanes = <2>;
+
+			pinctrl-names = "default";
+			pinctrl-0 = <&pcie1_default_state>;
+
+			status = "disabled";
+		};
+
 		pcie1_phy: phy@1c0e000 {
 			compatible = "qcom,sm8450-qmp-gen4x2-pcie-phy";
 			reg = <0 0x01c0e000 0 0x2000>;

-- 
2.39.5


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

* Re: [PATCH v3 7/8] arm64: dts: qcom: sar2130p: add PCIe EP device nodes
  2025-02-21 15:52 ` [PATCH v3 7/8] arm64: dts: qcom: sar2130p: add PCIe EP device nodes Dmitry Baryshkov
@ 2025-02-21 18:59   ` Konrad Dybcio
  2025-02-22 16:51   ` Manivannan Sadhasivam
  1 sibling, 0 replies; 27+ messages in thread
From: Konrad Dybcio @ 2025-02-21 18:59 UTC (permalink / raw)
  To: Dmitry Baryshkov, Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel

On 21.02.2025 4:52 PM, Dmitry Baryshkov wrote:
> On the Qualcomm AR2 Gen1 platform the second PCIe host can be used
> either as an RC or as an EP device. Add device node for the PCIe EP.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH v3 1/8] dt-bindings: PCI: qcom-ep: describe optional dma-coherent property
  2025-02-21 15:51 ` [PATCH v3 1/8] dt-bindings: PCI: qcom-ep: describe optional dma-coherent property Dmitry Baryshkov
@ 2025-02-22 10:31   ` Krzysztof Kozlowski
  2025-02-22 16:45   ` Manivannan Sadhasivam
  1 sibling, 0 replies; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-22 10:31 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	linux-arm-msm, linux-pci, devicetree, linux-kernel

On Fri, Feb 21, 2025 at 05:51:59PM +0200, Dmitry Baryshkov wrote:
> Qualcomm SA8775P supports cache coherency on the PCIe EP controller.
> Allow 'dma-coherent' property to be used for this device. This fixes
> a part of the following error (the second part is fixed in the next
> commit):
> 
> pcie-ep@1c10000: Unevaluated properties are not allowed ('dma-coherent', 'iommus' were unexpected)
> 
> Fixes: 4b220c6fa9f3 ("arm64: dts: qcom: sa8775p: Mark PCIe EP controller as cache coherent")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml | 2 ++
>  1 file changed, 2 insertions(+)

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v3 2/8] dt-bindings: PCI: qcom-ep: describe optional IOMMU
  2025-02-21 15:52 ` [PATCH v3 2/8] dt-bindings: PCI: qcom-ep: describe optional IOMMU Dmitry Baryshkov
@ 2025-02-22 10:32   ` Krzysztof Kozlowski
  2025-02-22 16:45   ` Manivannan Sadhasivam
  1 sibling, 0 replies; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-22 10:32 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	linux-arm-msm, linux-pci, devicetree, linux-kernel

On Fri, Feb 21, 2025 at 05:52:00PM +0200, Dmitry Baryshkov wrote:
> Some of Qualcomm platforms have an IOMMU unit between the PCIe IP and
> DDR. For example, SA8775P specifies the iommu alththough it is not a
> part of bindings. Change the schema in order to require the IOMMU for
> SA8775P and forbid it from being used on SDX55 (SM8450 will be handled
> in a later patch).
> 
> This fixes the following warning:
> 
> pcie-ep@1c10000: Unevaluated properties are not allowed ('iommus' was unexpected)
> 
> Fixes: 9d3d5e75f31c ("dt-bindings: PCI: qcom-ep: Add support for SA8775P SoC")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml | 6 ++++++
>  1 file changed, 6 insertions(+)

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v3 3/8] dt-bindings: PCI: qcom-ep: enable DMA for SM8450
  2025-02-21 15:52 ` [PATCH v3 3/8] dt-bindings: PCI: qcom-ep: enable DMA for SM8450 Dmitry Baryshkov
@ 2025-02-22 10:32   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-22 10:32 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	linux-arm-msm, linux-pci, devicetree, linux-kernel

On Fri, Feb 21, 2025 at 05:52:01PM +0200, Dmitry Baryshkov wrote:
> Qualcomm SM8450 platform can (and should) be using DMA for the PCIe EP
> transfers. Extend the MMIO regions and interrupts in order to acommodate
> for the DMA resources, mark iommus property as required for the
> platform.
> 
> Upstream DT doesn't provide support for the EP mode of the PCIe
> controller, so while this is an ABI break, it doesn't break any of the
> supported platforms.
> 
> Fixes: 63e445b746aa ("dt-bindings: PCI: qcom-ep: Add support for SM8450 SoC")
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v3 4/8] dt-bindings: PCI: qcom-ep: consolidate DMA vs non-DMA usecases
  2025-02-21 15:52 ` [PATCH v3 4/8] dt-bindings: PCI: qcom-ep: consolidate DMA vs non-DMA usecases Dmitry Baryshkov
@ 2025-02-22 10:40   ` Krzysztof Kozlowski
  2025-02-22 16:47   ` Manivannan Sadhasivam
  1 sibling, 0 replies; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-22 10:40 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	linux-arm-msm, linux-pci, devicetree, linux-kernel

On Fri, Feb 21, 2025 at 05:52:02PM +0200, Dmitry Baryshkov wrote:
> On Qualcomm platforms here are two major kinds of PCIe EP controllers:
> ones which use eDMA and IOMMU and the ones which do not (like SDX55 /
> SDX65). It doesn't make sense to c&p similar properties all over the
> place. Merge these two usecases into a single conditional clause.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../devicetree/bindings/pci/qcom,pcie-ep.yaml      | 68 +++++++++++-----------
>  1 file changed, 35 insertions(+), 33 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> index d22022ff2760c5aa84d31e3c719dd4b63adbb4cf..2c1918ca30dcfa8decea684ff6bfe11c602bbc7e 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> @@ -131,6 +131,7 @@ required:
>  
>  allOf:
>    - $ref: pci-ep.yaml#
> +
>    - if:
>        properties:
>          compatible:
> @@ -140,9 +141,43 @@ allOf:
>      then:
>        properties:
>          reg:
> +          minItems: 6

That's not really necessary - minItems: 6 is in the top level. It
doesn't hurt, though.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v3 5/8] dt-bindings: PCI: qcom-ep: add SAR2130P compatible
  2025-02-21 15:52 ` [PATCH v3 5/8] dt-bindings: PCI: qcom-ep: add SAR2130P compatible Dmitry Baryshkov
@ 2025-02-22 10:41   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 27+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-22 10:41 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	linux-arm-msm, linux-pci, devicetree, linux-kernel

On Fri, Feb 21, 2025 at 05:52:03PM +0200, Dmitry Baryshkov wrote:
> Add support for using the PCI controller in the endpoint mode on the
> SAR2130P platform. It is impossible to use fallback compatible to any
> other platform since SAR2130P uses slightly different set of clocks.
> 
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../devicetree/bindings/pci/qcom,pcie-ep.yaml      | 36 ++++++++++++++++++++--
>  1 file changed, 34 insertions(+), 2 deletions(-)

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
                   ` (7 preceding siblings ...)
  2025-02-21 15:52 ` [PATCH v3 8/8] arm64: dts: qcom: sm8450: " Dmitry Baryshkov
@ 2025-02-22 14:36 ` Krzysztof Wilczyński
  2025-02-24 18:36   ` Krzysztof Wilczyński
  2025-03-14 20:00 ` (subset) " Bjorn Andersson
  9 siblings, 1 reply; 27+ messages in thread
From: Krzysztof Wilczyński @ 2025-02-22 14:36 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Kozlowski,
	linux-arm-msm, linux-pci, devicetree, linux-kernel

Hello,

> Update the incomplete SM8450 support and bring in SAR2130P support for
> the PCIe1 controller to be used in EP mode.

Applied to controller/qcom, thank you!

	Krzysztof

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

* Re: [PATCH v3 1/8] dt-bindings: PCI: qcom-ep: describe optional dma-coherent property
  2025-02-21 15:51 ` [PATCH v3 1/8] dt-bindings: PCI: qcom-ep: describe optional dma-coherent property Dmitry Baryshkov
  2025-02-22 10:31   ` Krzysztof Kozlowski
@ 2025-02-22 16:45   ` Manivannan Sadhasivam
  1 sibling, 0 replies; 27+ messages in thread
From: Manivannan Sadhasivam @ 2025-02-22 16:45 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	Krzysztof Kozlowski, linux-arm-msm, linux-pci, devicetree,
	linux-kernel

On Fri, Feb 21, 2025 at 05:51:59PM +0200, Dmitry Baryshkov wrote:
> Qualcomm SA8775P supports cache coherency on the PCIe EP controller.
> Allow 'dma-coherent' property to be used for this device. This fixes
> a part of the following error (the second part is fixed in the next
> commit):
> 
> pcie-ep@1c10000: Unevaluated properties are not allowed ('dma-coherent', 'iommus' were unexpected)
> 
> Fixes: 4b220c6fa9f3 ("arm64: dts: qcom: sa8775p: Mark PCIe EP controller as cache coherent")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

- Mani

> ---
>  Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> index 1226ee5d08d1ae909b07b0d78014618c4c74e9a8..0c2ca4cfa3b190b3fb204f0d7142370734fb3534 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> @@ -91,6 +91,8 @@ properties:
>        - const: pcie-mem
>        - const: cpu-pcie
>  
> +  dma-coherent: true
> +
>    resets:
>      maxItems: 1
>  
> 
> -- 
> 2.39.5
> 

-- 
மணிவண்ணன் சதாசிவம்

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

* Re: [PATCH v3 2/8] dt-bindings: PCI: qcom-ep: describe optional IOMMU
  2025-02-21 15:52 ` [PATCH v3 2/8] dt-bindings: PCI: qcom-ep: describe optional IOMMU Dmitry Baryshkov
  2025-02-22 10:32   ` Krzysztof Kozlowski
@ 2025-02-22 16:45   ` Manivannan Sadhasivam
  1 sibling, 0 replies; 27+ messages in thread
From: Manivannan Sadhasivam @ 2025-02-22 16:45 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	Krzysztof Kozlowski, linux-arm-msm, linux-pci, devicetree,
	linux-kernel

On Fri, Feb 21, 2025 at 05:52:00PM +0200, Dmitry Baryshkov wrote:
> Some of Qualcomm platforms have an IOMMU unit between the PCIe IP and
> DDR. For example, SA8775P specifies the iommu alththough it is not a
> part of bindings. Change the schema in order to require the IOMMU for
> SA8775P and forbid it from being used on SDX55 (SM8450 will be handled
> in a later patch).
> 
> This fixes the following warning:
> 
> pcie-ep@1c10000: Unevaluated properties are not allowed ('iommus' was unexpected)
> 
> Fixes: 9d3d5e75f31c ("dt-bindings: PCI: qcom-ep: Add support for SA8775P SoC")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

- Mani

> ---
>  Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> index 0c2ca4cfa3b190b3fb204f0d7142370734fb3534..6075361348352bb8d607acecc76189e28b03dc5b 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> @@ -75,6 +75,9 @@ properties:
>        - const: doorbell
>        - const: dma
>  
> +  iommus:
> +    maxItems: 1
> +
>    reset-gpios:
>      description: GPIO used as PERST# input signal
>      maxItems: 1
> @@ -162,6 +165,7 @@ allOf:
>            maxItems: 2
>          interrupt-names:
>            maxItems: 2
> +        iommus: false
>  
>    - if:
>        properties:
> @@ -234,6 +238,8 @@ allOf:
>          interrupt-names:
>            minItems: 3
>            maxItems: 3
> +      required:
> +        - iommus
>  
>  unevaluatedProperties: false
>  
> 
> -- 
> 2.39.5
> 

-- 
மணிவண்ணன் சதாசிவம்

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

* Re: [PATCH v3 4/8] dt-bindings: PCI: qcom-ep: consolidate DMA vs non-DMA usecases
  2025-02-21 15:52 ` [PATCH v3 4/8] dt-bindings: PCI: qcom-ep: consolidate DMA vs non-DMA usecases Dmitry Baryshkov
  2025-02-22 10:40   ` Krzysztof Kozlowski
@ 2025-02-22 16:47   ` Manivannan Sadhasivam
  1 sibling, 0 replies; 27+ messages in thread
From: Manivannan Sadhasivam @ 2025-02-22 16:47 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	Krzysztof Kozlowski, linux-arm-msm, linux-pci, devicetree,
	linux-kernel

On Fri, Feb 21, 2025 at 05:52:02PM +0200, Dmitry Baryshkov wrote:
> On Qualcomm platforms here are two major kinds of PCIe EP controllers:
> ones which use eDMA and IOMMU and the ones which do not (like SDX55 /
> SDX65). It doesn't make sense to c&p similar properties all over the
> place. Merge these two usecases into a single conditional clause.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

- Mani

> ---
>  .../devicetree/bindings/pci/qcom,pcie-ep.yaml      | 68 +++++++++++-----------
>  1 file changed, 35 insertions(+), 33 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> index d22022ff2760c5aa84d31e3c719dd4b63adbb4cf..2c1918ca30dcfa8decea684ff6bfe11c602bbc7e 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
> @@ -131,6 +131,7 @@ required:
>  
>  allOf:
>    - $ref: pci-ep.yaml#
> +
>    - if:
>        properties:
>          compatible:
> @@ -140,9 +141,43 @@ allOf:
>      then:
>        properties:
>          reg:
> +          minItems: 6
>            maxItems: 6
>          reg-names:
> +          minItems: 6
>            maxItems: 6
> +        interrupts:
> +          minItems: 2
> +          maxItems: 2
> +        interrupt-names:
> +          minItems: 2
> +          maxItems: 2
> +        iommus: false
> +    else:
> +      properties:
> +        reg:
> +          minItems: 7
> +          maxItems: 7
> +        reg-names:
> +          minItems: 7
> +          maxItems: 7
> +        interrupts:
> +          minItems: 3
> +          maxItems: 3
> +        interrupt-names:
> +          minItems: 3
> +          maxItems: 3
> +      required:
> +        - iommus
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sdx55-pcie-ep
> +    then:
> +      properties:
>          clocks:
>            items:
>              - description: PCIe Auxiliary clock
> @@ -161,11 +196,6 @@ allOf:
>              - const: slave_q2a
>              - const: sleep
>              - const: ref
> -        interrupts:
> -          maxItems: 2
> -        interrupt-names:
> -          maxItems: 2
> -        iommus: false
>  
>    - if:
>        properties:
> @@ -175,12 +205,6 @@ allOf:
>                - qcom,sm8450-pcie-ep
>      then:
>        properties:
> -        reg:
> -          minItems: 7
> -          maxItems: 7
> -        reg-names:
> -          minItems: 7
> -          maxItems: 7
>          clocks:
>            items:
>              - description: PCIe Auxiliary clock
> @@ -201,14 +225,6 @@ allOf:
>              - const: ref
>              - const: ddrss_sf_tbu
>              - const: aggre_noc_axi
> -        interrupts:
> -          minItems: 3
> -          maxItems: 3
> -        interrupt-names:
> -          minItems: 3
> -          maxItems: 3
> -      required:
> -        - iommus
>  
>    - if:
>        properties:
> @@ -218,12 +234,6 @@ allOf:
>                - qcom,sa8775p-pcie-ep
>      then:
>        properties:
> -        reg:
> -          minItems: 7
> -          maxItems: 7
> -        reg-names:
> -          minItems: 7
> -          maxItems: 7
>          clocks:
>            items:
>              - description: PCIe Auxiliary clock
> @@ -238,14 +248,6 @@ allOf:
>              - const: bus_master
>              - const: bus_slave
>              - const: slave_q2a
> -        interrupts:
> -          minItems: 3
> -          maxItems: 3
> -        interrupt-names:
> -          minItems: 3
> -          maxItems: 3
> -      required:
> -        - iommus
>  
>  unevaluatedProperties: false
>  
> 
> -- 
> 2.39.5
> 

-- 
மணிவண்ணன் சதாசிவம்

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

* Re: [PATCH v3 6/8] PCI: dwc: pcie-qcom-ep: enable EP support for SAR2130P
  2025-02-21 15:52 ` [PATCH v3 6/8] PCI: dwc: pcie-qcom-ep: enable EP support for SAR2130P Dmitry Baryshkov
@ 2025-02-22 16:50   ` Manivannan Sadhasivam
  2025-02-22 18:06     ` Dmitry Baryshkov
  0 siblings, 1 reply; 27+ messages in thread
From: Manivannan Sadhasivam @ 2025-02-22 16:50 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	Krzysztof Kozlowski, linux-arm-msm, linux-pci, devicetree,
	linux-kernel

On Fri, Feb 21, 2025 at 05:52:04PM +0200, Dmitry Baryshkov wrote:
> Enable PCIe endpoint support for the Qualcomm SAR2130P platform. It is
> impossible to use fallback compatible to any other platform since
> SAR2130P uses slightly different set of clocks.
> 

Still, why do you want the compatible to be added to the driver? It shall be
defined in the binding with the respective clock difference. Driver should just
work with the fallback compatible.

- Mani

-- 
மணிவண்ணன் சதாசிவம்

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

* Re: [PATCH v3 7/8] arm64: dts: qcom: sar2130p: add PCIe EP device nodes
  2025-02-21 15:52 ` [PATCH v3 7/8] arm64: dts: qcom: sar2130p: add PCIe EP device nodes Dmitry Baryshkov
  2025-02-21 18:59   ` Konrad Dybcio
@ 2025-02-22 16:51   ` Manivannan Sadhasivam
  1 sibling, 0 replies; 27+ messages in thread
From: Manivannan Sadhasivam @ 2025-02-22 16:51 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	Krzysztof Kozlowski, linux-arm-msm, linux-pci, devicetree,
	linux-kernel

On Fri, Feb 21, 2025 at 05:52:05PM +0200, Dmitry Baryshkov wrote:
> On the Qualcomm AR2 Gen1 platform the second PCIe host can be used
> either as an RC or as an EP device. Add device node for the PCIe EP.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

- Mani

> ---
>  arch/arm64/boot/dts/qcom/sar2130p.dtsi | 61 ++++++++++++++++++++++++++++++++++
>  1 file changed, 61 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sar2130p.dtsi b/arch/arm64/boot/dts/qcom/sar2130p.dtsi
> index dd832e6816be85817fd1ecc853f8d4c800826bc4..b45e9e2ae0357bd0c7d719eaf4fc1faa1cf913f2 100644
> --- a/arch/arm64/boot/dts/qcom/sar2130p.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sar2130p.dtsi
> @@ -1474,6 +1474,67 @@ pcie@0 {
>  			};
>  		};
>  
> +		pcie1_ep: pcie-ep@1c08000 {
> +			compatible = "qcom,sar2130p-pcie-ep";
> +			reg = <0x0 0x01c08000 0x0 0x3000>,
> +			      <0x0 0x40000000 0x0 0xf1d>,
> +			      <0x0 0x40000f20 0x0 0xa8>,
> +			      <0x0 0x40001000 0x0 0x1000>,
> +			      <0x0 0x40200000 0x0 0x1000000>,
> +			      <0x0 0x01c0b000 0x0 0x1000>,
> +			      <0x0 0x40002000 0x0 0x2000>;
> +			reg-names = "parf",
> +				    "dbi",
> +				    "elbi",
> +				    "atu",
> +				    "addr_space",
> +				    "mmio",
> +				    "dma";
> +
> +			clocks = <&gcc GCC_PCIE_1_AUX_CLK>,
> +				 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
> +				 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
> +				 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
> +				 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
> +				 <&gcc GCC_DDRSS_PCIE_SF_CLK>,
> +				 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>,
> +				 <&gcc GCC_CFG_NOC_PCIE_ANOC_AHB_CLK>,
> +				 <&gcc GCC_QMIP_PCIE_AHB_CLK>;
> +			clock-names = "aux",
> +				      "cfg",
> +				      "bus_master",
> +				      "bus_slave",
> +				      "slave_q2a",
> +				      "ddrss_sf_tbu",
> +				      "aggre_noc_axi",
> +				      "cnoc_sf_axi",
> +				      "qmip_pcie_ahb";
> +
> +			interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "global",
> +					  "doorbell",
> +					  "dma";
> +
> +			interconnects = <&pcie_noc MASTER_PCIE_1 QCOM_ICC_TAG_ALWAYS
> +					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> +					<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
> +					 &config_noc SLAVE_PCIE_1 QCOM_ICC_TAG_ACTIVE_ONLY>;
> +			interconnect-names = "pcie-mem",
> +					     "cpu-pcie";
> +			iommus = <&apps_smmu 0x1e00 0x1>;
> +			resets = <&gcc GCC_PCIE_1_BCR>;
> +			reset-names = "core";
> +			power-domains = <&gcc PCIE_1_GDSC>;
> +			phys = <&pcie1_phy>;
> +			phy-names = "pciephy";
> +
> +			num-lanes = <2>;
> +
> +			status = "disabled";
> +		};
> +
>  		pcie1_phy: phy@1c0e000 {
>  			compatible = "qcom,sar2130p-qmp-gen3x2-pcie-phy";
>  			reg = <0x0 0x01c0e000 0x0 0x2000>;
> 
> -- 
> 2.39.5
> 

-- 
மணிவண்ணன் சதாசிவம்

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

* Re: [PATCH v3 8/8] arm64: dts: qcom: sm8450: add PCIe EP device nodes
  2025-02-21 15:52 ` [PATCH v3 8/8] arm64: dts: qcom: sm8450: " Dmitry Baryshkov
@ 2025-02-22 16:53   ` Manivannan Sadhasivam
  0 siblings, 0 replies; 27+ messages in thread
From: Manivannan Sadhasivam @ 2025-02-22 16:53 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	Krzysztof Kozlowski, linux-arm-msm, linux-pci, devicetree,
	linux-kernel

On Fri, Feb 21, 2025 at 05:52:06PM +0200, Dmitry Baryshkov wrote:
> On the Qualcomm SM8450 platform the second PCIe host can be used
> either as an RC or as an EP device. Add device node for the PCIe EP.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

- Mani

> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 62 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 62 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> index 9c809fc5fa45a98ff5441a0b6809931588897243..3783930d63a73158addc44d00d9da2efa0986a25 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> @@ -2262,6 +2262,68 @@ pcie@0 {
>  			};
>  		};
>  
> +		pcie1_ep: pcie-ep@1c08000 {
> +			compatible = "qcom,sm8450-pcie-ep";
> +			reg = <0x0 0x01c08000 0x0 0x3000>,
> +			      <0x0 0x40000000 0x0 0xf1d>,
> +			      <0x0 0x40000f20 0x0 0xa8>,
> +			      <0x0 0x40001000 0x0 0x1000>,
> +			      <0x0 0x40200000 0x0 0x1000000>,
> +			      <0x0 0x01c0b000 0x0 0x1000>,
> +			      <0x0 0x40002000 0x0 0x1000>;
> +			reg-names = "parf",
> +				    "dbi",
> +				    "elbi",
> +				    "atu",
> +				    "addr_space",
> +				    "mmio",
> +				    "dma";
> +
> +			clocks = <&gcc GCC_PCIE_1_AUX_CLK>,
> +				 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
> +				 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
> +				 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
> +				 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
> +				 <&rpmhcc RPMH_CXO_CLK>,
> +				 <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
> +				 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
> +			clock-names = "aux",
> +				      "cfg",
> +				      "bus_master",
> +				      "bus_slave",
> +				      "slave_q2a",
> +				      "ref",
> +				      "ddrss_sf_tbu",
> +				      "aggre_noc_axi";
> +
> +			interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "global",
> +					  "doorbell",
> +					  "dma";
> +
> +			interconnects = <&pcie_noc MASTER_PCIE_1 QCOM_ICC_TAG_ALWAYS
> +					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> +					<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
> +					 &config_noc SLAVE_PCIE_1 QCOM_ICC_TAG_ACTIVE_ONLY>;
> +			interconnect-names = "pcie-mem",
> +					     "cpu-pcie";
> +
> +			iommus = <&apps_smmu 0x1c80 0x7f>;
> +			resets = <&gcc GCC_PCIE_1_BCR>;
> +			reset-names = "core";
> +			power-domains = <&gcc PCIE_1_GDSC>;
> +			phys = <&pcie1_phy>;
> +			phy-names = "pciephy";
> +			num-lanes = <2>;
> +
> +			pinctrl-names = "default";
> +			pinctrl-0 = <&pcie1_default_state>;
> +
> +			status = "disabled";
> +		};
> +
>  		pcie1_phy: phy@1c0e000 {
>  			compatible = "qcom,sm8450-qmp-gen4x2-pcie-phy";
>  			reg = <0 0x01c0e000 0 0x2000>;
> 
> -- 
> 2.39.5
> 

-- 
மணிவண்ணன் சதாசிவம்

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

* Re: [PATCH v3 6/8] PCI: dwc: pcie-qcom-ep: enable EP support for SAR2130P
  2025-02-22 16:50   ` Manivannan Sadhasivam
@ 2025-02-22 18:06     ` Dmitry Baryshkov
  2025-02-23  8:48       ` Manivannan Sadhasivam
  0 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-22 18:06 UTC (permalink / raw)
  To: Manivannan Sadhasivam
  Cc: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	Krzysztof Kozlowski, linux-arm-msm, linux-pci, devicetree,
	linux-kernel

On 22 February 2025 18:50:38 EET, Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> wrote:
>On Fri, Feb 21, 2025 at 05:52:04PM +0200, Dmitry Baryshkov wrote:
>> Enable PCIe endpoint support for the Qualcomm SAR2130P platform. It is
>> impossible to use fallback compatible to any other platform since
>> SAR2130P uses slightly different set of clocks.
>> 
>
>Still, why do you want the compatible to be added to the driver? It shall be
>defined in the binding with the respective clock difference. Driver should just
>work with the fallback compatible.

Well, per my understanding (or according  to my feeling) different set of clocks means that they are not completely compatible. An Ack from DT maintainers supports this.

Moreover, if we were to declare fallback, which one would you prefer?


>
>- Mani
>


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

* Re: [PATCH v3 6/8] PCI: dwc: pcie-qcom-ep: enable EP support for SAR2130P
  2025-02-22 18:06     ` Dmitry Baryshkov
@ 2025-02-23  8:48       ` Manivannan Sadhasivam
  0 siblings, 0 replies; 27+ messages in thread
From: Manivannan Sadhasivam @ 2025-02-23  8:48 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Wilczyński,
	Krzysztof Kozlowski, linux-arm-msm, linux-pci, devicetree,
	linux-kernel

On Sat, Feb 22, 2025 at 08:06:02PM +0200, Dmitry Baryshkov wrote:
> On 22 February 2025 18:50:38 EET, Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> wrote:
> >On Fri, Feb 21, 2025 at 05:52:04PM +0200, Dmitry Baryshkov wrote:
> >> Enable PCIe endpoint support for the Qualcomm SAR2130P platform. It is
> >> impossible to use fallback compatible to any other platform since
> >> SAR2130P uses slightly different set of clocks.
> >> 
> >
> >Still, why do you want the compatible to be added to the driver? It shall be
> >defined in the binding with the respective clock difference. Driver should just
> >work with the fallback compatible.
> 
> Well, per my understanding (or according  to my feeling) different set of clocks means that they are not completely compatible. An Ack from DT maintainers supports this.
> 

Hmm. Thinking more, I tend to agree. Let's be as it is.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

- Mani

-- 
மணிவண்ணன் சதாசிவம்

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

* Re: [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450
  2025-02-22 14:36 ` [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Krzysztof Wilczyński
@ 2025-02-24 18:36   ` Krzysztof Wilczyński
  2025-02-25  3:19     ` Dmitry Baryshkov
  0 siblings, 1 reply; 27+ messages in thread
From: Krzysztof Wilczyński @ 2025-02-24 18:36 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Kozlowski,
	linux-arm-msm, linux-pci, devicetree, linux-kernel

> > Update the incomplete SM8450 support and bring in SAR2130P support for
> > the PCIe1 controller to be used in EP mode.
> 
> Applied to controller/qcom, thank you!

I updated the branch with "Reviewed-by" tags from Mani.

	Krzysztof

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

* Re: [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450
  2025-02-24 18:36   ` Krzysztof Wilczyński
@ 2025-02-25  3:19     ` Dmitry Baryshkov
  0 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2025-02-25  3:19 UTC (permalink / raw)
  To: Krzysztof Wilczyński
  Cc: Manivannan Sadhasivam, Lorenzo Pieralisi, Rob Herring,
	Bjorn Helgaas, Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar,
	Bjorn Andersson, Konrad Dybcio, Krzysztof Kozlowski,
	linux-arm-msm, linux-pci, devicetree, linux-kernel

On Tue, Feb 25, 2025 at 03:36:20AM +0900, Krzysztof Wilczyński wrote:
> > > Update the incomplete SM8450 support and bring in SAR2130P support for
> > > the PCIe1 controller to be used in EP mode.
> > 
> > Applied to controller/qcom, thank you!
> 
> I updated the branch with "Reviewed-by" tags from Mani.

Thanks!

-- 
With best wishes
Dmitry

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

* Re: (subset) [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450
  2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
                   ` (8 preceding siblings ...)
  2025-02-22 14:36 ` [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Krzysztof Wilczyński
@ 2025-03-14 20:00 ` Bjorn Andersson
  9 siblings, 0 replies; 27+ messages in thread
From: Bjorn Andersson @ 2025-03-14 20:00 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Lorenzo Pieralisi,
	Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas,
	Krzysztof Kozlowski, Conor Dooley, Mrinmay Sarkar, Konrad Dybcio,
	Dmitry Baryshkov
  Cc: Krzysztof Wilczyński, Krzysztof Kozlowski, linux-arm-msm,
	linux-pci, devicetree, linux-kernel


On Fri, 21 Feb 2025 17:51:58 +0200, Dmitry Baryshkov wrote:
> Update the incomplete SM8450 support and bring in SAR2130P support for
> the PCIe1 controller to be used in EP mode.
> 
> 

Applied, thanks!

[7/8] arm64: dts: qcom: sar2130p: add PCIe EP device nodes
      commit: 84247db00a5c4f9b6fbf23cc46979508ddd8d855
[8/8] arm64: dts: qcom: sm8450: add PCIe EP device nodes
      commit: bffe01a9b4bbccd07a1fe2bd78c3795004b56645

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

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

end of thread, other threads:[~2025-03-14 20:01 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-21 15:51 [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Dmitry Baryshkov
2025-02-21 15:51 ` [PATCH v3 1/8] dt-bindings: PCI: qcom-ep: describe optional dma-coherent property Dmitry Baryshkov
2025-02-22 10:31   ` Krzysztof Kozlowski
2025-02-22 16:45   ` Manivannan Sadhasivam
2025-02-21 15:52 ` [PATCH v3 2/8] dt-bindings: PCI: qcom-ep: describe optional IOMMU Dmitry Baryshkov
2025-02-22 10:32   ` Krzysztof Kozlowski
2025-02-22 16:45   ` Manivannan Sadhasivam
2025-02-21 15:52 ` [PATCH v3 3/8] dt-bindings: PCI: qcom-ep: enable DMA for SM8450 Dmitry Baryshkov
2025-02-22 10:32   ` Krzysztof Kozlowski
2025-02-21 15:52 ` [PATCH v3 4/8] dt-bindings: PCI: qcom-ep: consolidate DMA vs non-DMA usecases Dmitry Baryshkov
2025-02-22 10:40   ` Krzysztof Kozlowski
2025-02-22 16:47   ` Manivannan Sadhasivam
2025-02-21 15:52 ` [PATCH v3 5/8] dt-bindings: PCI: qcom-ep: add SAR2130P compatible Dmitry Baryshkov
2025-02-22 10:41   ` Krzysztof Kozlowski
2025-02-21 15:52 ` [PATCH v3 6/8] PCI: dwc: pcie-qcom-ep: enable EP support for SAR2130P Dmitry Baryshkov
2025-02-22 16:50   ` Manivannan Sadhasivam
2025-02-22 18:06     ` Dmitry Baryshkov
2025-02-23  8:48       ` Manivannan Sadhasivam
2025-02-21 15:52 ` [PATCH v3 7/8] arm64: dts: qcom: sar2130p: add PCIe EP device nodes Dmitry Baryshkov
2025-02-21 18:59   ` Konrad Dybcio
2025-02-22 16:51   ` Manivannan Sadhasivam
2025-02-21 15:52 ` [PATCH v3 8/8] arm64: dts: qcom: sm8450: " Dmitry Baryshkov
2025-02-22 16:53   ` Manivannan Sadhasivam
2025-02-22 14:36 ` [PATCH v3 0/8] PCI: qcom-ep: add support for using the EP on SAR2130P and SM8450 Krzysztof Wilczyński
2025-02-24 18:36   ` Krzysztof Wilczyński
2025-02-25  3:19     ` Dmitry Baryshkov
2025-03-14 20:00 ` (subset) " Bjorn Andersson

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).