RE: Default to HW mSBC on capable controllers ?

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

 



Hi,

> On Monday 21 December 2020 17:54:56 Luiz Augusto von Dentz wrote:
> > Hi Pali,
> >
> > On Mon, Dec 21, 2020 at 1:14 PM Pali Rohár <pali@xxxxxxxxxx> wrote:
> > >
> > > On Friday 18 December 2020 11:43:32 Luiz Augusto von Dentz wrote:
> > > > Hi Joakim,
> > > >
> > > > On Fri, Dec 18, 2020 at 10:48 AM Joakim Tjernlund
> > > > <Joakim.Tjernlund@xxxxxxxxxxxx> wrote:
> > > > >
> > > > > There seems to be quite a few USB controllers gaining the BTUSB_WIDEBAND_SPEECH which I guess means HW mSBC but currently there is no way to select this mode.
> > > > > Any idea if one could patch the kernel to default to HW mSBC and user apps like bluealsa/pulseaudio would just use it automatically?
> > > >
> > > > It is in our plan to support HW offloading, but that doesn't mean all
> > > > platforms will be supported since that depends on the PCM lines being
> > > > connected to BT controller in the first place.
> > >
> > > Dedicated PCM lines are used in embedded world and maybe also still in
> > > some mobile segment. I remember that e.g. Nokia N900 had this setup. And
> > > it was quite crazy how it was finally configured... but it worked!
> > >
> > > But this is nothing for classic x86 laptops with USB bluetooth
> > > controllers on classic intel bluetooth+wifi mPCIe cards where SCO
> > > traffic is routed via HCI (over USB). And not via dedicated PCM pins.
> > > Moreover I think there are not any mainstream laptop which have PCM pins
> > > on mPCIe slots usable for such bluetooth mPCIe cards.
> > >
> > > For classic desktop / laptop it is needed to deal with fact that SCO
> > > audio is routed via HCI (like A2DP) and therefore support for Enhanced
> > > Setup Synchronous Connection HCI command.
> > >
> > > AFAIK even for routing SCO over PCM when mSBC hw encoder is used,
> > > Enhanced Setup Synchronous Connection HCI command is required.
> >
> > So you are saying that we should do PCM over HCI and that would
> > actually work (meaning we have enough bandwidth)?
>
> This is something which needs to be tested. And without full
> implementation (with control of all parameters) we cannot say YES or NO.
>
> And if you are aware of bandwidth, Enhanced Setup Synchronous Connection
> HCI command allows you to use also software based CVSD codec. Meaning
> that CVSD encoding/decoding can be done by application and therefore
> decreasing amount of data to transfer to bluetooth adapter.
>
> As I said this command is needed also if you want to use mSBC hw encoder
> over PCM, so I think usage of Enhanced Setup Synchronous Connection HCI
> command always have benefits to implement it (I have unfinished and
> untested implementation).
>
> > From power point of
> > view this makes very little sense imo, since all the cycle we save on
> > no encoding we probably lose with more data to transmit, so are we
> > looking into use HW encoder just to fix the quality of codec?
>
> That is a good question if power consumption would be increased or
> decreased. Anyway, hw encoding may be able to achieve lower latency. So
> I rather do not drop it prematurely without any tests.
>
> And another important thing, not all bluetooth adapters are USB based,
> there are adapters connected over UART and SDIO. And every bus can
> behave differently. USB is domain of laptops, UART can be found on
> raspberry pi which is also heavily used. SDIO bluetooth is less used but
> I have there at least device on which is running mainline kernel (5.10)
> and has SDIO bluetooth.

Can confirm this, we have SDIO, USB and UART interfaces on the modules
we supply. There are some quirks on how to select routing for PCM, on
CSR based designs I'm not sure if this can be changed on the fly via
a command but the default can be changed via changing the PSKEY
configuration whilst in BCSP mode. On cypress modules you cannot
change it dynamically at all, it requires a different firmware (which,
conversely, cannot be obtained nor changed by users in the field).
Thanks,
Jamie
THIS MESSAGE, ANY ATTACHMENT(S), AND THE INFORMATION CONTAINED HEREIN MAY BE PROPRIETARY TO LAIRD CONNECTIVITY, INC. AND/OR ANOTHER PARTY, AND MAY FURTHER BE INTENDED TO BE KEPT CONFIDENTIAL. IF YOU ARE NOT THE INTENDED RECIPIENT, PLEASE DELETE THE EMAIL AND ANY ATTACHMENTS, AND IMMEDIATELY NOTIFY THE SENDER BY RETURN EMAIL. THIS MESSAGE AND ITS CONTENTS ARE THE PROPERTY OF LAIRD CONNECTIVITY, INC. AND MAY NOT BE REPRODUCED OR USED WITHOUT THE EXPRESS WRITTEN CONSENT OF LAIRD CONNECTIVITY, INC.




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux