This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: CS8900: Tx interrupt lost
- To: "Peter Graf" <p dot graf at itknet dot de>,<ecos-discuss at sourceware dot cygnus dot com>
- Subject: RE: [ECOS] CS8900: Tx interrupt lost
- From: "Todd Malsbary" <toddm at iobjects dot com>
- Date: Tue, 14 Aug 2001 09:39:24 -0700
i had this problem and i believe it was caused by transmit underruns
(which come in the form of a buffer event). having the transmit
underrun event handler release the buffer instead of the other code
eliminated having to wait for a timeout. you can also change the
transmit command to wait until more bytes have been written to the
controller before starting packet transmission.
> -----Original Message-----
> From: Peter Graf [mailto:p.graf@itknet.de]
> Sent: Tuesday, August 14, 2001 4:50 AM
> To: ecos-discuss@sourceware.cygnus.com
> Subject: Re: [ECOS] CS8900: Tx interrupt lost
>
>
> Trenton D. Adams wrote:
>
> >What does that mean exactly? Maybe 250ms isn't long enough for a
> >transmit?
> >
> >CS8900: Tx interrupt lost
>
> Don't know about your target. Mine is a custom Hitachi SH3.
>
> I had the same problem, if I just rely in Interrupts for Transmission.
> On my target, the problem would not disappear if I send
> shorter packets or
> use a longer timeout.
>
> It seems that the interupts are really lost, either due to a
> hardware problem
> of the Cirrus logic chip, or unlucky programming of its registers.
>
> I worked around the problem by polling the device in addition
> to using the
> interrupt.
>
> Peter
>
>