Furquan Shaikh has uploaded this change for review.

View Change

drivers/wifi/generic: Do not generate SAR tables for non-Intel WiFi

CBFS SAR and SAR tables in ACPI are currently supported only by Intel
WiFi devices. This change adds a check in `emit_sar_acpi_structures()`
to ensure that the PCI vendor for the device is Intel before
generating the SAR tables.

BUG=b:169802515
BRANCH=zork

Change-Id: Ibff437893a61ac9557cff243a70230f101089834
Signed-off-by: Furquan Shaikh <furquan@google.com>
---
M src/drivers/wifi/generic/generic.c
1 file changed, 6 insertions(+), 2 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/40/46040/1
diff --git a/src/drivers/wifi/generic/generic.c b/src/drivers/wifi/generic/generic.c
index 48201fc..c7a32bd 100644
--- a/src/drivers/wifi/generic/generic.c
+++ b/src/drivers/wifi/generic/generic.c
@@ -44,12 +44,16 @@
return -1;
}

-static void emit_sar_acpi_structures(void)
+static void emit_sar_acpi_structures(const struct device *dev)
{
int i, j, package_size;
struct wifi_sar_limits sar_limits;
struct wifi_sar_delta_table *wgds;

+ /* CBFS SAR and SAR ACPI tables are currently used only by Intel WiFi devices. */
+ if (dev->vendor != PCI_VENDOR_ID_INTEL)
+ return;
+
/* Retrieve the sar limits data */
if (get_wifi_sar_limits(&sar_limits) < 0) {
printk(BIOS_ERR, "Error: failed from getting SAR limits!\n");
@@ -217,7 +221,7 @@

/* Fill Wifi sar related ACPI structures */
if (CONFIG(USE_SAR))
- emit_sar_acpi_structures();
+ emit_sar_acpi_structures(dev);

acpigen_pop_len(); /* Device */
acpigen_pop_len(); /* Scope */

To view, visit change 46040. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ibff437893a61ac9557cff243a70230f101089834
Gerrit-Change-Number: 46040
Gerrit-PatchSet: 1
Gerrit-Owner: Furquan Shaikh <furquan@google.com>
Gerrit-MessageType: newchange