From 1be1ccb42efcf121cd2c6661f501cb89671ee67b Mon Sep 17 00:00:00 2001 From: Jeremy Compostella Date: Mon, 16 Jun 2025 17:15:34 -0700 Subject: [PATCH] soc/intel/cmn/blk/cnvi: Use WFDL field for Wi-Fi PLDR reset delay Introduce a new ACPI field, "WFDL", to specify the Power Level Device Reset (PLDR) delay for Wi-Fi operations. This replaces the previously hardcoded delay value, allowing for easier adjustment and configuration of the PLDR timing in the future. By utilizing a named field, this change facilitates potential updates to delay configurations. Change-Id: I0f243ccf404afb83554136a3a310a98d6100d8ff Signed-off-by: Jeremy Compostella Reviewed-on: https://review.coreboot.org/c/coreboot/+/88116 Tested-by: build bot (Jenkins) Reviewed-by: Bora Guvendik --- src/soc/intel/common/block/cnvi/cnvi.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/soc/intel/common/block/cnvi/cnvi.c b/src/soc/intel/common/block/cnvi/cnvi.c index 4c1c0f228d..d1d959aaa9 100644 --- a/src/soc/intel/common/block/cnvi/cnvi.c +++ b/src/soc/intel/common/block/cnvi/cnvi.c @@ -112,6 +112,11 @@ static void cnvw_fill_ssdt(const struct device *dev) */ acpigen_write_name_integer("RSTT", 0); +/* + * Wi-Fi PLDR request delay (default 10 ms) + */ + acpigen_write_name_integer("WFDL", 10); + /* * PowerResource (CNVP, 0x00, 0x0000) * { @@ -180,7 +185,7 @@ static void cnvw_fill_ssdt(const struct device *dev) * } * * \_SB.PCI0.PCRO (PID_CNVI, CNVI_ABORT_PLDR, 0x03) - * Sleep (0x0A) + * Sleep (WFDL) * Local0 = \_SB.PCI0.PCRR(PID_CNVI, CNVI_ABORT_PLDR) * Local1 = (Local0 & CNVI_ABORT_REQUEST) * Local3 = (Local0 & CNVI_READY) @@ -319,7 +324,8 @@ static void cnvw_fill_ssdt(const struct device *dev) acpigen_write_integer(CNVI_ABORT_PLDR); acpigen_write_integer(CNVI_ABORT_REQUEST | CNVI_ABORT_ENABLE); - acpigen_write_sleep(10); + acpigen_emit_ext_op(SLEEP_OP); + acpigen_emit_namestring("WFDL"); acpigen_write_store(); acpigen_emit_namestring("\\_SB.PCI0.PCRR");