<p>Richard Spiegel has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/28083">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">vendorcode/amd/pi/00670F00/Lib: Remove read modify write functions<br><br>Now that the functions that used them were safely removed, remove<br>LibAmdIoRMW(), LibAmdMemRMW() and LibAmdPciRMW().<br><br>BUG=b:112541697<br>TEST=Build grunt and gardenia<br><br>Change-Id: I570bd91cd9eba7798ea39d9685e214fee10824be<br>Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com><br>---<br>M src/vendorcode/amd/pi/00670F00/Lib/amdlib.c<br>M src/vendorcode/amd/pi/00670F00/Lib/amdlib.h<br>2 files changed, 4 insertions(+), 117 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/83/28083/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/vendorcode/amd/pi/00670F00/Lib/amdlib.c b/src/vendorcode/amd/pi/00670F00/Lib/amdlib.c</span><br><span>index b400bca..784ba46 100644</span><br><span>--- a/src/vendorcode/amd/pi/00670F00/Lib/amdlib.c</span><br><span>+++ b/src/vendorcode/amd/pi/00670F00/Lib/amdlib.c</span><br><span>@@ -61,6 +61,7 @@</span><br><span>   IN       AMD_CONFIG_PARAMS *StdHeader</span><br><span>   );</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#if IS_ENABLED(CONFIG_VENDORCODE_FULL_SUPPORT)</span><br><span> VOID</span><br><span> STATIC</span><br><span> LibAmdGetDataFromPtr (</span><br><span>@@ -70,6 +71,8 @@</span><br><span>      OUT   UINT32       *TemData,</span><br><span>      OUT   UINT32       *TempDataMask</span><br><span>   );</span><br><span style="color: hsl(120, 100%, 40%);">+#endif /* IS_ENABLED(CONFIG_VENDORCODE_FULL_SUPPORT) */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> VOID</span><br><span> IdsOutPort (</span><br><span>   IN       UINT32 Addr,</span><br><span>@@ -579,36 +582,6 @@</span><br><span>   }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * IO read modify write</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] AccessWidth   Access width</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] IoAddress     IO address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] Data          OR data</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] DataMask      Mask to be used before data write back to register.</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdIoRMW (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 IoAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Data,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *DataMask,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  TempData;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  TempMask;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  Value;</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdGetDataFromPtr (AccessWidth, Data,  DataMask, &TempData, &TempMask);</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdIoRead (AccessWidth, IoAddress, &Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-  Value = (Value & (~TempMask)) | TempData;</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdIoWrite (AccessWidth, IoAddress, &Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> #if IS_ENABLED(CONFIG_VENDORCODE_FULL_SUPPORT)</span><br><span> /*---------------------------------------------------------------------------------------*/</span><br><span> /**</span><br><span>@@ -720,35 +693,6 @@</span><br><span>     break;</span><br><span>   }</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * Memory/MMIO read modify write</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] AccessWidth   Access width</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] MemAddress    Memory address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] Data          OR data</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] DataMask      Mask to be used before data write back to register.</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMemRMW (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 MemAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Data,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *DataMask,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  TempData;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  TempMask;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  Value;</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdGetDataFromPtr (AccessWidth, Data,  DataMask, &TempData, &TempMask);</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdMemRead (AccessWidth, MemAddress, &Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-  Value = (Value & (~TempMask)) | TempData;</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdMemWrite (AccessWidth, MemAddress, &Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span> </span><br><span> #if IS_ENABLED(CONFIG_VENDORCODE_FULL_SUPPORT)</span><br><span> /*---------------------------------------------------------------------------------------*/</span><br><span>@@ -891,36 +835,6 @@</span><br><span>   }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/*---------------------------------------------------------------------------------------*/</span><br><span style="color: hsl(0, 100%, 40%);">-/**</span><br><span style="color: hsl(0, 100%, 40%);">- * PCI read modify write</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] AccessWidth   Access width</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] PciAddress    Pci address</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] Data          OR Data</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] DataMask      Mask to be used before data write back to register.</span><br><span style="color: hsl(0, 100%, 40%);">- * @param[in] StdHeader     Standard configuration header</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdPciRMW (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       PCI_ADDR PciAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Data,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *DataMask,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  )</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  TempData = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  TempMask = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-  UINT32  Value;</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdGetDataFromPtr (AccessWidth, Data,  DataMask, &TempData, &TempMask);</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdPciRead (AccessWidth, PciAddress, &Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-  Value = (Value & (~TempMask)) | TempData;</span><br><span style="color: hsl(0, 100%, 40%);">-  LibAmdPciWrite (AccessWidth, PciAddress, &Value, NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> #if IS_ENABLED(CONFIG_VENDORCODE_FULL_SUPPORT)</span><br><span> /*---------------------------------------------------------------------------------------*/</span><br><span> /**</span><br><span>@@ -1297,6 +1211,7 @@</span><br><span> }</span><br><span> #endif /* IS_ENABLED(CONFIG_VENDORCODE_FULL_SUPPORT) */</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#if IS_ENABLED(CONFIG_VENDORCODE_FULL_SUPPORT)</span><br><span> /*---------------------------------------------------------------------------------------*/</span><br><span> /**</span><br><span>  * Returns the package type mask for the processor</span><br><span>@@ -1341,7 +1256,6 @@</span><br><span>   }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#if IS_ENABLED(CONFIG_VENDORCODE_FULL_SUPPORT)</span><br><span> /*---------------------------------------------------------------------------------------*/</span><br><span> /**</span><br><span>  * Returns the package type mask for the processor</span><br><span>diff --git a/src/vendorcode/amd/pi/00670F00/Lib/amdlib.h b/src/vendorcode/amd/pi/00670F00/Lib/amdlib.h</span><br><span>index 3f7fbbd..f41e0c4 100644</span><br><span>--- a/src/vendorcode/amd/pi/00670F00/Lib/amdlib.h</span><br><span>+++ b/src/vendorcode/amd/pi/00670F00/Lib/amdlib.h</span><br><span>@@ -164,15 +164,6 @@</span><br><span>   );</span><br><span> </span><br><span> VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdIoRMW (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT16 IoAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Data,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *DataMask,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span> LibAmdIoPoll (</span><br><span>   IN       ACCESS_WIDTH AccessWidth,</span><br><span>   IN       UINT16 IoAddress,</span><br><span>@@ -200,15 +191,6 @@</span><br><span>   );</span><br><span> </span><br><span> VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdMemRMW (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       UINT64 MemAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Data,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *DataMask,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span> LibAmdMemPoll (</span><br><span>   IN       ACCESS_WIDTH AccessWidth,</span><br><span>   IN       UINT64 MemAddress,</span><br><span>@@ -236,15 +218,6 @@</span><br><span>   );</span><br><span> </span><br><span> VOID</span><br><span style="color: hsl(0, 100%, 40%);">-LibAmdPciRMW (</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       ACCESS_WIDTH AccessWidth,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       PCI_ADDR PciAddress,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *Data,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN       CONST VOID *DataMask,</span><br><span style="color: hsl(0, 100%, 40%);">-  IN OUT   AMD_CONFIG_PARAMS *StdHeader</span><br><span style="color: hsl(0, 100%, 40%);">-  );</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span> LibAmdPciPoll (</span><br><span>   IN       ACCESS_WIDTH AccessWidth,</span><br><span>   IN       PCI_ADDR PciAddress,</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/28083">change 28083</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/28083"/><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: I570bd91cd9eba7798ea39d9685e214fee10824be </div>
<div style="display:none"> Gerrit-Change-Number: 28083 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Richard Spiegel <richard.spiegel@silverbackltd.com> </div>