summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/wifi/generic/acpi.c22
-rw-r--r--src/include/sar.h1
2 files changed, 22 insertions, 1 deletions
diff --git a/src/drivers/wifi/generic/acpi.c b/src/drivers/wifi/generic/acpi.c
index 946962c2af..81620f7505 100644
--- a/src/drivers/wifi/generic/acpi.c
+++ b/src/drivers/wifi/generic/acpi.c
@@ -212,6 +212,26 @@ static void wifi_dsm_energy_detection_threshold(void *args)
}
/*
+ * 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 @@ 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 */
};
diff --git a/src/include/sar.h b/src/include/sar.h
index c8e9d41b55..b0274b501a 100644
--- a/src/include/sar.h
+++ b/src/include/sar.h
@@ -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 {