[PATCH v3 0/5] Introduce "non-pixel" sub node within iris video node

Vikash Garodia
2025-06-27T15:48:27Z

This series introduces a sub node "non-pixel" within iris video node.
Video driver registers this sub node as a platform device and configure
it for DMA operations. All non pixel buffers, i.e bitstream, HFI queues
and internal buffers related to bitstream processing, would be managed
by this non_pixel device.

Purpose to add this sub-node:
Iris device limits the IOVA to an addressable range of 4GiB, and even
within that range, some of the space is used by IO registers, thereby
limiting the available IOVA to even lesser. For certain video usecase,
this limited range in not sufficient enough, hence it brings the need to
extend the possibility of higher IOVA range.

Video hardware is designed to emit different stream-ID for pixel and
non-pixel buffers, thereby introduce a non-pixel sub node to handle
non-pixel stream-ID into a separate platform device.
With this, both iris and non-pixel device can have IOVA range of
approximately 0-4GiB individually for each device, thereby doubling the
range of addressable IOVA.

Tested on SM8550 and SA8775p hardwares.

Signed-off-by: Vikash Garodia <quic_vgarodia@quicinc.com>
---
Changes in v3:
- Add info about change in iommus binding (Thanks Krzysztof)
- Link to v2: https://lore.kernel.org/r/20250627-video_cb-v2-0-3931c3f49361@quicinc.com

Changes in v2:
- Add ref to reserve-memory schema and drop it from redefining it in
iris schema (Thanks Krzysztof)
- Drop underscores and add info about non pixel buffers (Thanks Dmitry)
- Link to v1: https://lore.kernel.org/r/20250620-video_cb-v1-0-9bcac1c8800c@quicinc.com

---
Vikash Garodia (5):
media: dt-bindings: add non-pixel property in iris schema
media: iris: register and configure non-pixel node as platform device
media: iris: use np_dev as preferred DMA device in HFI queue management
media: iris: select appropriate DMA device for internal buffers
media: iris: configure DMA device for vb2 queue on OUTPUT plane

.../bindings/media/qcom,sm8550-iris.yaml | 40 ++++++++++++++++-
drivers/media/platform/qcom/iris/iris_buffer.c | 15 ++++++-
drivers/media/platform/qcom/iris/iris_core.h | 2 +
drivers/media/platform/qcom/iris/iris_hfi_queue.c | 20 ++++++---
drivers/media/platform/qcom/iris/iris_probe.c | 50 +++++++++++++++++++++-
drivers/media/platform/qcom/iris/iris_vb2.c | 4 ++
6 files changed, 119 insertions(+), 12 deletions(-)
---
base-commit: 8d2b7fde56597ca912f5daaf3ab58915458ba1fc
change-id: 20250619-video_cb-ea872d6e6627

Best regards,
--
Vikash Garodia <quic_vgarodia@quicinc.com>