From: Graeme Gregory graeme.gregory@linaro.org
Add handling for tables from EFI in addition to the handling already present for tables passed via FDT.
Signed-off-by: Graeme Gregory graeme.gregory@linaro.org --- drivers/acpi/plat/arm/boot.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/acpi/plat/arm/boot.c b/drivers/acpi/plat/arm/boot.c index 82b7bd6..9818ba1 100644 --- a/drivers/acpi/plat/arm/boot.c +++ b/drivers/acpi/plat/arm/boot.c @@ -746,13 +746,18 @@ void __init acpi_arm_blob_relocate(void) u32 ii; u64 *tmp;
- if (!acpi_arm_rsdp_info.phys_address && !acpi_arm_rsdp_info.size) { - printk(KERN_ERR "(E) ACPI: failed to find rsdp info\n"); + if (efi.acpi20) + paddress = efi.acpi20; + else if (efi.acpi) + paddress = efi.acpi; + else if (acpi_arm_rsdp_info.phys_address && acpi_arm_rsdp_info.size) { + paddress = acpi_arm_rsdp_info.phys_address; + paddress += ACPI_BLOB_HEADER_SIZE; + } else { + pr_err("ACPI: failed to find rsdp info\n"); return; }
- paddress = acpi_arm_rsdp_info.phys_address; - paddress += ACPI_BLOB_HEADER_SIZE; vaddress = phys_to_virt(paddress);
/* fixups for the rsdp */