Re: [PATCH v2 01/12] dt-bindings: media: qcom,venus: Add context bank subnodes to common schema
Krzysztof Kozlowski <[email protected]> Thu, 6 Aug 2026 11:11:09 +0200
| Newsgroups | org.kernel.vger.linux-media,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
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, 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