<p>Nico Huber has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20764">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">libpayload/storage: Replace 1s AHCI reset delay with a timeout<br><br>AHCI spec explicitly states that we may poll.<br><br>TEST=Run FILO on kontron/bsl6 and observed that the controller<br>     always becomes ready during the first delay.<br><br>Change-Id: If34694abff14d719d10d89bc6771dbfa12065071<br>Signed-off-by: Nico Huber <nico.huber@secunet.com><br>---<br>M payloads/libpayload/drivers/storage/ahci.c<br>1 file changed, 3 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/64/20764/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/payloads/libpayload/drivers/storage/ahci.c b/payloads/libpayload/drivers/storage/ahci.c<br>index 3a0b99d..f388283 100644<br>--- a/payloads/libpayload/drivers/storage/ahci.c<br>+++ b/payloads/libpayload/drivers/storage/ahci.c<br>@@ -258,7 +258,9 @@<br>       /* Reset host controller. */<br>  ctrl->global_ctrl |= HBA_CTRL_RESET;<br>       /* Reset has to be finished after 1s. */<br>-     delay(1);<br>+    int timeout = 10 * 1000; /* Time out after 10,000 * 100us == 1s. */<br>+  while (ctrl->global_ctrl & HBA_CTRL_RESET && timeout--)<br>+               udelay(100);<br>  if (ctrl->global_ctrl & HBA_CTRL_RESET) {<br>              printf("ahci: ERROR: "<br>                      "Controller reset didn't finish within 1s.\n");<br></pre><p>To view, visit <a href="https://review.coreboot.org/20764">change 20764</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/20764"/><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: If34694abff14d719d10d89bc6771dbfa12065071 </div>
<div style="display:none"> Gerrit-Change-Number: 20764 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Nico Huber <nico.h@gmx.de> </div>