public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: Max Krasnyansky <maxk@qualcomm.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: bluez-devel@lists.sourceforge.net
Subject: Re: What's the purpose of the new btusb driver ?
Date: Tue, 23 Oct 2007 09:23:42 -0700	[thread overview]
Message-ID: <471E200E.80108@qualcomm.com> (raw)
In-Reply-To: <1193139336.6184.191.camel@violet>



Marcel Holtmann wrote:
> Hi Max,
> 
>> I was going through latest 2.6 updates and noticed
>> 	"Generic Bluetooth USB driver"
>> Why do we need it ?
>>
>> The driver code looks awfully similar to my very first implementation of the hci_usb.
>> ie No URB queuing, etc.
>> I think the only thing that is wrong with hci_usb is the custom urb queuing code
>> (ie _urb stuff). That code was temporary at the time I put it in (year ago now). 
>> Greg and I were discussing merging it into USB core. I think we should just do 
>> that instead.
>> If you think URB queuing is no longer needed (I doubt it) then maybe we can just
>> rip that part out.
> 
> the USB subsystem changed a lot in the last two years and everything
> goes into the direction of one-shot URBs or is using USB anchors to
> track them. The btusb driver is a full re-write from scratch to make use
> of it. The driver is still marked as experimental and you can't select
> it if you enable hci_usb. I pushed it into the mainline kernel since we
> are currently trying to make it work with autosuspend and also with USB
> remote wakeup. Both are tricky parts and will need a lot of quirks. In
> the long run this driver should also do the correct alternate switching
> in case of SCO connections. So it is meant as a full replacement, but we
> are not there yet. The hci_usb driver works and I didn't wanna touch it
> unless we have a full replacement.
> 
> My latest tests with the bpa10x and bfusb drivers showed that the URB
> queuing code is not really needed. The USB core does this already for us
> and in case of control, interrupt and bulk URBs we can fire at will. The
> USB core will handle it. The re-submitting can be easily handled and we
> can attach an anchor to a number of URBs to later on kill them all at
> once. Latest edition was a flag to let the USB core free the buffer by
> itself so that the driver doesn't have to care about it anymore. All
> URBs now have a reference count and so the users are known.
> 
> I still have some minor troubles with the isochronous URBs for SCO
> support and this one-shot model, but that should be fixed soon.

Sounds good. Thanks for the explanation.

Max

  reply	other threads:[~2007-10-23 16:23 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-23  7:52 What's the purpose of the new btusb driver ? Max Krasnyansky
2007-10-23 11:35 ` [Bluez-devel] " Marcel Holtmann
2007-10-23 16:23   ` Max Krasnyansky [this message]
2007-10-25 22:54     ` Marcel Holtmann
2007-10-28  6:01       ` Max Krasnyansky
2007-10-28 15:35         ` Tom Allebrandi
2007-10-28 17:49         ` Marcel Holtmann
2007-11-10 19:20           ` Max Krasnyansky
2007-11-11  1:53             ` Marcel Holtmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=471E200E.80108@qualcomm.com \
    --to=maxk@qualcomm.com \
    --cc=bluez-devel@lists.sourceforge.net \
    --cc=marcel@holtmann.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox