diff mbox

[v4] ACPI / tables: Add IORT to injectable table list

Message ID 1517899032-39073-1-git-send-email-shunyong.yang@hxt-semitech.com (mailing list archive)
State Accepted, archived
Delegated to: Rafael Wysocki
Headers show

Commit Message

Shunyong Yang Feb. 6, 2018, 6:37 a.m. UTC
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.zheng@hxt-semitech.com>
Cc: Wang Dongsheng <dongsheng.wang@hxt-semitech.com>
Cc: Jiang Yutang <yutang2.jiang@hxt-semitech.com>
Cc: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Yang Shunyong <shunyong.yang@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(-)

Comments

Hanjun Guo Feb. 6, 2018, 7:18 a.m. UTC | #1
On 2018/2/6 14:37, Yang Shunyong wrote:
> 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.zheng@hxt-semitech.com>
> Cc: Wang Dongsheng <dongsheng.wang@hxt-semitech.com>
> Cc: Jiang Yutang <yutang2.jiang@hxt-semitech.com>
> Cc: Hanjun Guo <guohanjun@huawei.com>
> Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>

Acked-by: Hanjun Guo <hanjun.guo@linaro.org>

Thanks
Hanjun

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael J. Wysocki Feb. 8, 2018, 10 a.m. UTC | #2
On Tuesday, February 6, 2018 8:18:02 AM CET Hanjun Guo wrote:
> On 2018/2/6 14:37, Yang Shunyong wrote:
> > 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.zheng@hxt-semitech.com>
> > Cc: Wang Dongsheng <dongsheng.wang@hxt-semitech.com>
> > Cc: Jiang Yutang <yutang2.jiang@hxt-semitech.com>
> > Cc: Hanjun Guo <guohanjun@huawei.com>
> > Signed-off-by: Yang Shunyong <shunyong.yang@hxt-semitech.com>
> 
> Acked-by: Hanjun Guo <hanjun.guo@linaro.org>

Patch applied, thanks!

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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)