<p>Marshall Dawson has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/21745">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">amd/stoneyridge: Clean up smihandler.c<br><br>Replace hardcoded values with defined ones.<br><br>Change-Id: Ic72a51516a1763b2380e60397f5a3aeb32457b65<br>Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com><br>---<br>M src/soc/amd/stoneyridge/smihandler.c<br>1 file changed, 22 insertions(+), 35 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/45/21745/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/soc/amd/stoneyridge/smihandler.c b/src/soc/amd/stoneyridge/smihandler.c<br>index c3c85e3..cabfd3d 100644<br>--- a/src/soc/amd/stoneyridge/smihandler.c<br>+++ b/src/soc/amd/stoneyridge/smihandler.c<br>@@ -11,18 +11,6 @@<br> #include <soc/smi.h><br> #include <soc/southbridge.h><br> <br>-<br>-#define SMI_0x88_ACPI_COMMAND             (1 << 11)<br>-<br>-enum smi_source {<br>-       SMI_SOURCE_SCI = (1 << 0),<br>-     SMI_SOURCE_GPE = (1 << 1),<br>-     SMI_SOURCE_0x84 = (1 << 2),<br>-    SMI_SOURCE_0x88 = (1 << 3),<br>-    SMI_SOURCE_IRQ_TRAP = (1 << 4),<br>-        SMI_SOURCE_0x90 = (1 << 5)<br>-};<br>-<br> static void sb_apmc_smi_handler(void)<br> {<br>  u32 reg32;<br>@@ -51,78 +39,77 @@<br> <br> static void process_smi_sci(void)<br> {<br>-   const uint32_t status = smi_read32(0x10);<br>+    const uint32_t status = smi_read32(SMI_SCI_STATUS);<br> <br>        /* Clear events to prevent re-entering SMI if event isn't handled */<br>-     smi_write32(0x10, status);<br>+   smi_write32(SMI_SCI_STATUS, status);<br> }<br> <br> static void process_gpe_smi(void)<br> {<br>-  const uint32_t status = smi_read32(0x80);<br>-    const uint32_t gevent_mask = (1 << 24) - 1;<br>+    const uint32_t status = smi_read32(SMI_REG_SMISTS0);<br> <br>       /* Only Bits [23:0] indicate GEVENT SMIs. */<br>- if (status & gevent_mask) {<br>+      if (status & GEVENT_MASK) {<br>               /* A GEVENT SMI occurred */<br>-          mainboard_smi_gpi(status & gevent_mask);<br>+         mainboard_smi_gpi(status & GEVENT_MASK);<br>  }<br> <br>  /* Clear events to prevent re-entering SMI if event isn't handled */<br>-     smi_write32(0x80, status);<br>+   smi_write32(SMI_REG_SMISTS0, status);<br> }<br> <br> static void process_smi_0x84(void)<br> {<br>-        const uint32_t status = smi_read32(0x84);<br>+    const uint32_t status = smi_read32(SMI_REG_SMISTS1);<br> <br>       /* Clear events to prevent re-entering SMI if event isn't handled */<br>-     smi_write32(0x84, status);<br>+   smi_write32(SMI_REG_SMISTS1, status);<br> }<br> <br> static void process_smi_0x88(void)<br> {<br>-        const uint32_t status = smi_read32(0x88);<br>+    const uint32_t status = smi_read32(SMI_REG_SMISTS2);<br> <br>-      if (status & SMI_0x88_ACPI_COMMAND) {<br>+    if (status & TYPE_TO_MASK(SMITYPE_SMI_CMD_PORT)) {<br>                /* Command received via ACPI SMI command port */<br>              sb_apmc_smi_handler();<br>        }<br>     /* Clear events to prevent re-entering SMI if event isn't handled */<br>-     smi_write32(0x88, status);<br>+   smi_write32(SMI_REG_SMISTS2, status);<br> }<br> <br> static void process_smi_0x8c(void)<br> {<br>-        const uint32_t status = smi_read32(0x8c);<br>+    const uint32_t status = smi_read32(SMI_REG_SMISTS3);<br> <br>       /* Clear events to prevent re-entering SMI if event isn't handled */<br>-     smi_write32(0x8c, status);<br>+   smi_write32(SMI_REG_SMISTS4, status);<br> }<br> <br> static void process_smi_0x90(void)<br> {<br>-        const uint32_t status = smi_read32(0x90);<br>+    const uint32_t status = smi_read32(SMI_REG_SMISTS4);<br> <br>       /* Clear events to prevent re-entering SMI if event isn't handled */<br>-     smi_write32(0x90, status);<br>+   smi_write32(SMI_REG_SMISTS4, status);<br> }<br> <br> void southbridge_smi_handler(void)<br> {<br>-        const uint16_t smi_src = smi_read16(0x94);<br>+   const uint16_t smi_src = smi_read16(SMI_REG_POINTER);<br> <br>-     if (smi_src & SMI_SOURCE_SCI)<br>+    if (smi_src & SMI_STATUS_SRC_SCI)<br>                 process_smi_sci();<br>-   if (smi_src & SMI_SOURCE_GPE)<br>+    if (smi_src & SMI_STATUS_SRC_0)<br>           process_gpe_smi();<br>-   if (smi_src & SMI_SOURCE_0x84)<br>+   if (smi_src & SMI_STATUS_SRC_1)<br>           process_smi_0x84();<br>-  if (smi_src & SMI_SOURCE_0x88)<br>+   if (smi_src & SMI_STATUS_SRC_2)<br>           process_smi_0x88();<br>-  if (smi_src & SMI_SOURCE_IRQ_TRAP)<br>+       if (smi_src & SMI_STATUS_SRC_3)<br>           process_smi_0x8c();<br>-  if (smi_src & SMI_SOURCE_0x90)<br>+   if (smi_src & SMI_STATUS_SRC_4)<br>           process_smi_0x90();<br> }<br> <br></pre><p>To view, visit <a href="https://review.coreboot.org/21745">change 21745</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/21745"/><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: Ic72a51516a1763b2380e60397f5a3aeb32457b65 </div>
<div style="display:none"> Gerrit-Change-Number: 21745 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Marshall Dawson <marshalldawson3rd@gmail.com> </div>