2023-03-20 07:12:38

by Bhupesh Sharma

[permalink] [raw]
Subject: [PATCH 1/2] dt-bindings: dma: Add support for SM6115 and QCS2290 SoCs

Add new compatible for BAM DMA engine version v1.7.4 which is
found on Qualcomm SM6115 and QCS2290 SoCs.

While at it, also update qcom,bam-dma bindings to add comments
which describe the BAM DMA versions used in SM8150 and SM8250 SoCs.
This provides an easy reference for identifying the actual BAM DMA
version available on Qualcomm SoCs.

Signed-off-by: Bhupesh Sharma <[email protected]>
---
Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
index f1ddcf672261..4c8536df98fe 100644
--- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
+++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
@@ -20,8 +20,10 @@ properties:
- qcom,bam-v1.3.0
# MSM8974, APQ8074 and APQ8084
- qcom,bam-v1.4.0
- # MSM8916 and SDM845
+ # MSM8916, SDM845, SM8150 and SM8250
- qcom,bam-v1.7.0
+ # SM6115 and QRB2290
+ - qcom,bam-v1.7.4

clocks:
maxItems: 1
--
2.38.1



2023-03-20 07:12:43

by Bhupesh Sharma

[permalink] [raw]
Subject: [PATCH 2/2] dmaengine: qcom: bam_dma: Add support for BAM engine v1.7.4

Qualcomm SoCs SM6115 and QRB2290 support BAM engine version
v1.7.4.

Add the support for the same in driver. Since the reg info of
this version is similar to version v1.7.0, so reuse the same.

Signed-off-by: Bhupesh Sharma <[email protected]>
---
drivers/dma/qcom/bam_dma.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c
index 1e47d27e1f81..153d189de7d2 100644
--- a/drivers/dma/qcom/bam_dma.c
+++ b/drivers/dma/qcom/bam_dma.c
@@ -1228,6 +1228,7 @@ static const struct of_device_id bam_of_match[] = {
{ .compatible = "qcom,bam-v1.3.0", .data = &bam_v1_3_reg_info },
{ .compatible = "qcom,bam-v1.4.0", .data = &bam_v1_4_reg_info },
{ .compatible = "qcom,bam-v1.7.0", .data = &bam_v1_7_reg_info },
+ { .compatible = "qcom,bam-v1.7.4", .data = &bam_v1_7_reg_info },
{}
};

--
2.38.1


2023-03-20 10:46:57

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 2/2] dmaengine: qcom: bam_dma: Add support for BAM engine v1.7.4



On 20.03.2023 08:12, Bhupesh Sharma wrote:
> Qualcomm SoCs SM6115 and QRB2290 support BAM engine version
> v1.7.4.
>
> Add the support for the same in driver. Since the reg info of
> this version is similar to version v1.7.0, so reuse the same.
>
> Signed-off-by: Bhupesh Sharma <[email protected]>
> ---
> drivers/dma/qcom/bam_dma.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c
> index 1e47d27e1f81..153d189de7d2 100644
> --- a/drivers/dma/qcom/bam_dma.c
> +++ b/drivers/dma/qcom/bam_dma.c
> @@ -1228,6 +1228,7 @@ static const struct of_device_id bam_of_match[] = {
> { .compatible = "qcom,bam-v1.3.0", .data = &bam_v1_3_reg_info },
> { .compatible = "qcom,bam-v1.4.0", .data = &bam_v1_4_reg_info },
> { .compatible = "qcom,bam-v1.7.0", .data = &bam_v1_7_reg_info },
> + { .compatible = "qcom,bam-v1.7.4", .data = &bam_v1_7_reg_info },
The compatible is meaningless as of today (it uses the exact same driver
data as v1.7.0), so I'd say going with:

compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";

is what we want.

Konrad
> {}
> };
>

2023-03-21 06:35:13

by Bhupesh Sharma

[permalink] [raw]
Subject: Re: [PATCH 2/2] dmaengine: qcom: bam_dma: Add support for BAM engine v1.7.4

