<p>Jenny Tc has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/c/coreboot/+/29774">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">hostevent: Enable lazy events for SCI mask<br><br>With Lazy SCI events, dependancy on SMI handler for setting SCI events<br>during boot can be avoided. On boot, coreboot notifies the SCI Lazy mask<br>to EC. Once the EC driver is up in OS, it can notify the EC to convert<br>SCI mask to ACTIVE SCI mask.<br><br>Change-Id: I6ff3aea2e7f11f1196d8d9ece03ae000354e884b<br>Signed-off-by: Jenny TC <jenny.tc@intel.com><br>---<br>M src/ec/google/chromeec/ec.c<br>M src/ec/google/chromeec/ec.h<br>M src/ec/google/chromeec/ec_commands.h<br>3 files changed, 17 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/74/29774/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c</span><br><span>index d2a0849..f2a68fd 100644</span><br><span>--- a/src/ec/google/chromeec/ec.c</span><br><span>+++ b/src/ec/google/chromeec/ec.c</span><br><span>@@ -65,6 +65,10 @@</span><br><span>    [EC_HOST_EVENT_ALWAYS_REPORT_MASK] = {</span><br><span>               INVALID_HCMD, INVALID_HCMD, INVALID_HCMD,</span><br><span>    },</span><br><span style="color: hsl(120, 100%, 40%);">+    [EC_HOST_EVENT_LAZY_SCI_MASK] = {</span><br><span style="color: hsl(120, 100%, 40%);">+             EC_CMD_HOST_EVENT_SET_SCI_MASK, INVALID_HCMD,</span><br><span style="color: hsl(120, 100%, 40%);">+         EC_CMD_HOST_EVENT_GET_SCI_MASK,</span><br><span style="color: hsl(120, 100%, 40%);">+       },</span><br><span>   [EC_HOST_EVENT_ACTIVE_WAKE_MASK] = {</span><br><span>                 EC_CMD_HOST_EVENT_SET_WAKE_MASK, INVALID_HCMD,</span><br><span>               EC_CMD_HOST_EVENT_GET_WAKE_MASK,</span><br><span>@@ -483,11 +487,13 @@</span><br><span>             google_chromeec_log_events(info->log_events |</span><br><span>                                             info->s5_wake_events);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           if (google_chromeec_is_uhepi_supported())</span><br><span style="color: hsl(120, 100%, 40%);">+             if (google_chromeec_is_uhepi_supported()) {</span><br><span>                  google_chromeec_set_lazy_wake_masks</span><br><span>                                  (info->s5_wake_events,</span><br><span>                                    info->s3_wake_events,</span><br><span>                                     info->s0ix_wake_events);</span><br><span style="color: hsl(120, 100%, 40%);">+                   google_chromeec_set_lazy_sci_mask(info->sci_events);</span><br><span style="color: hsl(120, 100%, 40%);">+               }</span><br><span>    }</span><br><span> </span><br><span>        /* Clear wake event mask. */</span><br><span>@@ -819,6 +825,12 @@</span><br><span>  return google_chromeec_set_mask(EC_HOST_EVENT_SCI_MASK, mask);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+int google_chromeec_set_lazy_sci_mask(uint64_t mask)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+      printk(BIOS_DEBUG, "Chrome EC: Set SCI mask to 0x%016llx\n", mask);</span><br><span style="color: hsl(120, 100%, 40%);">+ return google_chromeec_set_mask(EC_HOST_EVENT_LAZY_SCI_MASK, mask);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> int google_chromeec_set_smi_mask(uint64_t mask)</span><br><span> {</span><br><span>     printk(BIOS_DEBUG, "Chrome EC: Set SMI mask to 0x%016llx\n", mask);</span><br><span>diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h</span><br><span>index 70b2b52..ea8cec0 100644</span><br><span>--- a/src/ec/google/chromeec/ec.h</span><br><span>+++ b/src/ec/google/chromeec/ec.h</span><br><span>@@ -28,6 +28,7 @@</span><br><span>                        uint8_t *buffer, int len, int is_read);</span><br><span> uint64_t google_chromeec_get_wake_mask(void);</span><br><span> int google_chromeec_set_sci_mask(uint64_t mask);</span><br><span style="color: hsl(120, 100%, 40%);">+int google_chromeec_set_lazy_sci_mask(uint64_t mask);</span><br><span> int google_chromeec_set_smi_mask(uint64_t mask);</span><br><span> int google_chromeec_set_wake_mask(uint64_t mask);</span><br><span> u8 google_chromeec_get_event(void);</span><br><span>diff --git a/src/ec/google/chromeec/ec_commands.h b/src/ec/google/chromeec/ec_commands.h</span><br><span>index 140ba5a..daacb33 100644</span><br><span>--- a/src/ec/google/chromeec/ec_commands.h</span><br><span>+++ b/src/ec/google/chromeec/ec_commands.h</span><br><span>@@ -3465,6 +3465,9 @@</span><br><span>        /* Active wake mask */</span><br><span>       EC_HOST_EVENT_ACTIVE_WAKE_MASK,</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+   /* Lazy SCI Mask */</span><br><span style="color: hsl(120, 100%, 40%);">+   EC_HOST_EVENT_LAZY_SCI_MASK,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>       /* Lazy wake mask for S0ix */</span><br><span>        EC_HOST_EVENT_LAZY_WAKE_MASK_S0IX,</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/c/coreboot/+/29774">change 29774</a>. To unsubscribe, or for help writing mail filters, 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/c/coreboot/+/29774"/><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-Change-Id: I6ff3aea2e7f11f1196d8d9ece03ae000354e884b </div>
<div style="display:none"> Gerrit-Change-Number: 29774 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Jenny Tc <jenny.tc@intel.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>