question: workaround for AX88190 (dev/ed/if_ed.c)

M. Warner Losh imp at bsdimp.com
Wed Apr 16 19:20:17 UTC 2008


In message: <20080416163938.GM95731 at elvis.mu.org>
            Alfred Perlstein <alfred at 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 at 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 at iij.ad.jp
: > _______________________________________________
: > freebsd-drivers at freebsd.org mailing list
: > http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
: > To unsubscribe, send any mail to "freebsd-drivers-unsubscribe at freebsd.org"
: 
: -- 
: - Alfred Perlstein
: _______________________________________________
: freebsd-drivers at freebsd.org mailing list
: http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
: To unsubscribe, send any mail to "freebsd-drivers-unsubscribe at freebsd.org"
: 
: 


More information about the freebsd-drivers mailing list