mbox series

[0/3] Bluetooth: btusb: MediaTek ISO data transmission support

Message ID 20240529033038.28458-1-chris.lu@mediatek.com
Headers show
Series Bluetooth: btusb: MediaTek ISO data transmission support | expand

Message

Chris Lu (陸稚泓) May 29, 2024, 3:30 a.m. UTC
Since SIG hasn't clearly defined the specification about ISO data over USB 
transmission yet, MediaTek adopts a method by adding an additional interrupt
endpoint for ISO data transmission which is different from current way
on Bluetooth upstream driver using existed bulk. Interrupt endpoint has
guaranteed bandwidth, sufficient max data length for LE audio packet and
support error checking. These characteristics are similar to the use of ISO data.

Chris Lu (3):
  Bluetooth: net: add hci_iso_hdr function for iso data
  Bluetooth: btmtk: add macro to get/set/clear MediaTek defined flags
  Bluetooth: btusb: mediatek: add MediaTek ISO data transmission
    function

 drivers/bluetooth/btmtk.c   |  35 +++++
 drivers/bluetooth/btmtk.h   |  46 ++++++
 drivers/bluetooth/btusb.c   | 293 +++++++++++++++++++++++++++++++++++-
 include/net/bluetooth/hci.h |   5 +
 4 files changed, 378 insertions(+), 1 deletion(-)

Comments

Luiz Augusto von Dentz May 29, 2024, 3:21 p.m. UTC | #1
Hi,

On Tue, May 28, 2024 at 11:30 PM Chris Lu <chris.lu@mediatek.com> wrote:
>
> Since SIG hasn't clearly defined the specification about ISO data over USB
> transmission yet, MediaTek adopts a method by adding an additional interrupt
> endpoint for ISO data transmission which is different from current way
> on Bluetooth upstream driver using existed bulk. Interrupt endpoint has
> guaranteed bandwidth, sufficient max data length for LE audio packet and
> support error checking. These characteristics are similar to the use of ISO data.
>
> Chris Lu (3):
>   Bluetooth: net: add hci_iso_hdr function for iso data
>   Bluetooth: btmtk: add macro to get/set/clear MediaTek defined flags
>   Bluetooth: btusb: mediatek: add MediaTek ISO data transmission
>     function
>
>  drivers/bluetooth/btmtk.c   |  35 +++++
>  drivers/bluetooth/btmtk.h   |  46 ++++++
>  drivers/bluetooth/btusb.c   | 293 +++++++++++++++++++++++++++++++++++-
>  include/net/bluetooth/hci.h |   5 +
>  4 files changed, 378 insertions(+), 1 deletion(-)

This probably needs to be handled in btmtk.c though, since it is not
standard we shall avoid having vendor specific transports like this in
btusb.c