public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] Driver with 2 EMAC
@ 2005-08-29  5:23 mkhoyila
       [not found] ` <1125520597.5367.5.camel@hermes>
       [not found] ` <1125306497.28508.350.camel@hermes>
  0 siblings, 2 replies; 4+ messages in thread
From: mkhoyila @ 2005-08-29  5:23 UTC (permalink / raw)
  To: ecos-discuss

Gentlemen,

Thanks for the help. Any of you have any reference on how to write a
driver to handle  2 EMACs. I am interested in setting up the structures
mostly. Any sample code is appreciated. Thanks.

Michael


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ECOS] RE eCos :   XXXX_RECV with zero copy
       [not found] ` <1125520597.5367.5.camel@hermes>
@ 2005-09-02 20:31   ` mkhoyila
  0 siblings, 0 replies; 4+ messages in thread
From: mkhoyila @ 2005-09-02 20:31 UTC (permalink / raw)
  To: ecos-discuss


Thanks Gary for your help on 2 EMAC. I have it working with 2EMACs.

I do have another question regarding XXXX_RECV function to implement
zero-copy. On the XXXX_SEND, I can avoid copying from scatter-gather list
to my DMA buffers since my hardware allows SOP (Start Of Packet) and EOP.

I also want to avoid copying in XXXX_RECV from DMA buffers to
Scatter-Gather list. Is there a way to acheive this? Meaning that I could
pass address/Length of my Receive DMA address to eCos where received data
is?

Thanks again.

MHK



-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ECOS] XXXX_RECV multiple packet receipt
       [not found] ` <1125306497.28508.350.camel@hermes>
@ 2005-09-02 22:20   ` mkhoyila
  2005-09-02 22:29     ` Gary Thomas
  0 siblings, 1 reply; 4+ messages in thread
From: mkhoyila @ 2005-09-02 22:20 UTC (permalink / raw)
  To: ecos-discuss

Gentlemen,

In some cases when a single receive interrupt happens, I get multiple
packets sitting in my Receive Buffers (multiple rxBuffers filled, each
buffer corresponds to one received packet). Is it possible to receive
these packets with a single call to eth_drv_dsr() which eventually
XXXX-Recv will be called?

I would like to take advantage of having multiple buffers and receiving
all at the same time for performance reasons.

I would appreciate your response to my earlier email regarding zero-copy
in XXXX_Recv function as well. Thank you.

Michael



-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ECOS] XXXX_RECV multiple packet receipt
  2005-09-02 22:20   ` [ECOS] XXXX_RECV multiple packet receipt mkhoyila
@ 2005-09-02 22:29     ` Gary Thomas
  0 siblings, 0 replies; 4+ messages in thread
From: Gary Thomas @ 2005-09-02 22:29 UTC (permalink / raw)
  To: mkhoyila; +Cc: eCos Discussion

On Fri, 2005-09-02 at 15:23 -0700, mkhoyila@uci.edu wrote:
> Gentlemen,
> 
> In some cases when a single receive interrupt happens, I get multiple
> packets sitting in my Receive Buffers (multiple rxBuffers filled, each
> buffer corresponds to one received packet). Is it possible to receive
> these packets with a single call to eth_drv_dsr() which eventually
> XXXX-Recv will be called?
> 
> I would like to take advantage of having multiple buffers and receiving
> all at the same time for performance reasons.
> 

Yes, this works just fine.  In your DSR handler, simply call 
eth_drv_recv() for every packet that you have buffered up.

> I would appreciate your response to my earlier email regarding zero-copy
> in XXXX_Recv function as well. Thank you.

This is a much harder problem and, sadly, with the current upper
layer design, there is no way to accomplish it at this time.  It
would require a fairly significant restructuring of the middle
layer (eth_drv) which sits between the stacks and the hardware
drivers.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-09-02 22:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-29  5:23 [ECOS] Driver with 2 EMAC mkhoyila
     [not found] ` <1125520597.5367.5.camel@hermes>
2005-09-02 20:31   ` [ECOS] RE eCos : XXXX_RECV with zero copy mkhoyila
     [not found] ` <1125306497.28508.350.camel@hermes>
2005-09-02 22:20   ` [ECOS] XXXX_RECV multiple packet receipt mkhoyila
2005-09-02 22:29     ` Gary Thomas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).