2018-02-06 06:42:41

by Shunyong Yang

[permalink] [raw]
Subject: [PATCH v4] ACPI / tables: Add IORT to injectable table list

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 <[email protected]>
Cc: Wang Dongsheng <[email protected]>
Cc: Jiang Yutang <[email protected]>
Cc: Hanjun Guo <[email protected]>
Signed-off-by: Yang Shunyong <[email protected]>
---

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



2018-02-06 07:21:29

by Hanjun Guo

[permalink] [raw]
Subject: Re: [PATCH v4] ACPI / tables: Add IORT to injectable table list

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 <[email protected]>
> Cc: Wang Dongsheng <[email protected]>
> Cc: Jiang Yutang <[email protected]>
> Cc: Hanjun Guo <[email protected]>
> Signed-off-by: Yang Shunyong <[email protected]>

Acked-by: Hanjun Guo <[email protected]>

Thanks
Hanjun


2018-02-08 10:03:42

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH v4] ACPI / tables: Add IORT to injectable table list

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 <[email protected]>
> > Cc: Wang Dongsheng <[email protected]>
> > Cc: Jiang Yutang <[email protected]>
> > Cc: Hanjun Guo <[email protected]>
> > Signed-off-by: Yang Shunyong <[email protected]>
>
> Acked-by: Hanjun Guo <[email protected]>

Patch applied, thanks!