[PATCH v3 14/30] x86: nhlt: Fix a few bugs in the table generation
Simon Glass
sjg at chromium.org
Wed Nov 4 17:57:27 CET 2020
At present these tables do not have the correct header, and there is an
occasional incorrect value due to uninited data. Fix these bugs.
Signed-off-by: Simon Glass <sjg at chromium.org>
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
---
(no changes since v1)
arch/x86/lib/acpi_nhlt.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/x86/lib/acpi_nhlt.c b/arch/x86/lib/acpi_nhlt.c
index 1c1ea27c8f6..0e8e669c7d8 100644
--- a/arch/x86/lib/acpi_nhlt.c
+++ b/arch/x86/lib/acpi_nhlt.c
@@ -68,6 +68,7 @@ struct nhlt_endpoint *nhlt_add_endpoint(struct nhlt *nhlt, int link_type,
endp->device_type = device_type;
endp->direction = dir;
endp->virtual_bus_id = DEFAULT_VIRTUAL_BUS_ID;
+ endp->num_formats = 0;
nhlt->num_endpoints++;
@@ -395,7 +396,7 @@ int nhlt_serialise_oem_overrides(struct acpi_ctx *ctx, struct nhlt *nhlt,
/* Create header */
header = (void *)ctx->current;
memset(header, '\0', sizeof(struct acpi_table_header));
- acpi_fill_header(header, "NHLT");
+ memcpy(header->signature, "NHLT", 4);
header->length = sz;
header->revision = acpi_get_table_revision(ACPITAB_NHLT);
@@ -408,6 +409,7 @@ int nhlt_serialise_oem_overrides(struct acpi_ctx *ctx, struct nhlt *nhlt,
memcpy(header->oem_table_id, oem_table_id, oem_table_id_len);
}
header->oem_revision = oem_revision;
+ memcpy(header->aslc_id, ASLC_ID, 4);
cur.buf = (void *)(header + 1);
cur.start = (void *)header;
--
2.29.1.341.ge80a0c044ae-goog
More information about the U-Boot
mailing list