Felix Held has submitted this change. ( https://review.coreboot.org/c/coreboot/+/83431?usp=email )
Change subject: drivers/wifi: Support Radio Frequency Interference Mitigation ......................................................................
drivers/wifi: Support Radio Frequency Interference Mitigation
The 'Radio Frequency Interference Mitigation' DSM function 11 provides the desired status of the RFI mitigation.
The implementation follows document 559910 Intel Connectivity Platforms BIOS Guideline revision 8.3 specification.
BUG=b:352768410 TEST=ACPI DSM Function 11 reflects the value of the SAR binary
Change-Id: I02808b0ce6a0a380845612e774e326c698ad1adc Signed-off-by: Jeremy Compostella jeremy.compostella@intel.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/83431 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: YH Lin yueherngl@google.com Reviewed-by: Subrata Banik subratabanik@google.com --- M src/drivers/wifi/generic/acpi.c M src/include/sar.h 2 files changed, 22 insertions(+), 1 deletion(-)
Approvals: Subrata Banik: Looks good to me, approved build bot (Jenkins): Verified YH Lin: Looks good to me, but someone else must approve
diff --git a/src/drivers/wifi/generic/acpi.c b/src/drivers/wifi/generic/acpi.c index 946962c2..81620f7 100644 --- a/src/drivers/wifi/generic/acpi.c +++ b/src/drivers/wifi/generic/acpi.c @@ -212,6 +212,26 @@ }
/* + * Function 11: RFI mitigation + * Bit 0: + * 0 - DLVR RFIm enabled (default) + * 1 - DLVR RFIm disabled + * + * Bit 1: + * 0 - DDR RFIm enabled (default) + * 1 - DDR RFIm disabled + * + * Bits 2-31: Reserved - Should be 0 + */ + +static void wifi_dsm_rfi_mitigation(void *args) +{ + struct dsm_profile *dsm_config = (struct dsm_profile *)args; + + acpigen_write_return_integer(dsm_config->rfi_mitigation); +} + +/* * Function 12: Control Enablement 802.11be on certificated modules * Bit 0 * 0 - 11BE disabled for China Mainland @@ -251,7 +271,7 @@ NULL, /* Function 8 */ NULL, /* Function 9 */ wifi_dsm_energy_detection_threshold, /* Function 10 */ - NULL, /* Function 11 */ + wifi_dsm_rfi_mitigation, /* Function 11 */ wifi_dsm_11be_country_enablement, /* Function 12 */ };
diff --git a/src/include/sar.h b/src/include/sar.h index c8e9d41..b0274b5 100644 --- a/src/include/sar.h +++ b/src/include/sar.h @@ -61,6 +61,7 @@ uint32_t unii_4; uint32_t enablement_11be; uint32_t energy_detection_threshold; + uint32_t rfi_mitigation; };
struct bsar_profile {