Date: Sat, 11 Jul 2009 17:10:16 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-current@freebsd.org Cc: usb@freebsd.org, Andrew Thompson <thompsa@freebsd.org> Subject: Re: USB polling Message-ID: <200907111710.18843.hselasky@c2i.net> In-Reply-To: <1280352d0907101020q69f494cdndb01ff14ecf7ea8c@mail.gmail.com> References: <1280352d0907101020q69f494cdndb01ff14ecf7ea8c@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 10 July 2009 19:20:01 Andrew Thompson wrote: > Hi, > > The one usb task that is still an issue for 8.0 is the polling > support. The code needs to call into the host controller driver to > check if the usb descriptor has been marked as done and call the > completion callback. I am now traveling so cant look at it, if anyone > wants to have a look it would be fantastic. This is needed for places > where a usb keyboard is used and interrupts are disabled (root mount, > DDB). Hi, Probably we can implement USB polling with minimal transfer support. That basically means: - no timeouts - no automatic clear-stall Only support for ukbd and umass. Shouldn't be too hard. What is more hard, is that the sys/dev/usb/input/ukbd.c driver has to get away from using the Giant lock. Last time I looked at that it was impossible because the whole keyboard layer was under Giant. Has anything changed here? If not the USB keyboard will only work if kdb_enter() is called when Giant is locked! --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907111710.18843.hselasky>