summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2020-10-04 17:48:48 -0700
committerFurquan Shaikh <furquan@google.com>2020-10-13 18:45:00 +0000
commite31506cd51a29f77c34e2e524801b2d0db1a5798 (patch)
tree4fbf6039c32536847f2939bd44ef28bd53dd97c9
parent44f14509ed33c572ed5268f96c58c06d4348e84a (diff)
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> Reviewed-on: https://review.coreboot.org/c/coreboot/+/46040 Reviewed-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-by: Rob Barnes <robbarnes@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/drivers/wifi/generic/generic.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/drivers/wifi/generic/generic.c b/src/drivers/wifi/generic/generic.c
index 1b152111c9..e8184d8c13 100644
--- a/src/drivers/wifi/generic/generic.c
+++ b/src/drivers/wifi/generic/generic.c
@@ -44,12 +44,16 @@ int get_wifi_sar_limits(struct wifi_sar_limits *sar_limits)
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 @@ static void wifi_generic_fill_ssdt(const struct device *dev)
/* 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 */