Re: [RFC/PATCH 1/2] usb: gadget: u_char: introduce chardev abstraction layer

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

 



On Tue, Mar 09, 2010 at 05:39:28PM +0200, Roger Quadros wrote:
> ext Greg KH wrote:
> >On Tue, Mar 09, 2010 at 05:16:40PM +0200, Felipe Balbi wrote:
> >>On Tue, Mar 09, 2010 at 06:54:30AM -0800, Greg KH wrote:
> >>>Why is this needed?  Why not just use the serial driver instead?  That
> >>>should provide you with exactly the same end result, right?
> >>we experienced several problems with tty layer. The biggest of them is
> >>a race between flush_to_ldisc() and ->receiv_buf() which makes the line
> >>discipline (I guess only n_tty) loose bytes in some circumstances.
> >
> >That sounds like a bug we need to fix then, right?
> >
> >>On top of that there's also the performance issues with tty. the
> >>u_serial.c forces us to push each bMaxPacketSize packet to the
> >>controller driver which prevents us from actually getting some good deal
> >>out of the DMA engine. With u_char.c we are unloading based on what's in
> >>the kfifo right now (maybe we should use PAGE_SIZE transfers since our
> >>kfifo is allocated using vmalloc()), and we can easily optimize that on
> >>a per-product basis.
> >
> >Then why not just fix u_serial.c to push the same ammount of data?
> >
> >>Performance is a key concept here; specially when we need to flash
> >>hundreds of thousands of devices in a production line. Every milisecond
> >>counts.
> >
> >Sure, I understand, but it seems like it is easier to fix the existing
> >code for these minor things, than to write a whole new driver, right?
> >
> >If you do that, then the existing users will also benifit from those
> >changes.
> 
> hi Greg,
> 
> We also needed the following from MTP point of view
> 1) ability to handle ioctls in gadget driver
> 2) capability to send ZLP/SLP (zero/short length packets) at
> precisely the correct point in the data stream.
> 3) capability to send events received on EP0 to user space.
> 
> Is it good/possible to have these done in existing TTY framework?

No.  What's wrong with the gadgetfs interface for custom things such as
this?  You shouldn't need a special kernel driver for it, right?

thanks,

greg k-h
--
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