Re: [PATCH 0/3] NCM gadget

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

>>>>> "eFB" == ext Felipe Balbi writes:
 >  On Thu, Dec 09, 2010 at 11:38:17AM +0200, Yauheni Kaliuta wrote:

[...]

 > >I'm thinking of 2 ways how to imporove the situation: from the network
 > >layer and on the usb gadget layer to allow to make requests from a set of
 > >buffers (the host controllers go to the direction even in HW), especially
 > >when we have FIFO in gadget HW.
 > >
 > >Do you have any ideas about that?

 > Do you mean something like DMA chaining ? That would not work with
 > Inventra DMA least (which is a shame),

Kind of. I'm thinking mostly about generic logic of chained buffer for
request. If there is chained DMA, it can be used then, or it can be
emulated in SW, it's possible to use DMA to submit only parts, PIO for
others, it's possible to even make a flat buffer inside ...

 > I have also been thinking about a way of combining the requests, but
 > every time I think about it I remember socket layer doesn't let us reuse
 > the socket buffers :-(

 > If it did, _maybe_ we could allocate a dma pool (with dma_pool_create())
 > of e.g. 16Kb, and have a bunch o skbuffs allocated from that pool, then
 > when pool if full, we send the entire pool to DMA ?!?

 > That would mean we would need at least 2 pools, one for RX and one for
 > TX. Other than that, I can't think of anything that doesn't involve
 > memcpy().

About network layer I'm thinking first of allocating of skbs with respect
of bottom layer. Like we have an api to gadget driver to allocate usb
request, network layer may have an api to network driver (and thats usbnet
for us) to prepare skb how it's better for it. You are talking already more
closer to the implementation details if I understand you right.

Do my words sound logical somehow?

-- 
WBR, Yauheni Kaliuta
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux