|
@@ -287,6 +287,7 @@ static void __attribute__ (( unused )) intel_diag ( struct intel_nic *intel ) {
|
287
|
287
|
*/
|
288
|
288
|
static int intel_reset ( struct intel_nic *intel ) {
|
289
|
289
|
uint32_t pbs;
|
|
290
|
+ uint32_t pba;
|
290
|
291
|
uint32_t ctrl;
|
291
|
292
|
uint32_t status;
|
292
|
293
|
|
|
@@ -295,10 +296,14 @@ static int intel_reset ( struct intel_nic *intel ) {
|
295
|
296
|
*/
|
296
|
297
|
pbs = readl ( intel->regs + INTEL_PBS );
|
297
|
298
|
if ( ( pbs == 0x14 ) || ( pbs == 0x18 ) ) {
|
298
|
|
- DBGC ( intel, "INTEL %p WARNING: applying ICH PBS/PBA errata "
|
299
|
|
- "(found PBS %#08x)\n", intel, pbs );
|
|
299
|
+ DBGC ( intel, "INTEL %p WARNING: applying ICH PBS/PBA errata\n",
|
|
300
|
+ intel );
|
|
301
|
+ pba = readl ( intel->regs + INTEL_PBA );
|
300
|
302
|
writel ( 0x08, intel->regs + INTEL_PBA );
|
301
|
303
|
writel ( 0x10, intel->regs + INTEL_PBS );
|
|
304
|
+ DBGC ( intel, "INTEL %p PBS %#08x->%#08x PBA %#08x->%#08x\n",
|
|
305
|
+ intel, pbs, readl ( intel->regs + INTEL_PBS ),
|
|
306
|
+ pba, readl ( intel->regs + INTEL_PBA ) );
|
302
|
307
|
}
|
303
|
308
|
|
304
|
309
|
/* Always reset MAC. Required to reset the TX and RX rings. */
|