<p>Elyes HAOUAS has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/23579">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">southbridge/amd/cimx/sb900: Fix coding style<br><br>Change-Id: I5448004da37db02ba3ae5ac2677bfcf45b12418d<br>Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr><br>---<br>M src/southbridge/amd/cimx/sb900/smbus_spd.c<br>1 file changed, 73 insertions(+), 92 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/79/23579/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/southbridge/amd/cimx/sb900/smbus_spd.c b/src/southbridge/amd/cimx/sb900/smbus_spd.c</span><br><span>index 3fd4439..2f766e3 100644</span><br><span>--- a/src/southbridge/amd/cimx/sb900/smbus_spd.c</span><br><span>+++ b/src/southbridge/amd/cimx/sb900/smbus_spd.c</span><br><span>@@ -35,29 +35,20 @@</span><br><span> </span><br><span> #define SMBUS_BASE_ADDR 0xB00</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-STATIC</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-WritePmReg (</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINT8 Reg,</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINT8 Data</span><br><span style="color: hsl(0, 100%, 40%);">- )</span><br><span style="color: hsl(120, 100%, 40%);">+static void WritePmReg(int Reg, int Data)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (0xCD6, Reg);</span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (0xCD7, Data);</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(0xCD6, Reg);</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(0xCD7, Data);</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">-STATIC</span><br><span style="color: hsl(0, 100%, 40%);">-VOID</span><br><span style="color: hsl(0, 100%, 40%);">-SetupFch (</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINT16</span><br><span style="color: hsl(0, 100%, 40%);">- IN IoBase</span><br><span style="color: hsl(0, 100%, 40%);">- )</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static void SetupFch(int IoBase)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- WritePmReg (0x2D, IoBase >> 8);</span><br><span style="color: hsl(0, 100%, 40%);">- WritePmReg (0x2C, IoBase | 1);</span><br><span style="color: hsl(0, 100%, 40%);">- WritePmReg (0x29, 0x80);</span><br><span style="color: hsl(0, 100%, 40%);">- WritePmReg (0x28, 0x61);</span><br><span style="color: hsl(0, 100%, 40%);">- /* set SMBus clock to 400 KHz */</span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (IoBase + 0x0E, 66000000 / 400000 / 4);</span><br><span style="color: hsl(120, 100%, 40%);">+ WritePmReg(0x2D, IoBase >> 8);</span><br><span style="color: hsl(120, 100%, 40%);">+ WritePmReg(0x2C, IoBase | 1);</span><br><span style="color: hsl(120, 100%, 40%);">+ WritePmReg(0x29, 0x80);</span><br><span style="color: hsl(120, 100%, 40%);">+ WritePmReg(0x28, 0x61);</span><br><span style="color: hsl(120, 100%, 40%);">+ /* set SMBus clock to 400 KHz */</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(IoBase + 0x0E, 66000000 / 400000 / 4);</span><br><span> }</span><br><span> </span><br><span> /*</span><br><span>@@ -66,40 +57,37 @@</span><br><span> *</span><br><span> */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-STATIC</span><br><span style="color: hsl(0, 100%, 40%);">-AGESA_STATUS</span><br><span style="color: hsl(0, 100%, 40%);">-ReadSmbusByteData (</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINT16 Iobase,</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINT8 Address,</span><br><span style="color: hsl(0, 100%, 40%);">- OUT UINT8 *Buffer,</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINTN Offset</span><br><span style="color: hsl(0, 100%, 40%);">- )</span><br><span style="color: hsl(120, 100%, 40%);">+static int ReadSmbusByteData(int Iobase, int Address, char *Buffer, int Offset)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- UINTN Status;</span><br><span style="color: hsl(0, 100%, 40%);">- UINT64 Limit;</span><br><span style="color: hsl(120, 100%, 40%);">+ unsigned int Status;</span><br><span style="color: hsl(120, 100%, 40%);">+ UINT64 Limit;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- Address |= 1; // set read bit</span><br><span style="color: hsl(120, 100%, 40%);">+ Address |= 1; // set read bit</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (Iobase + 0, 0xFF); // clear error status</span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (Iobase + 1, 0x1F); // clear error status</span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (Iobase + 3, Offset); // offset in eeprom</span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (Iobase + 4, Address); // slave address and read bit</span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (Iobase + 2, 0x48); // read byte command</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(Iobase + 0, 0xFF); // clear error status</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(Iobase + 1, 0x1F); // clear error status</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(Iobase + 3, Offset); // offset in eeprom</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(Iobase + 4, Address); // slave address and read bit</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(Iobase + 2, 0x48); // read byte command</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* time limit to avoid hanging for unexpected error status (should never happen) */</span><br><span style="color: hsl(0, 100%, 40%);">- Limit = __rdtsc () + 2000000000 / 10;</span><br><span style="color: hsl(0, 100%, 40%);">- for (;;) {</span><br><span style="color: hsl(0, 100%, 40%);">- Status = __inbyte (Iobase);</span><br><span style="color: hsl(0, 100%, 40%);">- if (__rdtsc () > Limit) break;</span><br><span style="color: hsl(0, 100%, 40%);">- if ((Status & 2) == 0) continue; // SMBusInterrupt not set, keep waiting</span><br><span style="color: hsl(0, 100%, 40%);">- if ((Status & 1) == 1) continue; // HostBusy set, keep waiting</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ /* time limit to avoid hanging for unexpected error status (should never happen) */</span><br><span style="color: hsl(120, 100%, 40%);">+ Limit = __rdtsc() + 2000000000 / 10;</span><br><span style="color: hsl(120, 100%, 40%);">+ for (;;) {</span><br><span style="color: hsl(120, 100%, 40%);">+ Status = __inbyte(Iobase);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (__rdtsc() > Limit)</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ if ((Status & 2) == 0)</span><br><span style="color: hsl(120, 100%, 40%);">+ continue; // SMBusInterrupt not set, keep waiting</span><br><span style="color: hsl(120, 100%, 40%);">+ if ((Status & 1) == 1)</span><br><span style="color: hsl(120, 100%, 40%);">+ continue; // HostBusy set, keep waiting</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- Buffer [0] = __inbyte (Iobase + 5);</span><br><span style="color: hsl(0, 100%, 40%);">- if (Status == 2) Status = 0; // check for done with no errors</span><br><span style="color: hsl(0, 100%, 40%);">- return Status;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ Buffer [0] = __inbyte(Iobase + 5);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (Status == 2)</span><br><span style="color: hsl(120, 100%, 40%);">+ Status = 0; // check for done with no errors</span><br><span style="color: hsl(120, 100%, 40%);">+ return Status;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span> </span><br><span> /*</span><br><span> *</span><br><span>@@ -108,33 +96,31 @@</span><br><span> *</span><br><span> */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-STATIC</span><br><span style="color: hsl(0, 100%, 40%);">-AGESA_STATUS</span><br><span style="color: hsl(0, 100%, 40%);">-ReadSmbusByte (</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINT16 Iobase,</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINT8 Address,</span><br><span style="color: hsl(0, 100%, 40%);">- OUT UINT8 *Buffer</span><br><span style="color: hsl(0, 100%, 40%);">- )</span><br><span style="color: hsl(120, 100%, 40%);">+static int ReadSmbusByte(int Iobase, int Address, char *Buffer)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- UINTN Status;</span><br><span style="color: hsl(0, 100%, 40%);">- UINT64 Limit;</span><br><span style="color: hsl(120, 100%, 40%);">+ unsigned int Status;</span><br><span style="color: hsl(120, 100%, 40%);">+ UINT64 Limit;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (Iobase + 0, 0xFF); // clear error status</span><br><span style="color: hsl(0, 100%, 40%);">- __outbyte (Iobase + 2, 0x44); // read command</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(Iobase + 0, 0xFF); // clear error status</span><br><span style="color: hsl(120, 100%, 40%);">+ __outbyte(Iobase + 2, 0x44); // read command</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- // time limit to avoid hanging for unexpected error status</span><br><span style="color: hsl(0, 100%, 40%);">- Limit = __rdtsc () + 2000000000 / 10;</span><br><span style="color: hsl(0, 100%, 40%);">- for (;;) {</span><br><span style="color: hsl(0, 100%, 40%);">- Status = __inbyte (Iobase);</span><br><span style="color: hsl(0, 100%, 40%);">- if (__rdtsc () > Limit) break;</span><br><span style="color: hsl(0, 100%, 40%);">- if ((Status & 2) == 0) continue; // SMBusInterrupt not set, keep waiting</span><br><span style="color: hsl(0, 100%, 40%);">- if ((Status & 1) == 1) continue; // HostBusy set, keep waiting</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ // time limit to avoid hanging for unexpected error status</span><br><span style="color: hsl(120, 100%, 40%);">+ Limit = __rdtsc() + 2000000000 / 10;</span><br><span style="color: hsl(120, 100%, 40%);">+ for (;;) {</span><br><span style="color: hsl(120, 100%, 40%);">+ Status = __inbyte(Iobase);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (__rdtsc() > Limit)</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ if ((Status & 2) == 0)</span><br><span style="color: hsl(120, 100%, 40%);">+ continue; // SMBusInterrupt not set, keep waiting</span><br><span style="color: hsl(120, 100%, 40%);">+ if ((Status & 1) == 1)</span><br><span style="color: hsl(120, 100%, 40%);">+ continue; // HostBusy set, keep waiting</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- Buffer [0] = __inbyte (Iobase + 5);</span><br><span style="color: hsl(0, 100%, 40%);">- if (Status == 2) Status = 0; // check for done with no errors</span><br><span style="color: hsl(0, 100%, 40%);">- return Status;</span><br><span style="color: hsl(120, 100%, 40%);">+ Buffer [0] = __inbyte(Iobase + 5);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (Status == 2)</span><br><span style="color: hsl(120, 100%, 40%);">+ Status = 0; // check for done with no errors</span><br><span style="color: hsl(120, 100%, 40%);">+ return Status;</span><br><span> }</span><br><span> </span><br><span> /*</span><br><span>@@ -147,31 +133,26 @@</span><br><span> *</span><br><span> */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-STATIC</span><br><span style="color: hsl(0, 100%, 40%);">-AGESA_STATUS</span><br><span style="color: hsl(0, 100%, 40%);">-ReadSpd (</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINT16 IoBase,</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINT8 SmbusSlaveAddress,</span><br><span style="color: hsl(0, 100%, 40%);">- OUT UINT8 *Buffer,</span><br><span style="color: hsl(0, 100%, 40%);">- IN UINTN Count</span><br><span style="color: hsl(0, 100%, 40%);">- )</span><br><span style="color: hsl(120, 100%, 40%);">+static int ReadSpd(int IoBase, int SmbusSlaveAddress, char *Buffer, int Count)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- UINTN Index, Status;</span><br><span style="color: hsl(120, 100%, 40%);">+ int Index, Status;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* read the first byte using offset zero */</span><br><span style="color: hsl(0, 100%, 40%);">- Status = ReadSmbusByteData (IoBase, SmbusSlaveAddress, Buffer, 0);</span><br><span style="color: hsl(0, 100%, 40%);">- if (Status) return Status;</span><br><span style="color: hsl(120, 100%, 40%);">+ /* read the first byte using offset zero */</span><br><span style="color: hsl(120, 100%, 40%);">+ Status = ReadSmbusByteData(IoBase, SmbusSlaveAddress, Buffer, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (Status)</span><br><span style="color: hsl(120, 100%, 40%);">+ return Status;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* read the remaining bytes using auto-increment for speed */</span><br><span style="color: hsl(0, 100%, 40%);">- for (Index = 1; Index < Count; Index++){</span><br><span style="color: hsl(0, 100%, 40%);">- Status = ReadSmbusByte (IoBase, SmbusSlaveAddress, &Buffer [Index]);</span><br><span style="color: hsl(0, 100%, 40%);">- if (Status) return Status;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ /* read the remaining bytes using auto-increment for speed */</span><br><span style="color: hsl(120, 100%, 40%);">+ for (Index = 1; Index < Count; Index++){</span><br><span style="color: hsl(120, 100%, 40%);">+ Status = ReadSmbusByte(IoBase, SmbusSlaveAddress, &Buffer [Index]);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (Status)</span><br><span style="color: hsl(120, 100%, 40%);">+ return Status;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ return 0;</span><br><span> }</span><br><span> </span><br><span> int smbus_readSpd(int spdAddress, char *buf, size_t len)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- SetupFch (SMBUS_BASE_ADDR);</span><br><span style="color: hsl(0, 100%, 40%);">- return ReadSpd (SMBUS_BASE_ADDR, spdAddress, (UINT8 *) buf, len);</span><br><span style="color: hsl(120, 100%, 40%);">+ SetupFch(SMBUS_BASE_ADDR);</span><br><span style="color: hsl(120, 100%, 40%);">+ return ReadSpd(SMBUS_BASE_ADDR, spdAddress, buf, len);</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/23579">change 23579</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/23579"/><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: I5448004da37db02ba3ae5ac2677bfcf45b12418d </div>
<div style="display:none"> Gerrit-Change-Number: 23579 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Elyes HAOUAS <ehaouas@noos.fr> </div>