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