This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Updates for the AT91 EMAC driver


Hi all,

This patch adds all the little fixes and tweaks  that I have made to this
driver over the last year. 

In a nutshell I have added support for the RX error interrupts as well as
the none buffer related TX error interrupts.
I thought that since the driver only transmits one frame at a time in its
current implementation that the under/over run interrupts
could be ignored for now.
I have also fixed a small bug in the receive function that cause the driver
to hang in an infinite loop when the sg_list buffers were bigger 
than the driver receive buffers.

There still remains a very nasty bug in the eth_deliver/DSR function. The
RBD handling of this function sometimes gets it wrong and 
Then hangs in an infinite loop while trying to find a SOF or the first non
software owned Receive buffer. I have added a quick fix kludge to
Try and clear out of the loop after it has cycled through all the buffers at
least once. At the moment I have run out of time to spend on the driver
though.

We are much closer to a real driver but it is still not there yet.

Apologies for not generating the patch from the packages directory, I
somehow stuffed up the cvs tree 
and was only able to do the diff from the drivers' current directory
(packages/devs/eth/arm/at91/current/) .  
 
Happy Hacking
John Eigelaar 

	

Attachment: at91_eth.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]