Re: [PATCH v2 01/12] dt-bindings: media: qcom,venus: Add context bank subnodes to common schema

From: Krzysztof Kozlowski

Date: Thu Aug 06 2026 - 05:27:22 EST


On 06/08/2026 11:11, Krzysztof Kozlowski wrote:
> On 06/08/2026 10:46, Dmitry Baryshkov wrote:
>>
>>> dma-ranges tell how this bus - so venus/iris - performs DMA translation
>>> in respective to parent. Address/size-cells are obviously also needed if
>>> this is a bus with addressing.
>>>
>>> But there are no children with addressing, thus what sort of bus would
>>> it be?
>>>
>>> It looks to me that having here both:
>>> 1. dma-ranges + address/size-cells
>>> 2. children without bus addressing
>>> is some sort of abuse of the DT syntax. It is allowed, but does not
>>> really represent hardware.
>>>
>>> IOW, dma-ranges alone feels okay, although unusual, and it states proper
>>> DMA translation for this bus. If you add address/size-cells, it means
>>> this bus HAS addressing and thus YOU MUST use addressing.
>>>
>>> If my understanding is correct, then solution would be to add addressing
>>> to the children (so unit address and "reg" property) or drop
>>> address/size-cells as Rob pointed out. [1]
>>
>> Doesn't dma-ranges require address/size cells? In the end, how can you
>
> I think it does not require, at least how I understood the DT spec,

'dtc' disagrees with me on this matter and treats 'dma-ranges' exactly
the same as 'ranges' property, thus requires address/size cells. So
maybe my below interpretation is not right and the schema is fine... Rob
commented earlier on a case which had address/size-cells but no dma-ranges.

https://lore.kernel.org/all/20260716165434.GA290489-robh@xxxxxxxxxx/

> unless you provide actual addresses to the property.
>
> IOW, this requires address/size-cells:
> dma-ranges = <0 0 0 0 0x10 0>;
>
>> specify the DMA address if the device doesn't have addressing at all (or
>> MMIO-style addressing)?
>
> Yeah, that's why having here children without bus addressing is
> confusing. I would interpret it that, children are not on MMIO bus, thus
> the venus/iris is some sort of proprietary bus with no mapping between
> parent MMIO and children nodes.
>
> If there is no mapping, then we do not have 'ranges' property. But I
> could imagine that such no-mapping bus still provides access to system RAM?
>
> Actually this feels like a huge stretch, so I tend to think that the
> only reasonable option is to have children with MMIO, which would make
> it explicit: Venus/iris is a bus which provides translation of both MMIO
> and DMA addresses to the parent.




Best regards,
Krzysztof