IB/ipath: Add flag and handling for chips with swapped register bug
The 6110 had a bug that caused some registers to be swapped; it was fixed for the 7220 (and didn't affect the 6120 because it had fewer registers). This adds a flag and related code to handle that, and includes some minor cleanups in the same area. Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Cette révision appartient à :

révisé par
Roland Dreier

Parent
60948a4158
révision
4ea61b548b
@@ -831,8 +831,8 @@ void ipath_clear_freeze(struct ipath_devdata *dd)
|
||||
*/
|
||||
for (i = 0; i < dd->ipath_pioavregs; i++) {
|
||||
/* deal with 6110 chip bug */
|
||||
im = i > 3 ? ((i&1) ? i-1 : i+1) : i;
|
||||
val = ipath_read_kreg64(dd, (0x1000/sizeof(u64))+im);
|
||||
im = i > 3 ? i ^ 1 : i;
|
||||
val = ipath_read_kreg64(dd, (0x1000 / sizeof(u64)) + im);
|
||||
dd->ipath_pioavailregs_dma[i] = dd->ipath_pioavailshadow[i]
|
||||
= le64_to_cpu(val);
|
||||
}
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur