Loading IORT table from initrd can be used to fix severe firmware IORT defects temporarily before platform/BIOS vendor releases an upgraded BIOS binary.
Moreover, it is very powerful to debug SMMU node/device probe, MSI allocation, stream id translation and IORT table from firmware. It is also very useful to enable SMMU and devices behind SMMU before firmware is ready. This patch adds ACPI_SIG_IORT to the table, which enables IORT from initrd to override which from firmware. Cc: Joey Zheng <yu.zh...@hxt-semitech.com> Cc: Wang Dongsheng <dongsheng.w...@hxt-semitech.com> Cc: Jiang Yutang <yutang2.ji...@hxt-semitech.com> Cc: Hanjun Guo <guohan...@huawei.com> Signed-off-by: Yang Shunyong <shunyong.y...@hxt-semitech.com> --- v4: Add more accurate description for fix operation in commit message according to Dongsheng and Hangjun's suggestion. v3: Add more detailed commit message according to Hanjun's suggestion. v2: Change typo ACPI_SIG_PPTT to ACPI_SIG_IORT in commit message. --- drivers/acpi/tables.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c index 80ce2a7d224b..7bcb66ccccf3 100644 --- a/drivers/acpi/tables.c +++ b/drivers/acpi/tables.c @@ -456,7 +456,8 @@ static u8 __init acpi_table_checksum(u8 *buffer, u32 length) ACPI_SIG_SLIC, ACPI_SIG_SPCR, ACPI_SIG_SPMI, ACPI_SIG_TCPA, ACPI_SIG_UEFI, ACPI_SIG_WAET, ACPI_SIG_WDAT, ACPI_SIG_WDDT, ACPI_SIG_WDRT, ACPI_SIG_DSDT, ACPI_SIG_FADT, ACPI_SIG_PSDT, - ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT, NULL }; + ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT, ACPI_SIG_IORT, + NULL }; #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header) -- 1.8.3.1