|
List Info
Thread: question: workaround for AX88190 (dev/ed/if_ed.c)
|
|
| question: workaround for AX88190
(dev/ed/if_ed.c) |

|
2008-04-16 03:41:11 |
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-drive
rs
To unsubscribe, send any mail to
"freebsd-drivers-unsubscribe freebsd.org"
|
|
| Re: question: workaround for AX88190
(dev/ed/if_ed.c) |
  United States |
2008-04-16 11:39:38 |
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.
* 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-drive
rs
> 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-drive
rs
To unsubscribe, send any mail to
"freebsd-drivers-unsubscribe freebsd.org"
|
|
| Re: question: workaround for AX88190
(dev/ed/if_ed.c) |
  United States |
2008-04-16 14:20:24 |
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-drive
rs
: > 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-drive
rs
: To unsubscribe, send any mail to
"freebsd-drivers-unsubscribe freebsd.org"
:
:
_______________________________________________
freebsd-drivers freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drive
rs
To unsubscribe, send any mail to
"freebsd-drivers-unsubscribe freebsd.org"
|
|
[1-3]
|
|
|
about | contact Other archives ( Real Estate discussion Medical topics )
|