diff mbox series

[1/2] ASoC: dt-bindings: fsl-sai: Simplify the VFxxx dmas binding

Message ID 20230105144145.165010-1-marex@denx.de
State Accepted
Commit 21d64f6f63eeca9f136ac514ca801a5a6485cd78
Headers show
Series [1/2] ASoC: dt-bindings: fsl-sai: Simplify the VFxxx dmas binding | expand

Commit Message

Marek Vasut Jan. 5, 2023, 2:41 p.m. UTC
Get rid of the vf610 sai special case, instead update the vfxxx.dtsi
DT to use the same DMA channel ordering as all the other devices. The
sai DMA channel ordering has not been aligned with other IP DMA channel
ordering in the vfxxx.dtsi anyway.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Adam Ford <aford173@gmail.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Joakim Zhang <qiangqing.zhang@nxp.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Mark Brown <broonie@kernel.org>
Cc: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Shengjiu Wang <shengjiu.wang@nxp.com>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: alsa-devel@alsa-project.org
Cc: devicetree@vger.kernel.org
To: linux-arm-kernel@lists.infradead.org
---
 .../devicetree/bindings/sound/fsl,sai.yaml    | 38 ++++---------------
 1 file changed, 8 insertions(+), 30 deletions(-)

Comments

Krzysztof Kozlowski Jan. 6, 2023, 9:16 a.m. UTC | #1
On 05/01/2023 15:41, Marek Vasut wrote:
> Get rid of the vf610 sai special case, instead update the vfxxx.dtsi
> DT to use the same DMA channel ordering as all the other devices. The
> sai DMA channel ordering has not been aligned with other IP DMA channel
> ordering in the vfxxx.dtsi anyway.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---

Assuming that Linux implementation does not care about the order of
these (and takes by name):

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

Although other users might not be happy about change of order...

Best regards,
Krzysztof
Lucas Stach Jan. 6, 2023, 9:18 a.m. UTC | #2
Am Donnerstag, dem 05.01.2023 um 15:41 +0100 schrieb Marek Vasut:
> Swap the SAI dmas and dma-names to match the order documented in
> Documentation/devicetree/bindings/sound/fsl,sai.yaml
> No functional change.
> 
While I'm not opposing this patch, I find this class of changes a bit
odd. The *-names properties are there so the properties they are naming
can be in any order in the DT without impacting the lookup. Enforcing a
fixed order for named properties just feels odd.

Not sure if the schema validation could take this into account or if
there is any policy in place already by the DT maintainer that we still
want to enforce the same order in the DTs as in the bindings.

Regards,
Lucas

> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Adam Ford <aford173@gmail.com>
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Joakim Zhang <qiangqing.zhang@nxp.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Markus Niebel <Markus.Niebel@ew.tq-group.com>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Richard Cochran <richardcochran@gmail.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Shengjiu Wang <shengjiu.wang@nxp.com>
> Cc: Stefan Agner <stefan@agner.ch>
> Cc: Tim Harvey <tharvey@gateworks.com>
> Cc: alsa-devel@alsa-project.org
> Cc: devicetree@vger.kernel.org
> To: linux-arm-kernel@lists.infradead.org
> ---
>  arch/arm/boot/dts/vfxxx.dtsi | 20 ++++++++------------
>  1 file changed, 8 insertions(+), 12 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/vfxxx.dtsi b/arch/arm/boot/dts/vfxxx.dtsi
> index d53f9c9db8bfd..ff4479994b600 100644
> --- a/arch/arm/boot/dts/vfxxx.dtsi
> +++ b/arch/arm/boot/dts/vfxxx.dtsi
> @@ -191,9 +191,8 @@ sai0: sai@4002f000 {
>  					<&clks VF610_CLK_SAI0_DIV>,
>  					<&clks 0>, <&clks 0>;
>  				clock-names = "bus", "mclk1", "mclk2", "mclk3";
> -				dma-names = "tx", "rx";
> -				dmas = <&edma0 0 17>,
> -					<&edma0 0 16>;
> +				dma-names = "rx", "tx";
> +				dmas = <&edma0 0 16>, <&edma0 0 17>;
>  				status = "disabled";
>  			};
>  
> @@ -205,9 +204,8 @@ sai1: sai@40030000 {
>  					<&clks VF610_CLK_SAI1_DIV>,
>  					<&clks 0>, <&clks 0>;
>  				clock-names = "bus", "mclk1", "mclk2", "mclk3";
> -				dma-names = "tx", "rx";
> -				dmas = <&edma0 0 19>,
> -					<&edma0 0 18>;
> +				dma-names = "rx", "tx";
> +				dmas = <&edma0 0 18>, <&edma0 0 19>;
>  				status = "disabled";
>  			};
>  
> @@ -219,9 +217,8 @@ sai2: sai@40031000 {
>  					<&clks VF610_CLK_SAI2_DIV>,
>  					<&clks 0>, <&clks 0>;
>  				clock-names = "bus", "mclk1", "mclk2", "mclk3";
> -				dma-names = "tx", "rx";
> -				dmas = <&edma0 0 21>,
> -					<&edma0 0 20>;
> +				dma-names = "rx", "tx";
> +				dmas = <&edma0 0 20>, <&edma0 0 21>;
>  				status = "disabled";
>  			};
>  
> @@ -233,9 +230,8 @@ sai3: sai@40032000 {
>  					<&clks VF610_CLK_SAI3_DIV>,
>  					<&clks 0>, <&clks 0>;
>  				clock-names = "bus", "mclk1", "mclk2", "mclk3";
> -				dma-names = "tx", "rx";
> -				dmas = <&edma0 1 9>,
> -					<&edma0 1 8>;
> +				dma-names = "rx", "tx";
> +				dmas = <&edma0 1 8>, <&edma0 1 9>;
>  				status = "disabled";
>  			};
>
Krzysztof Kozlowski Jan. 6, 2023, 9:24 a.m. UTC | #3
On 06/01/2023 10:18, Lucas Stach wrote:
> Am Donnerstag, dem 05.01.2023 um 15:41 +0100 schrieb Marek Vasut:
>> Swap the SAI dmas and dma-names to match the order documented in
>> Documentation/devicetree/bindings/sound/fsl,sai.yaml
>> No functional change.
>>
> While I'm not opposing this patch, I find this class of changes a bit
> odd. The *-names properties are there so the properties they are naming
> can be in any order in the DT without impacting the lookup. Enforcing a
> fixed order for named properties just feels odd.

DT requires fixed order regardless of '-names' property. '-names' are
not there to fulfill "can be in any order", but merely a helper.

> 
> Not sure if the schema validation could take this into account or if
> there is any policy in place already by the DT maintainer that we still
> want to enforce the same order in the DTs as in the bindings.

The order in DTS must obviously match bindings, however here both are
changed, so what is exactly your concern?


Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/fsl,sai.yaml b/Documentation/devicetree/bindings/sound/fsl,sai.yaml
index 7e56337d8edc1..088c26b001cc0 100644
--- a/Documentation/devicetree/bindings/sound/fsl,sai.yaml
+++ b/Documentation/devicetree/bindings/sound/fsl,sai.yaml
@@ -76,10 +76,14 @@  properties:
         minItems: 4
 
   dmas:
-    maxItems: 2
+    items:
+      - description: DMA controller phandle and request line for RX
+      - description: DMA controller phandle and request line for TX
 
   dma-names:
-    maxItems: 2
+    items:
+      - const: rx
+      - const: tx
 
   interrupts:
     items:
@@ -142,31 +146,6 @@  properties:
 
 allOf:
   - $ref: dai-common.yaml#
-  - if:
-      properties:
-        compatible:
-          contains:
-            const: fsl,vf610-sai
-    then:
-      properties:
-        dmas:
-          items:
-            - description: DMA controller phandle and request line for TX
-            - description: DMA controller phandle and request line for RX
-        dma-names:
-          items:
-            - const: tx
-            - const: rx
-    else:
-      properties:
-        dmas:
-          items:
-            - description: DMA controller phandle and request line for RX
-            - description: DMA controller phandle and request line for TX
-        dma-names:
-          items:
-            - const: rx
-            - const: tx
   - if:
       required:
         - fsl,sai-asynchronous
@@ -199,9 +178,8 @@  examples:
                  <&clks VF610_CLK_SAI2>,
                  <&clks 0>, <&clks 0>;
         clock-names = "bus", "mclk1", "mclk2", "mclk3";
-        dma-names = "tx", "rx";
-        dmas = <&edma0 0 21>,
-               <&edma0 0 20>;
+        dma-names = "rx", "tx";
+        dmas = <&edma0 0 20>, <&edma0 0 21>;
         big-endian;
         lsb-first;
     };