Re: [PATCH 8/9] usb: dwc3: gadget: dynamically re-size TxFifos

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

 



Hi,

On Tue, Jan 24, 2012 at 01:55:15PM -0800, Paul Zimmerman wrote:
> Is it possible to make this optional? As I read the patch, right now the FIFO
> resizing will be done unconditionally after every SetConfig, is that correct?
> 
> The reason I am concerned, is that some users may have pre-configured their RTL
> with the exact FIFO sizes they want to use for their application, but your code
> will blow that away unconditionally. I don't think that is very nice.

Hmm, true that _does_ make sense. OTOH, that particular could be loosing
some oportunities to increase performance by not using this (maybe not
at this current form, because it's the simplest).

e.g.:

Let's say a certain user configured FIFO sizes thinking about his own
composite gadget which has (IN eps only): 1 control IN endpoints (1 *
512), 2 bulk endpoints (2 * 1024) and 1 interrupt endpoint (1 * 64).

If I don't resize fifos and this device is used as a mass storage
device, we will be loosing an oportunity to better use the fifo. We
could allocate ram1_fifo_size - ep0_fifo_size to the bulk TX endpoint,
right ?

I _do_ understand that the current form is just the simplest possible
solution to the bad default/reset values we had on Silicon, but I have
been experimenting with better allocating fifo depending on how many
endpoints are enabled, their wMaxPacketSize and the size of RAM1.

> You probably don't want a module parameter. Maybe we could enable this depending
> on the PCI ID, or from platform data?

Platform data will be vanishing soon, but we can have a devicetree
attribute to select that, for sure ;-)

Will hack that up quickly and send a revised patch.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


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

  Powered by Linux