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>
diff --git a/src/drivers/wifi/generic/generic.c b/src/drivers/wifi/generic/generic.c
index 1b15211..e8184d8 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 */