Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Apr 2008 13:20:24 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        alfred@freebsd.org
Cc:        freebsd-drivers@freebsd.org
Subject:   Re: question: workaround for AX88190 (dev/ed/if_ed.c)
Message-ID:  <20080416.132024.1649777798.imp@bsdimp.com>
In-Reply-To: <20080416163938.GM95731@elvis.mu.org>
References:  <4805BBA7.60806@iij.ad.jp> <20080416163938.GM95731@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20080416163938.GM95731@elvis.mu.org>
            Alfred Perlstein <alfred@freebsd.org> writes:
: I think the driver developer found the card buggy and wanted
: to give it a longer try to clear the status bits, but if it
: just flat out refuses to clear status, then it just aborts.

Some versions of silicon seem to be better than others at this as
well.  Some cards need it, but most don't.

Warner


: * Sogabe Takashi <sogabe@iij.ad.jp> [080416 02:00] wrote:
: > Hi all,
: > 
: > Does anyone know what kind of problems about following
: > workaround-code?
: > 
: > I read asix datasheets, but corresponding problem is not
: > described.
: > 
: > (in sys/dev/ed/if_ed.c)
: > /*
: >  * Ethernet interface interrupt processor
: >  */
: > void
: > edintr(void *arg)
: > {
: > ...
: > 		/*
: > 		 * XXX workaround for AX88190
: > 		 * We limit this to 5000 iterations.  At 1us per inb/outb,
: > 		 * this translates to about 15ms, which should be plenty
: > 		 * of time, and also gives protection in the card eject
: > 		 * case.
: > 		 */
: > 		if (sc->chip_type == ED_CHIP_TYPE_AX88190) {
: > 			count = 5000;		/* 15ms */
: > 			while (count-- && (ed_nic_inb(sc, ED_P0_ISR) & isr)) {
: > 				ed_nic_outb(sc, ED_P0_ISR,0);
: > 				ed_nic_outb(sc, ED_P0_ISR,isr);
: > 			}
: > 			if (count == 0)
: > 				break;
: > 		}
: > ...
: > }
: > 
: > --
: > sogabe@iij.ad.jp
: > _______________________________________________
: > freebsd-drivers@freebsd.org mailing list
: > http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
: > To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@freebsd.org"
: 
: -- 
: - Alfred Perlstein
: _______________________________________________
: freebsd-drivers@freebsd.org mailing list
: http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
: To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@freebsd.org"
: 
: 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080416.132024.1649777798.imp>