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

Dmitry Baryshkov <[email protected]> Thu, 6 Aug 2026 13:38:23 +0300
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 <uk7doek3x7km365i2nbu6yr672ywrwqm5czggugji6fudwmgt7@skaynqddkoqc>
On Thu, Aug 06, 2026 at 03:22:26PM +0530, Vikash Garodia wrote:
> 
> 
> On 8/6/2026 2:19 PM, Dmitry Baryshkov wrote:
> > On Fri, Jul 31, 2026 at 11:52:16PM +0530, Vikash Garodia wrote:
> > > The VPU issues DMA through several SMMU streams, and the hardware does
> > > not give every stream the same addressable range. The non-pixel stream
> > > is restricted to use 0-600MB of IOVA space, while the pixel stream can
> > > address the full range:
> > >      +-----------------------------------------------------------+
> > >      | non-pixel stream addressable range (600 MB - 3.5 GB)      |
> > >      | 0x25800000 - 0xe0000000                                   |
> > >      +-----------------------------------------------------------+
> > >      | pixel stream addressable range (0 - 3.5 GB)               |
> > >      | 0x00000000 - 0xe0000000                                   |
> > >      +-----------------------------------------------------------+
> > > A single "iommus" property on the video-codec node puts every stream in
> > > one IOMMU domain sharing one IOVA allocator, so nothing keeps a
> > > non-pixel buffer inside the low 600 MB. Once an allocation lands below
> > > that boundary the hardware faults, which shows up as unhandled SMMU page
> > > faults and spontaneous reboots:
> > > https://gitlab.freedesktop.org/drm/msm/-/work_items/100
> > > 
> > > +  dma-ranges: true
> > > +
> > > +  '#address-cells':
> > > +    const: 2
> > > +
> > > +  '#size-cells':
> > > +    const: 2
> > 
> > This would conflict with the 32-bit addressed Venus nodes (and it will
> > also break examples). So both should be just 'true'
> 
> With "true", i see following comment from sashiko (when ran locally)
> 
> Without a const constraint, a device tree could specify #address-cells = <1>
> or a non-empty dma-ranges, and it would silently pass schema validation. The
> DT bindings guidelines also recommend that cell-count properties have a
> const constraint matching the hardware.

We have 32-bit hardware. Also, as you've seen, having only const:2 here
breaks DT examples.

-- 
With best wishes
Dmitry