[PATCH 0/4] Support partitioned Host1x

From: Mikko Perttunen

Date: Mon Jun 22 2026 - 04:27:44 EST


The resources (channels, syncpoints) provided by Host1x can be split
into multiple independent partitions similar to e.g. PCIe VFs, which can
be assigned to virtual machines, non-CPU embedded controllers, or other
bus masters.

Each partition has its own MMIO register region and interrupts through
which the set of channels and syncpoints assigned to it can be accessed.
This set is configured via the hypervisor MMIO region earlier during
boot.

This series adds device tree bindings and support in the driver to
function when Host1x has been partitioned in this way, by making the
driver work without access to the hypervisor region and with a limited
set of channels and syncpoints.

Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx>
---
Mikko Perttunen (4):
dt-bindings: display: tegra: Make non-vm registers optional
dt-bindings: display: tegra: Add channel/syncpoint range properties
gpu: host1x: Support running without hv/common registers
gpu: host1x: Allow limiting usable channel and syncpoint ranges

.../display/tegra/nvidia,tegra20-host1x.yaml | 52 ++++++++++++++++------
drivers/gpu/host1x/channel.c | 6 +--
drivers/gpu/host1x/dev.c | 52 +++++++++++++++++++---
drivers/gpu/host1x/dev.h | 3 ++
drivers/gpu/host1x/hw/cdma_hw.c | 3 ++
drivers/gpu/host1x/hw/debug_hw_1x06.c | 3 ++
drivers/gpu/host1x/syncpt.c | 21 +++++----
7 files changed, 110 insertions(+), 30 deletions(-)
---
base-commit: 4549871118cf616eecdd2d939f78e3b9e1dddc48
change-id: 20250919-host1x-nohv-071ed7c6ac4f