On Mon, 20 Mar 2023 at 16:12, Konrad Dybcio <[email protected]> wrote:
>
>
>
> On 20.03.2023 08:12, Bhupesh Sharma wrote:
> > Qualcomm SoCs SM6115 and QRB2290 support BAM engine version
> > v1.7.4.
> >
> > Add the support for the same in driver. Since the reg info of
> > this version is similar to version v1.7.0, so reuse the same.
> >
> > Signed-off-by: Bhupesh Sharma <[email protected]>
> > ---
> > drivers/dma/qcom/bam_dma.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c
> > index 1e47d27e1f81..153d189de7d2 100644
> > --- a/drivers/dma/qcom/bam_dma.c
> > +++ b/drivers/dma/qcom/bam_dma.c
> > @@ -1228,6 +1228,7 @@ static const struct of_device_id bam_of_match[] = {
> > { .compatible = "qcom,bam-v1.3.0", .data = &bam_v1_3_reg_info },
> > { .compatible = "qcom,bam-v1.4.0", .data = &bam_v1_4_reg_info },
> > { .compatible = "qcom,bam-v1.7.0", .data = &bam_v1_7_reg_info },
> > + { .compatible = "qcom,bam-v1.7.4", .data = &bam_v1_7_reg_info },
> The compatible is meaningless as of today (it uses the exact same driver
> data as v1.7.0), so I'd say going with:
>
> compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
>
> is what we want.

Ok, will send a v2.

Thanks.

2023-03-24 12:18:42

by Vladimir Zapolskiy

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: dma: Add support for SM6115 and QCS2290 SoCs

Hi Bhupesh,

On 3/20/23 09:12, Bhupesh Sharma wrote:
> Add new compatible for BAM DMA engine version v1.7.4 which is
> found on Qualcomm SM6115 and QCS2290 SoCs.
>
> While at it, also update qcom,bam-dma bindings to add comments
> which describe the BAM DMA versions used in SM8150 and SM8250 SoCs.
> This provides an easy reference for identifying the actual BAM DMA
> version available on Qualcomm SoCs.
>
> Signed-off-by: Bhupesh Sharma <[email protected]>
> ---
> Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
> index f1ddcf672261..4c8536df98fe 100644
> --- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
> +++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
> @@ -20,8 +20,10 @@ properties:
> - qcom,bam-v1.3.0
> # MSM8974, APQ8074 and APQ8084
> - qcom,bam-v1.4.0
> - # MSM8916 and SDM845
> + # MSM8916, SDM845, SM8150 and SM8250
> - qcom,bam-v1.7.0
> + # SM6115 and QRB2290
> + - qcom,bam-v1.7.4
>
> clocks:
> maxItems: 1

apparently it's a good time to implement a switch in compatible values
similar to the one done for QCE:

https://lore.kernel.org/linux-arm-msm/[email protected]/

If this is done in the nearest time, then new platfrom QCE changes
can be seamlessly added after the next merge window, also the change
in the compatible values model shall resolve multiple technical
concerns including the one above about 1/1 change in the series.

--
Best wishes,
Vladimir

2023-03-28 06:03:25

by Bhupesh Sharma

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: dma: Add support for SM6115 and QCS2290 SoCs

Hi Vladimir,

On Fri, 24 Mar 2023 at 17:38, Vladimir Zapolskiy
<[email protected]> wrote:
>
> Hi Bhupesh,
>
> On 3/20/23 09:12, Bhupesh Sharma wrote:
> > Add new compatible for BAM DMA engine version v1.7.4 which is
> > found on Qualcomm SM6115 and QCS2290 SoCs.
> >
> > While at it, also update qcom,bam-dma bindings to add comments
> > which describe the BAM DMA versions used in SM8150 and SM8250 SoCs.
> > This provides an easy reference for identifying the actual BAM DMA
> > version available on Qualcomm SoCs.
> >
> > Signed-off-by: Bhupesh Sharma <[email protected]>
> > ---
> > Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
> > index f1ddcf672261..4c8536df98fe 100644
> > --- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
> > +++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
> > @@ -20,8 +20,10 @@ properties:
> > - qcom,bam-v1.3.0
> > # MSM8974, APQ8074 and APQ8084
> > - qcom,bam-v1.4.0
> > - # MSM8916 and SDM845
> > + # MSM8916, SDM845, SM8150 and SM8250
> > - qcom,bam-v1.7.0
> > + # SM6115 and QRB2290
> > + - qcom,bam-v1.7.4
> >
> > clocks:
> > maxItems: 1
>
> apparently it's a good time to implement a switch in compatible values
> similar to the one done for QCE:
>
> https://lore.kernel.org/linux-arm-msm/[email protected]/
>
> If this is done in the nearest time, then new platfrom QCE changes
> can be seamlessly added after the next merge window, also the change
> in the compatible values model shall resolve multiple technical
> concerns including the one above about 1/1 change in the series.

That is on my to-do list, but it's not of urgent priority as of now,
as fortunately the BAM DMA versions 1.7.0 and 1.7.4 are very similar
(at least in terms of how the linux driver uses them), so when we have
future use-cases that exploit the differences between the two versions
(or newer versions introduced in SoCs in the meanwhile) in the DMA
driver we can move to the soc-specific compatibles.

Thanks,
Bhupesh