Index | Thread | Search

From:
Tobias Heider <tobias.heider@stusta.de>
Subject:
smmu: enable smmuv3 in ACPI
To:
tech@openbsd.org
Cc:
patrick@openbsd.org, kettenis@openbsd.org
Date:
Wed, 9 Sep 2026 16:44:20 +0200

Download raw body.

Thread
  • Tobias Heider:

    smmu: enable smmuv3 in ACPI

SMMUv3 is already enabled in by default when booting via dt, this adds the
missing bit to also enable it in ACPI mode.

It is not entirely clear to me if this is disabled intentionally or was
simply forgotten back when we enabled the fdt code path.

Tested on a Qualcomm X2 HP Elitebook booting via ACPI.
I suppose it would be nice if someone could help test it on more arm64
ACPI hardware and Ampere in particular (iirc early versions of the smmu
drivers caused problems on Ampere).

diff /usr/src
path + /usr/src
commit - 3b0fc0544407d328d2ed444734fe0a20422c1db0
blob - 543ccc4a4fc5ea480845641e6e51d16f089f4707
file + sys/arch/arm64/dev/smmu_acpi.c
--- sys/arch/arm64/dev/smmu_acpi.c
+++ sys/arch/arm64/dev/smmu_acpi.c
@@ -66,7 +66,7 @@ smmu_acpi_match(struct device *parent, void *match, vo
 	struct acpiiort_attach_args *aia = aux;
 	struct acpi_iort_node *node = aia->aia_node;
 
-	if (node->type != ACPI_IORT_SMMU)
+	if (node->type != ACPI_IORT_SMMU && node->type != ACPI_IORT_SMMU_V3)
 		return 0;
 
 	return 1;