[PATCH v2 2/4] dt-bindings: display/xlnx/zynqmp-dpsub: Add audio DMAs

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Thu Aug 8 05:54:07 PDT 2024


Hi Rob,

On 21/03/2024 07:52, Tomi Valkeinen wrote:
> On 20/03/2024 17:37, Rob Herring wrote:
>> On Tue, Mar 19, 2024 at 10:22:37AM +0200, Tomi Valkeinen wrote:
>>> The DP subsystem for ZynqMP support audio via two channels, and the DP
>>> DMA has dma-engines for those channels. For some reason the DT binding
>>> has not specified those channels, even if the picture included in
>>> xlnx,zynqmp-dpsub.yaml shows "2 x aud" DMAs.
>>
>> New required entries is an ABI change. This message kind of indicates it
>> was a mistake, but should be a lot more explicit. Are things broken
>> without the entries? Need 'Fixes'?
> 
> I'll improve the desc for the next version.
> 
> So, yes, it's an ABI change, and as far as I can guess (I can't figure 
> out any other reason), the audio DMAs were left out by mistake or 
> misunderstanding. The Linux driver has not supported audio, so this has 
> not been an issue and nothing is broken.
> 
> Now that this series adds the audio support, I had to add the audio 
> DMAs. I considered making the DMAs optional in the DT, but that doesn't 
> sound right, even if that would keep the ABI compatibility (wouldn't 
> it?). The driver I add in this series does consider the audio DMAs as 
> optional, though. If they're not present, the driver will continue 
> without audio support.
> 
> So, strictly speaking I think this is a fix to the original commit that 
> adds the DT node, but as the driver using the audio DMAs comes in only 
> now, I think there's no need for the 'Fixes' and backporting.
> 
> I'm happy to change the approach if you think some other way is better.

Do you have any feedback on the above? Should I mark the audio DMAs as 
optional in the binding?

  Tomi

>   Tomi
> 
>>>
>>> Add the two audio DMAs to the binding.
>>>
>>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
>>> ---
>>>   .../devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml    | 10 
>>> ++++++++--
>>>   1 file changed, 8 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/display/xlnx/ 
>>> xlnx,zynqmp-dpsub.yaml b/Documentation/devicetree/bindings/display/ 
>>> xlnx/xlnx,zynqmp-dpsub.yaml
>>> index 554f9d5809d4..6b754d4f260e 100644
>>> --- a/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp- 
>>> dpsub.yaml
>>> +++ b/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp- 
>>> dpsub.yaml
>>> @@ -100,12 +100,16 @@ properties:
>>>         - description: Video layer, plane 1 (U/V or U)
>>>         - description: Video layer, plane 2 (V)
>>>         - description: Graphics layer
>>> +      - description: Audio channel 0
>>> +      - description: Audio channel 1
>>>     dma-names:
>>>       items:
>>>         - const: vid0
>>>         - const: vid1
>>>         - const: vid2
>>>         - const: gfx0
>>> +      - const: aud0
>>> +      - const: aud1
>>>     phys:
>>>       description: PHYs for the DP data lanes
>>> @@ -194,11 +198,13 @@ examples:
>>>           power-domains = <&pd_dp>;
>>>           resets = <&reset ZYNQMP_RESET_DP>;
>>> -        dma-names = "vid0", "vid1", "vid2", "gfx0";
>>> +        dma-names = "vid0", "vid1", "vid2", "gfx0", "aud0", "aud1";
>>>           dmas = <&xlnx_dpdma 0>,
>>>                  <&xlnx_dpdma 1>,
>>>                  <&xlnx_dpdma 2>,
>>> -               <&xlnx_dpdma 3>;
>>> +               <&xlnx_dpdma 3>,
>>> +               <&xlnx_dpdma 4>,
>>> +               <&xlnx_dpdma 5>;
>>>           phys = <&psgtr 1 PHY_TYPE_DP 0 3>,
>>>                  <&psgtr 0 PHY_TYPE_DP 1 3>;
>>>
>>> -- 
>>> 2.34.1
>>>
> 




More information about the linux-arm-kernel mailing list