[PATCH v5 0/8] Bluetooth: btmtk: MediaTek ISO data transmission support
Chris Lu
chris.lu at mediatek.com
Tue Jun 25 19:53:21 PDT 2024
Since SIG has not yet clearly defined the specification for ISO data
transmission over USB, MediaTek has adopted a method of adding an
additional interrupt endpoint for ISO data transmission. This approach
differs from the current method used in the Bluetooth upstream driver,
which utilizes existing bulk endpoints. The interrupt endpoint provides
guaranteed bandwidth, sufficient maximum data length for ISO packets
and error checking.
Driver sets up ISO interface and endpoints in btusb_mtk_setup and clears
the setup in btusb_mtk_shutdown. These flow can't move to btmtk.c due to
btusb_driver is only defined in btusb.c when claiming/relaesing interface.
Once ISO interface is claimed, driver can use specific interrupt endpoint
to send and receive iso data. ISO packet anchor stops when driver
suspending and resubmit interrupt urb for ISO data when driver resuming.
---
Change v5:
-Add two patch MediaTek submit previusly
-Remove v4,1/4 & v4,3/4 , becasue it's not necessary
-Add patch to move most function from btusb.c to btmtk.c to make btusb.c more simple
-refactor MediaTek ISO transmission function and implement in btmtk.c
---
Chris Lu (8):
Bluetooth: btusb: mediatek: remove the unnecessary goto tag
Bluetooth: btusb: mediatek: return error code for failed register access
Bluetooth: btmtk: rename btmediatek_data
Bluetooth: btusb: add callback function in btusb suspend/resume
Bluetooth: btmtk: move btusb_mtk_hci_wmt_sync to btmtk.c
Bluetooth: btmtk: move btusb_mtk_[setup, shutdown] to btmtk.c
Bluetooth: btmtk: move btusb_recv_acl_mtk to btmtk.c
Bluetooth: btusb: mediatek: add ISO data transmission functions
drivers/bluetooth/btmtk.c | 1058 ++++++++++++++++++++++++++++++++++++-
drivers/bluetooth/btmtk.h | 93 +++-
drivers/bluetooth/btusb.c | 751 +++-----------------------
3 files changed, 1218 insertions(+), 684 deletions(-)
--
2.18.0
More information about the Linux-mediatek
mailing list