Rev 4307 | Rev 4332 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4307 | Rev 4327 | ||
|---|---|---|---|
| Line 203... | Line 203... | ||
| 203 | dp_init(dep); |
203 | dp_init(dep); |
| 204 | return EOK; |
204 | return EOK; |
| 205 | } |
205 | } |
| 206 | 206 | ||
| 207 | /*===========================================================================* |
207 | /*===========================================================================* |
| - | 208 | * dp8390_dump * |
|
| - | 209 | *===========================================================================*/ |
|
| - | 210 | void dp8390_dump( dpeth_t * dep ) |
|
| - | 211 | { |
|
| - | 212 | // dpeth_t *dep; |
|
| - | 213 | int /*i,*/ isr; |
|
| - | 214 | ||
| - | 215 | // printf("\n"); |
|
| - | 216 | // for (i= 0, dep = &de_table[0]; i<DE_PORT_NR; i++, dep++) |
|
| - | 217 | // { |
|
| - | 218 | #if XXX |
|
| - | 219 | if (dep->de_mode == DEM_DISABLED) |
|
| - | 220 | printf("dp8390 port %d is disabled\n", i); |
|
| - | 221 | else if (dep->de_mode == DEM_SINK) |
|
| - | 222 | printf("dp8390 port %d is in sink mode\n", i); |
|
| - | 223 | #endif |
|
| - | 224 | ||
| - | 225 | if (dep->de_mode != DEM_ENABLED) |
|
| - | 226 | // continue; |
|
| - | 227 | return; |
|
| - | 228 | ||
| - | 229 | // printf("dp8390 statistics of port %d:\n", i); |
|
| - | 230 | ||
| - | 231 | printf("recvErr :%8ld\t", dep->de_stat.ets_recvErr); |
|
| - | 232 | printf("sendErr :%8ld\t", dep->de_stat.ets_sendErr); |
|
| - | 233 | printf("OVW :%8ld\n", dep->de_stat.ets_OVW); |
|
| - | 234 | ||
| - | 235 | printf("CRCerr :%8ld\t", dep->de_stat.ets_CRCerr); |
|
| - | 236 | printf("frameAll :%8ld\t", dep->de_stat.ets_frameAll); |
|
| - | 237 | printf("missedP :%8ld\n", dep->de_stat.ets_missedP); |
|
| - | 238 | ||
| - | 239 | printf("packetR :%8ld\t", dep->de_stat.ets_packetR); |
|
| - | 240 | printf("packetT :%8ld\t", dep->de_stat.ets_packetT); |
|
| - | 241 | printf("transDef :%8ld\n", dep->de_stat.ets_transDef); |
|
| - | 242 | ||
| - | 243 | printf("collision :%8ld\t", dep->de_stat.ets_collision); |
|
| - | 244 | printf("transAb :%8ld\t", dep->de_stat.ets_transAb); |
|
| - | 245 | printf("carrSense :%8ld\n", dep->de_stat.ets_carrSense); |
|
| - | 246 | ||
| - | 247 | printf("fifoUnder :%8ld\t", dep->de_stat.ets_fifoUnder); |
|
| - | 248 | printf("fifoOver :%8ld\t", dep->de_stat.ets_fifoOver); |
|
| - | 249 | printf("CDheartbeat:%8ld\n", dep->de_stat.ets_CDheartbeat); |
|
| - | 250 | ||
| - | 251 | printf("OWC :%8ld\t", dep->de_stat.ets_OWC); |
|
| - | 252 | ||
| - | 253 | isr= inb_reg0(dep, DP_ISR); |
|
| - | 254 | printf("dp_isr = 0x%x + 0x%x, de_flags = 0x%x\n", isr, |
|
| - | 255 | inb_reg0(dep, DP_ISR), dep->de_flags); |
|
| - | 256 | // } |
|
| - | 257 | } |
|
| - | 258 | ||
| - | 259 | /*===========================================================================* |
|
| 208 | * do_init * |
260 | * do_init * |
| 209 | *===========================================================================*/ |
261 | *===========================================================================*/ |
| 210 | int do_init( dpeth_t * dep, int mode ){ |
262 | int do_init( dpeth_t * dep, int mode ){ |
| 211 | if (dep->de_mode == DEM_DISABLED) |
263 | if (dep->de_mode == DEM_DISABLED) |
| 212 | { |
264 | { |
| Line 586... | Line 638... | ||
| 586 | } |
638 | } |
| 587 | 639 | ||
| 588 | /*===========================================================================* |
640 | /*===========================================================================* |
| 589 | * dp_check_ints * |
641 | * dp_check_ints * |
| 590 | *===========================================================================*/ |
642 | *===========================================================================*/ |
| 591 | void dp_check_ints(dep) |
643 | void dp_check_ints(dep, isr) |
| 592 | dpeth_t *dep; |
644 | dpeth_t *dep; |
| - | 645 | int isr; |
|
| 593 | { |
646 | { |
| 594 | int isr, tsr; |
647 | int /*isr,*/ tsr; |
| 595 | int size, sendq_tail; |
648 | int size, sendq_tail; |
| 596 | 649 | ||
| 597 | if (!(dep->de_flags & DEF_ENABLED)) |
650 | if (!(dep->de_flags & DEF_ENABLED)) |
| 598 | panic("", "dp8390: got premature interrupt", NO_NUM); |
651 | panic("", "dp8390: got premature interrupt", NO_NUM); |
| 599 | 652 | ||
| 600 | for(;;) |
653 | for(;;) |
| 601 | { |
654 | { |
| 602 | isr = inb_reg0(dep, DP_ISR); |
655 | // isr = inb_reg0(dep, DP_ISR); |
| 603 | if (!isr) |
656 | if (!isr) |
| 604 | break; |
657 | break; |
| 605 | outb_reg0(dep, DP_ISR, isr); |
658 | outb_reg0(dep, DP_ISR, isr); |
| 606 | if (isr & (ISR_PTX|ISR_TXE)) |
659 | if (isr & (ISR_PTX|ISR_TXE)) |
| 607 | { |
660 | { |
| Line 718... | Line 771... | ||
| 718 | "%s: NIC stopped\n", dep->de_name); } |
771 | "%s: NIC stopped\n", dep->de_name); } |
| 719 | #endif |
772 | #endif |
| 720 | dep->de_flags |= DEF_STOPPED; |
773 | dep->de_flags |= DEF_STOPPED; |
| 721 | break; |
774 | break; |
| 722 | } |
775 | } |
| - | 776 | isr = inb_reg0(dep, DP_ISR); |
|
| 723 | } |
777 | } |
| 724 | if ((dep->de_flags & (DEF_READING|DEF_STOPPED)) == |
778 | if ((dep->de_flags & (DEF_READING|DEF_STOPPED)) == |
| 725 | (DEF_READING|DEF_STOPPED)) |
779 | (DEF_READING|DEF_STOPPED)) |
| 726 | { |
780 | { |
| 727 | /* The chip is stopped, and all arrived packets are |
781 | /* The chip is stopped, and all arrived packets are |
| Line 1502... | Line 1556... | ||
| 1502 | } |
1556 | } |
| 1503 | 1557 | ||
| 1504 | if (r < 0) |
1558 | if (r < 0) |
| 1505 | panic("", "dp8390: send failed:", r); |
1559 | panic("", "dp8390: send failed:", r); |
| 1506 | |
1560 | |
| 1507 | dep->de_read_s = 0; |
1561 | */ dep->de_read_s = 0; |
| 1508 | */ dep->de_flags &= ~(DEF_PACK_SEND | DEF_PACK_RECV); |
1562 | dep->de_flags &= ~(DEF_PACK_SEND | DEF_PACK_RECV); |
| 1509 | } |
1563 | } |
| 1510 | 1564 | ||
| 1511 | /*===========================================================================* |
1565 | /*===========================================================================* |
| 1512 | * get_userdata * |
1566 | * get_userdata * |
| 1513 | *===========================================================================*/ |
1567 | *===========================================================================*/ |