Bluetooth: btusb: mediatek: add ISO data transmission functions
authorChris Lu <chris.lu@mediatek.com>
Thu, 4 Jul 2024 06:01:16 +0000 (14:01 +0800)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 15 Jul 2024 14:11:52 +0000 (10:11 -0400)
commitceac1cb0259de682d78f5c784ef8e0b13022e9d9
tree5447e1c258998915e43a1ac9f06fec9be29da6e2
parent6dc22ab9f085ae165e4ce89d61fb426f94e8a969
Bluetooth: btusb: mediatek: add ISO data transmission functions

This patch implements functions for ISO data send and receive in btusb
driver for MediaTek's controller.

MediaTek defines a specific interrupt endpoint for ISO data transmissin
because the characteristics of interrupt endpoint are similar to the
application of ISO data which can support guaranteed transmissin
bandwidth, enough maximum data length and error checking mechanism.

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.
ISO packet anchor stops when driver suspending and resubmit interrupt urb
for ISO data when driver resuming.

Signed-off-by: Chris Lu <chris.lu@mediatek.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btmtk.c
drivers/bluetooth/btmtk.h
drivers/bluetooth/btusb.c