We're building a CE.NET 4.2 image and including the Intel
82559ER ethernet driver (on a Geode based platform).
Everything functions correctly, but our data transfer rate
is slow (we've seen 2X performance when running Linux on
the same platform). One thought is that DMA may not be
properly enabled (can anyone describe precisely how to
verify/correct this?). Another thought is that the port
is somehow being shared as a debug port (which is not
required), or that the interrupt is being shared with a
display driver (but we use only a flat display). Any
thoughts on the subject would be appreciated.

Thanks,
Kevin

Re: Intel 82559 Ethernet using DMA by Pete

Pete
Thu Sep 25 12:05:31 CDT 2003

The Intel 8255x Ethernet controllers are bus mastering PCI devices. To
function, the must be able to directly read and write system RAM, where they
read and write packet data to a set of linked-list data structures. The chip
uses on-board hardware to do this, and does not use an external DMA
controller.

Hope this helps.

"Kevin Williams" <kwilliams@integrian.com> wrote in message
news:079501c381ef$0f05c8b0$3101280a@phx.gbl...
> We're building a CE.NET 4.2 image and including the Intel
> 82559ER ethernet driver (on a Geode based platform).
> Everything functions correctly, but our data transfer rate
> is slow (we've seen 2X performance when running Linux on
> the same platform). One thought is that DMA may not be
> properly enabled (can anyone describe precisely how to
> verify/correct this?). Another thought is that the port
> is somehow being shared as a debug port (which is not
> required), or that the interrupt is being shared with a
> display driver (but we use only a flat display). Any
> thoughts on the subject would be appreciated.
>
> Thanks,
> Kevin



Re: Intel 82559 Ethernet using DMA by Kevin

Kevin
Thu Sep 25 14:10:09 CDT 2003

Thanks, that does help. As a note, it's working reliably
and (given your comment) appears to be set-up
correctly...unfortunately it's very slow. If you have any
thoughts on why that might be, I'd be happy to hear them.
I've added keywords to force full duplex and a 100Mb
connection, but still no luck. Still wondering if there
might be some kind of conflict.

Best Regards,
Kevin


>-----Original Message-----
>The Intel 8255x Ethernet controllers are bus mastering
PCI devices. To
>function, the must be able to directly read and write
system RAM, where they
>read and write packet data to a set of linked-list data
structures. The chip
>uses on-board hardware to do this, and does not use an
external DMA
>controller.
>
>Hope this helps.
>
>"Kevin Williams" <kwilliams@integrian.com> wrote in
message
>news:079501c381ef$0f05c8b0$3101280a@phx.gbl...
>> We're building a CE.NET 4.2 image and including the
Intel
>> 82559ER ethernet driver (on a Geode based platform).
>> Everything functions correctly, but our data transfer
rate
>> is slow (we've seen 2X performance when running Linux on
>> the same platform). One thought is that DMA may not be
>> properly enabled (can anyone describe precisely how to
>> verify/correct this?). Another thought is that the port
>> is somehow being shared as a debug port (which is not
>> required), or that the interrupt is being shared with a
>> display driver (but we use only a flat display). Any
>> thoughts on the subject would be appreciated.
>>
>> Thanks,
>> Kevin
>
>
>.
>

Re: Intel 82559 Ethernet using DMA by Pete

Pete
Fri Sep 26 08:32:19 CDT 2003

A long, long time ago, I worked on an 82558 driver for WinCE. I remember
that the performance was less than stellar, but one of the problems we kept
running into was that the controller got into a weird state, and had to be
reset occassionally by the code -- which caused two performance problems:
(1) the unresponsive controller didn't move any data, and
(2) when we reset the controller, we likely wound up throwing away any
packets that had arrived.

Intel used to make the software (WinNT NDIS driver) and developers manuals
available under NDA. You may try and contact them. Perhaps they will give
you the WinCE source code and you can better determine what's wrong.


"Kevin Williams" <kwilliams@integrian.com> wrote in message
news:073f01c38398$a393b5a0$a301280a@phx.gbl...
> Thanks, that does help. As a note, it's working reliably
> and (given your comment) appears to be set-up
> correctly...unfortunately it's very slow. If you have any
> thoughts on why that might be, I'd be happy to hear them.
> I've added keywords to force full duplex and a 100Mb
> connection, but still no luck. Still wondering if there
> might be some kind of conflict.
>
> Best Regards,
> Kevin
>
>
> >-----Original Message-----
> >The Intel 8255x Ethernet controllers are bus mastering
> PCI devices. To
> >function, the must be able to directly read and write
> system RAM, where they
> >read and write packet data to a set of linked-list data
> structures. The chip
> >uses on-board hardware to do this, and does not use an
> external DMA
> >controller.
> >
> >Hope this helps.
> >
> >"Kevin Williams" <kwilliams@integrian.com> wrote in
> message
> >news:079501c381ef$0f05c8b0$3101280a@phx.gbl...
> >> We're building a CE.NET 4.2 image and including the
> Intel
> >> 82559ER ethernet driver (on a Geode based platform).
> >> Everything functions correctly, but our data transfer
> rate
> >> is slow (we've seen 2X performance when running Linux on
> >> the same platform). One thought is that DMA may not be
> >> properly enabled (can anyone describe precisely how to
> >> verify/correct this?). Another thought is that the port
> >> is somehow being shared as a debug port (which is not
> >> required), or that the interrupt is being shared with a
> >> display driver (but we use only a flat display). Any
> >> thoughts on the subject would be appreciated.
> >>
> >> Thanks,
> >> Kevin
> >
> >
> >.
> >