<p>Naresh Solanki has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20455">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">driver/intel/wifi: elog wifi wake source<br><br>During S3 resume, if wifi is wake source then put it in elog if enabled<br>in config.<br><br>Change-Id: I7d42c5c81e0a3f7a3f94c3f6b7d2ebdf029d1aff<br>Signed-off-by: Naresh G Solanki <naresh.solanki@intel.com><br>---<br>M src/drivers/intel/wifi/wifi.c<br>M src/include/elog.h<br>2 files changed, 30 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/55/20455/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/drivers/intel/wifi/wifi.c b/src/drivers/intel/wifi/wifi.c<br>index a71f014..1fa3869 100644<br>--- a/src/drivers/intel/wifi/wifi.c<br>+++ b/src/drivers/intel/wifi/wifi.c<br>@@ -20,11 +20,15 @@<br> #include <device/device.h><br> #include <device/pci.h><br> #include <device/pci_ids.h><br>+#include <elog.h><br> #include <sar.h><br> #include <smbios.h><br> #include <string.h><br> #include <wrdd.h><br> #include "chip.h"<br>+<br>+#define PMCS_DR 0xcc<br>+#define PME_STS (1 << 15)<br> <br> #if IS_ENABLED(CONFIG_GENERATE_SMBIOS_TABLES)<br> static int smbios_write_wifi(struct device *dev, int *handle,<br>@@ -196,6 +200,30 @@<br> }<br> #endif<br> <br>+static void wifi_pci_dev_init(struct device *dev)<br>+{<br>+<br>+ pci_dev_init(dev);<br>+<br>+#if IS_ENABLED(CONFIG_ELOG)<br>+<br>+ size_t j;<br>+ uint32_t val;<br>+ for ( j = 0 ; j < 0xff ; j+=4 ) {<br>+ if ( (j% 0x10) == 0 )<br>+ printk(BIOS_DEBUG, "\n");<br>+ val = pci_read_config32(dev, j);<br>+ printk(BIOS_DEBUG, "\t0x%08X", val);<br>+ }<br>+ printk(BIOS_DEBUG,"\n");<br>+<br>+ val = pci_read_config16(dev, PMCS_DR);<br>+ if ( val & PME_STS )<br>+ elog_add_event_wake(ELOG_WAKE_SOURCE_PME_WIFI, 0);<br>+#endif<br>+<br>+}<br>+<br> static struct pci_operations pci_ops = {<br> .set_subsystem = pci_dev_set_subsystem,<br> };<br>@@ -204,7 +232,7 @@<br> .read_resources = pci_dev_read_resources,<br> .set_resources = pci_dev_set_resources,<br> .enable_resources = pci_dev_enable_resources,<br>- .init = pci_dev_init,<br>+ .init = wifi_pci_dev_init,<br> #if IS_ENABLED(CONFIG_GENERATE_SMBIOS_TABLES)<br> .get_smbios_data = smbios_write_wifi,<br> #endif<br>diff --git a/src/include/elog.h b/src/include/elog.h<br>index c960186..9cb5b7c 100644<br>--- a/src/include/elog.h<br>+++ b/src/include/elog.h<br>@@ -147,6 +147,7 @@<br> #define ELOG_WAKE_SOURCE_PME_XDCI 0x1c<br> #define ELOG_WAKE_SOURCE_PME_XHCI_USB_2 0x1d<br> #define ELOG_WAKE_SOURCE_PME_XHCI_USB_3 0x1e<br>+#define ELOG_WAKE_SOURCE_PME_WIFI 0x1f<br> <br> struct elog_event_data_wake {<br> u8 source;<br></pre><p>To view, visit <a href="https://review.coreboot.org/20455">change 20455</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/20455"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I7d42c5c81e0a3f7a3f94c3f6b7d2ebdf029d1aff </div>
<div style="display:none"> Gerrit-Change-Number: 20455 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Naresh Solanki <naresh.solanki@intel.com> </div>