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>
This commit is contained in:
Jeremy Compostella 2024-07-11 15:51:37 -07:00 committed by Felix Held
parent dd4b3aa7b9
commit dc35e66880
2 changed files with 22 additions and 1 deletions

View File

@ -211,6 +211,26 @@ static void wifi_dsm_energy_detection_threshold(void *args)
acpigen_write_return_integer(dsm_config->energy_detection_threshold);
}
/*
* 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
@ -251,7 +271,7 @@ static void (*wifi_dsm_callbacks[])(void *) = {
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 */
};

View File

@ -61,6 +61,7 @@ struct dsm_profile {
uint32_t unii_4;
uint32_t enablement_11be;
uint32_t energy_detection_threshold;
uint32_t rfi_mitigation;
};
struct bsar_profile {