]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
acpi: acpi_table: Bump revisions
authorPatrick Rudolph <patrick.rudolph@9elements.com>
Wed, 23 Oct 2024 13:19:52 +0000 (15:19 +0200)
committerTom Rini <trini@konsulko.com>
Sun, 27 Oct 2024 23:24:13 +0000 (17:24 -0600)
The FADT structure found in U-Boot represents FADT revision 6 and the
GICC and GICD structures defined in U-Boot are based on ACPI revision
6.3.

Bump the table revision to fix FWTS failures seen on aarch64.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
arch/x86/cpu/tangier/acpi.c
include/acpi/acpi_table.h
lib/acpi/acpi_table.c

index 3d117878615234dec7a8e0c2c51a7ec145a739d3..8ea764f7cc148b0f78be2f4a47da2ee333c7c631 100644 (file)
@@ -28,8 +28,6 @@ void acpi_fill_fadt(struct acpi_fadt *fadt)
                ACPI_FADT_POWER_BUTTON | ACPI_FADT_SLEEP_BUTTON |
                ACPI_FADT_SEALED_CASE | ACPI_FADT_HEADLESS |
                ACPI_FADT_HW_REDUCED_ACPI;
-       fadt->header.revision = 6;
-       fadt->minor_revision = 2;
 }
 
 void *acpi_fill_madt(struct acpi_madt *madt, struct acpi_ctx *ctx)
index 7d994a985fb688721d02133e294b57f865cb86e3..48f8ce248fdcebe73eabe317cc98aee545883e9b 100644 (file)
@@ -290,7 +290,8 @@ struct __packed acpi_fadt {
 #define ACPI_MADT_REV_ACPI_3_0         2
 #define ACPI_MADT_REV_ACPI_4_0         3
 #define ACPI_MADT_REV_ACPI_5_0         3
-#define ACPI_MADT_REV_ACPI_6_0         5
+#define ACPI_MADT_REV_ACPI_6_2         4
+#define ACPI_MADT_REV_ACPI_6_3         5
 
 #define ACPI_MCFG_REV_ACPI_3_0         1
 
index 5b9b4d2f29084ffe136ad01374bf4398a4cf991f..959cac9e2e3b2030bb1d46368ebf73fb702ff3e0 100644 (file)
@@ -63,9 +63,9 @@ int acpi_get_table_revision(enum acpi_tables table)
 {
        switch (table) {
        case ACPITAB_FADT:
-               return ACPI_FADT_REV_ACPI_3_0;
+               return ACPI_FADT_REV_ACPI_6_0;
        case ACPITAB_MADT:
-               return ACPI_MADT_REV_ACPI_3_0;
+               return ACPI_MADT_REV_ACPI_6_2;
        case ACPITAB_MCFG:
                return ACPI_MCFG_REV_ACPI_3_0;
        case ACPITAB_TCPA:
@@ -219,6 +219,7 @@ int acpi_write_fadt(struct acpi_ctx *ctx, const struct acpi_writer *entry)
        memcpy(header->oem_table_id, OEM_TABLE_ID, 8);
        memcpy(header->creator_id, ASLC_ID, 4);
        header->creator_revision = 1;
+       fadt->minor_revision = 2;
 
        fadt->x_firmware_ctrl = map_to_sysmem(ctx->facs);
        fadt->x_dsdt = map_to_sysmem(ctx->dsdt);
@@ -254,7 +255,7 @@ int acpi_write_madt(struct acpi_ctx *ctx, const struct acpi_writer *entry)
        /* Fill out header fields */
        acpi_fill_header(header, "APIC");
        header->length = sizeof(struct acpi_madt);
-       header->revision = ACPI_MADT_REV_ACPI_3_0;
+       header->revision = acpi_get_table_revision(ACPITAB_MADT);
 
        acpi_inc(ctx, sizeof(struct acpi_madt));
        /* TODO: Get rid of acpi_fill_madt and use driver model */