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
next prev parent 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