aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/vt6655/srom.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/vt6655/srom.c')
-rw-r--r--drivers/staging/vt6655/srom.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/staging/vt6655/srom.c b/drivers/staging/vt6655/srom.c
index 81b3934326f..5a7c6ca724b 100644
--- a/drivers/staging/vt6655/srom.c
+++ b/drivers/staging/vt6655/srom.c
@@ -44,7 +44,6 @@
44 44
45#include "upc.h" 45#include "upc.h"
46#include "tmacro.h" 46#include "tmacro.h"
47#include "tbit.h"
48#include "tether.h" 47#include "tether.h"
49#include "mac.h" 48#include "mac.h"
50#include "srom.h" 49#include "srom.h"
@@ -97,12 +96,12 @@ BYTE SROMbyReadEmbedded(DWORD_PTR dwIoBase, BYTE byContntOffset)
97 // wait DONE be set 96 // wait DONE be set
98 for (wDelay = 0; wDelay < W_MAX_TIMEOUT; wDelay++) { 97 for (wDelay = 0; wDelay < W_MAX_TIMEOUT; wDelay++) {
99 VNSvInPortB(dwIoBase + MAC_REG_I2MCSR, &byWait); 98 VNSvInPortB(dwIoBase + MAC_REG_I2MCSR, &byWait);
100 if (BITbIsAnyBitsOn(byWait, (I2MCSR_DONE | I2MCSR_NACK))) 99 if (byWait & (I2MCSR_DONE | I2MCSR_NACK))
101 break; 100 break;
102 PCAvDelayByIO(CB_DELAY_LOOP_WAIT); 101 PCAvDelayByIO(CB_DELAY_LOOP_WAIT);
103 } 102 }
104 if ((wDelay < W_MAX_TIMEOUT) && 103 if ((wDelay < W_MAX_TIMEOUT) &&
105 (BITbIsBitOff(byWait, I2MCSR_NACK))) { 104 ( !(byWait & I2MCSR_NACK))) {
106 break; 105 break;
107 } 106 }
108 } 107 }
@@ -146,13 +145,13 @@ BOOL SROMbWriteEmbedded (DWORD_PTR dwIoBase, BYTE byContntOffset, BYTE byData)
146 // wait DONE be set 145 // wait DONE be set
147 for (wDelay = 0; wDelay < W_MAX_TIMEOUT; wDelay++) { 146 for (wDelay = 0; wDelay < W_MAX_TIMEOUT; wDelay++) {
148 VNSvInPortB(dwIoBase + MAC_REG_I2MCSR, &byWait); 147 VNSvInPortB(dwIoBase + MAC_REG_I2MCSR, &byWait);
149 if (BITbIsAnyBitsOn(byWait, (I2MCSR_DONE | I2MCSR_NACK))) 148 if (byWait & (I2MCSR_DONE | I2MCSR_NACK))
150 break; 149 break;
151 PCAvDelayByIO(CB_DELAY_LOOP_WAIT); 150 PCAvDelayByIO(CB_DELAY_LOOP_WAIT);
152 } 151 }
153 152
154 if ((wDelay < W_MAX_TIMEOUT) && 153 if ((wDelay < W_MAX_TIMEOUT) &&
155 (BITbIsBitOff(byWait, I2MCSR_NACK))) { 154 ( !(byWait & I2MCSR_NACK))) {
156 break; 155 break;
157 } 156 }
158 } 157 }
@@ -228,7 +227,7 @@ BOOL SROMbIsRegBitsOn (DWORD_PTR dwIoBase, BYTE byContntOffset, BYTE byTestBits)
228 BYTE byOrgData; 227 BYTE byOrgData;
229 228
230 byOrgData = SROMbyReadEmbedded(dwIoBase, byContntOffset); 229 byOrgData = SROMbyReadEmbedded(dwIoBase, byContntOffset);
231 return BITbIsAllBitsOn(byOrgData, byTestBits); 230 return (byOrgData & byTestBits) == byTestBits;
232} 231}
233 232
234 233
@@ -251,7 +250,7 @@ BOOL SROMbIsRegBitsOff (DWORD_PTR dwIoBase, BYTE byContntOffset, BYTE byTestBits
251 BYTE byOrgData; 250 BYTE byOrgData;
252 251
253 byOrgData = SROMbyReadEmbedded(dwIoBase, byContntOffset); 252 byOrgData = SROMbyReadEmbedded(dwIoBase, byContntOffset);
254 return BITbIsAllBitsOff(byOrgData, byTestBits); 253 return !(byOrgData & byTestBits);
255} 254}
256 255
257 256
@@ -407,7 +406,7 @@ BOOL SROMbAutoLoad (DWORD_PTR dwIoBase)
407 for (ii = 0; ii < EEP_MAX_CONTEXT_SIZE; ii++) { 406 for (ii = 0; ii < EEP_MAX_CONTEXT_SIZE; ii++) {
408 MACvTimer0MicroSDelay(dwIoBase, CB_EEPROM_READBYTE_WAIT); 407 MACvTimer0MicroSDelay(dwIoBase, CB_EEPROM_READBYTE_WAIT);
409 VNSvInPortB(dwIoBase + MAC_REG_I2MCSR, &byWait); 408 VNSvInPortB(dwIoBase + MAC_REG_I2MCSR, &byWait);
410 if (BITbIsBitOff(byWait, I2MCSR_AUTOLD)) 409 if ( !(byWait & I2MCSR_AUTOLD))
411 break; 410 break;
412 } 411 }
413 412