smc90cx6.c (167753) | smc90cx6.c (172568) |
---|---|
1/* $NetBSD: smc90cx6.c,v 1.38 2001/07/07 15:57:53 thorpej Exp $ */ 2 3#include <sys/cdefs.h> | 1/* $NetBSD: smc90cx6.c,v 1.38 2001/07/07 15:57:53 thorpej Exp $ */ 2 3#include <sys/cdefs.h> |
4__FBSDID("$FreeBSD: head/sys/dev/cm/smc90cx6.c 167753 2007-03-21 03:38:37Z nyan $"); | 4__FBSDID("$FreeBSD: head/sys/dev/cm/smc90cx6.c 172568 2007-10-12 06:03:46Z kevlo $"); |
5 6/*- 7 * Copyright (c) 1994, 1995, 1998 The NetBSD Foundation, Inc. 8 * All rights reserved. 9 * 10 * This code is derived from software contributed to The NetBSD Foundation 11 * by Ignatios Souvatzis. 12 * --- 574 unchanged lines hidden (view full) --- 587 /* mark buffer as invalid by source id 0 */ 588 PUTMEM(buffer << 9, 0); 589 if (--sc->sc_rx_fillcount == 2 - 1) { 590 591 /* was off, restart it on buffer just emptied */ 592 sc->sc_rx_act = buffer; 593 sc->sc_intmask |= CM_RI; 594 | 5 6/*- 7 * Copyright (c) 1994, 1995, 1998 The NetBSD Foundation, Inc. 8 * All rights reserved. 9 * 10 * This code is derived from software contributed to The NetBSD Foundation 11 * by Ignatios Souvatzis. 12 * --- 574 unchanged lines hidden (view full) --- 587 /* mark buffer as invalid by source id 0 */ 588 PUTMEM(buffer << 9, 0); 589 if (--sc->sc_rx_fillcount == 2 - 1) { 590 591 /* was off, restart it on buffer just emptied */ 592 sc->sc_rx_act = buffer; 593 sc->sc_intmask |= CM_RI; 594 |
595 /* this also clears the RI flag interupt: */ | 595 /* this also clears the RI flag interrupt: */ |
596 PUTREG(CMCMD, CM_RXBC(buffer)); 597 PUTREG(CMSTAT, sc->sc_intmask); 598 599#ifdef CM_DEBUG 600 if_printf(ifp, "srint: restarted rx on buf %d\n", buffer); 601#endif 602 } 603} --- 170 unchanged lines hidden (view full) --- 774 buffer = sc->sc_rx_act; 775 /* look if buffer is marked invalid: */ 776 if (GETMEM(buffer * 512) == 0) { 777 /* 778 * invalid marked buffer (or illegally 779 * configured sender) 780 */ 781 log(LOG_WARNING, | 596 PUTREG(CMCMD, CM_RXBC(buffer)); 597 PUTREG(CMSTAT, sc->sc_intmask); 598 599#ifdef CM_DEBUG 600 if_printf(ifp, "srint: restarted rx on buf %d\n", buffer); 601#endif 602 } 603} --- 170 unchanged lines hidden (view full) --- 774 buffer = sc->sc_rx_act; 775 /* look if buffer is marked invalid: */ 776 if (GETMEM(buffer * 512) == 0) { 777 /* 778 * invalid marked buffer (or illegally 779 * configured sender) 780 */ 781 log(LOG_WARNING, |
782 "%s: spurious RX interupt or sender 0 " | 782 "%s: spurious RX interrupt or sender 0 " |
783 " (ignored)\n", ifp->if_xname); 784 /* 785 * restart receiver on same buffer. 786 * XXX maybe better reset interface? 787 */ 788 PUTREG(CMCMD, CM_RXBC(buffer)); 789 } else { 790 if (++sc->sc_rx_fillcount > 1) { 791 sc->sc_intmask &= ~CM_RI; 792 PUTREG(CMSTAT, sc->sc_intmask); 793 } else { 794 buffer ^= 1; 795 sc->sc_rx_act = buffer; 796 797 /* 798 * Start receiver on other receive 799 * buffer. This also clears the RI | 783 " (ignored)\n", ifp->if_xname); 784 /* 785 * restart receiver on same buffer. 786 * XXX maybe better reset interface? 787 */ 788 PUTREG(CMCMD, CM_RXBC(buffer)); 789 } else { 790 if (++sc->sc_rx_fillcount > 1) { 791 sc->sc_intmask &= ~CM_RI; 792 PUTREG(CMSTAT, sc->sc_intmask); 793 } else { 794 buffer ^= 1; 795 sc->sc_rx_act = buffer; 796 797 /* 798 * Start receiver on other receive 799 * buffer. This also clears the RI |
800 * interupt flag. | 800 * interrupt flag. |
801 */ 802 PUTREG(CMCMD, CM_RXBC(buffer)); 803 /* in RX intr, so mask is ok for RX */ 804 805#ifdef CM_DEBUG 806 if_printf(ifp, "strt rx for buf %d, " 807 "stat 0x%02x\n", 808 sc->sc_rx_act, GETREG(CMSTAT)); --- 127 unchanged lines hidden --- | 801 */ 802 PUTREG(CMCMD, CM_RXBC(buffer)); 803 /* in RX intr, so mask is ok for RX */ 804 805#ifdef CM_DEBUG 806 if_printf(ifp, "strt rx for buf %d, " 807 "stat 0x%02x\n", 808 sc->sc_rx_act, GETREG(CMSTAT)); --- 127 unchanged lines hidden --- |