Yes, you are correct. ACPI_DMT_FLAGS1 Will pick up two bits at bit [2:1]
Sorry for the noise,
Bob
-----Original Message-----
From: Zenghui Yu <yuzenghui(a)huawei.com>
Sent: Thursday, February 25, 2021 5:59 PM
To: Moore, Robert <robert.moore(a)intel.com>; devel(a)acpica.org;
linux-acpi(a)vger.kernel.org
Cc: Kaneda, Erik <erik.kaneda(a)intel.com>; robin.murphy(a)arm.com; Wysocki, Rafael J
<rafael.j.wysocki(a)intel.com>; guohanjun(a)huawei.com; wanghaibin.wang(a)huawei.com;
Kunkun Jiang <jiangkunkun(a)huawei.com>
Subject: Re: [PATCH] [ACPICA] IORT: Fix HTTU Override mask for the SMMUv3 subtable
On 2021/2/26 4:45, Moore, Robert wrote:
If the field is two bits, I think the ACPI_DMT_* symbol should be
ACPI_DMT_FLAGS2, not ACPI_DMT_FLAGS1
The SMMUv3 flags is decoded as:
- bit[0] "COHACC Override"
- bit[2:1] "HTTU Override"
- bit[3] "Proximity Domain Valid"
- bit[31:4] "Reserved"
whilst ACPI_DMT_FLAGS2 will extract bit[3:2] for us, right?
-----Original Message-----
From: Zenghui Yu <yuzenghui(a)huawei.com>
Sent: Thursday, February 25, 2021 3:26 AM
To: devel(a)acpica.org; linux-acpi(a)vger.kernel.org
Cc: Moore, Robert <robert.moore(a)intel.com>; Kaneda, Erik
<erik.kaneda(a)intel.com>; robin.murphy(a)arm.com; Wysocki, Rafael J
<rafael.j.wysocki(a)intel.com>; guohanjun(a)huawei.com; wanghaibin.wang(a)huawei.com;
Zenghui Yu <yuzenghui(a)huawei.com>; Kunkun Jiang <jiangkunkun(a)huawei.com>
Subject: [PATCH] [ACPICA] IORT: Fix HTTU Override mask for the SMMUv3 subtable
As per the IORT spec, this field overrides the value in SMMU_IRD0.HTTU which should
always have been 2 bits.
Fixes: 9f7c3e148f44 ("IORT: Add in support for the SMMUv3 subtable")
Reported-by: Kunkun Jiang <jiangkunkun(a)huawei.com>
Signed-off-by: Zenghui Yu <yuzenghui(a)huawei.com>
---
source/common/dmtbinfo2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/common/dmtbinfo2.c b/source/common/dmtbinfo2.c index
17a80ba21..321f106fa 100644
--- a/source/common/dmtbinfo2.c
+++ b/source/common/dmtbinfo2.c
@@ -343,7 +343,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoIort4[] =
{ACPI_DMT_UINT64, ACPI_IORT4_OFFSET (BaseAddress), "Base
Address", 0},
{ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (Flags), "Flags
(decoded below)", 0},
{ACPI_DMT_FLAG0, ACPI_IORT4_FLAG_OFFSET (Flags, 0), "COHACC
Override", 0},
- {ACPI_DMT_FLAG1, ACPI_IORT4_FLAG_OFFSET (Flags, 0), "HTTU
Override", 0},
+ {ACPI_DMT_FLAGS1, ACPI_IORT4_FLAG_OFFSET (Flags, 0), "HTTU
Override", 0},
{ACPI_DMT_FLAG3, ACPI_IORT4_FLAG_OFFSET (Flags, 0), "Proximity
Domain Valid", 0},
{ACPI_DMT_UINT32, ACPI_IORT4_OFFSET (Reserved),
"Reserved", 0},
{ACPI_DMT_UINT64, ACPI_IORT4_OFFSET (VatosAddress), "VATOS
Address", 0},
--
2.19.1
.