Re: [PATCH v2 01/12] dt-bindings: media: qcom,venus: Add context bank subnodes to common schema
From: Vikash Garodia
Date: Thu Aug 06 2026 - 05:53:56 EST
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.
+oneOf:
+ - required:
+ - iommus
+ - required:
+ - non-pixel
+ - pixel
- #address-cells
- #size-cells
- dma-ranges
+
additionalProperties: true
--
2.34.1