diff options
author | Furquan Shaikh <furquan@google.com> | 2020-10-04 17:48:48 -0700 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2020-10-13 18:45:00 +0000 |
commit | e31506cd51a29f77c34e2e524801b2d0db1a5798 (patch) | |
tree | 4fbf6039c32536847f2939bd44ef28bd53dd97c9 | |
parent | 44f14509ed33c572ed5268f96c58c06d4348e84a (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.c | 8 |
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 */ |