public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/8] Bluetooth: btmtk: MediaTek ISO data transmission support
@ 2024-07-04  6:01 Chris Lu
  2024-07-04  6:01 ` [PATCH v7 1/8] Bluetooth: btusb: mediatek: remove the unnecessary goto tag Chris Lu
                   ` (8 more replies)
  0 siblings, 9 replies; 19+ messages in thread
From: Chris Lu @ 2024-07-04  6:01 UTC (permalink / raw)
  To: Marcel Holtmann, Johan Hedberg, Luiz Von Dentz
  Cc: Sean Wang, Aaron Hou, Steve Lee, linux-bluetooth, linux-kernel,
	linux-mediatek, Chris Lu

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 from v6 to v7:
-Change MediaTek's specific suspend/resume function naming to
btmtk_usb_suspend/resume and add comment to explain the purpose of function.
---

Chris Lu (8):
  Bluetooth: btusb: mediatek: remove the unnecessary goto tag
  Bluetooth: btusb: mediatek: return error for failed reg 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     | 1067 ++++++++++++++++++++++++++++++++-
 drivers/bluetooth/btmtk.h     |   91 ++-
 drivers/bluetooth/btmtksdio.c |    1 +
 drivers/bluetooth/btmtkuart.c |    1 +
 drivers/bluetooth/btusb.c     |  751 +++--------------------
 5 files changed, 1227 insertions(+), 684 deletions(-)

-- 
2.18.0


^ permalink raw reply	[flat|nested] 19+ messages in thread
* [PATCH v6 1/8] Bluetooth: btusb: mediatek: remove the unnecessary goto tag
@ 2024-07-02 11:30 Chris Lu
  2024-07-02 11:59 ` Bluetooth: btmtk: MediaTek ISO data transmission support bluez.test.bot
  0 siblings, 1 reply; 19+ messages in thread
From: Chris Lu @ 2024-07-02 11:30 UTC (permalink / raw)
  To: Marcel Holtmann, Johan Hedberg, Luiz Von Dentz
  Cc: Sean Wang, Aaron Hou, Steve Lee, linux-bluetooth, linux-kernel,
	linux-mediatek, Chris Lu

Remove the unnecessary goto tag whether there is an error or not, we have
to free the buffer at the end of the function.

Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Chris Lu <chris.lu@mediatek.com>
---
 drivers/bluetooth/btusb.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 79aefdb3324d..fcdd660add19 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2953,12 +2953,9 @@ static int btusb_mtk_uhw_reg_write(struct btusb_data *data, u32 reg, u32 val)
 			      0x5E,
 			      reg >> 16, reg & 0xffff,
 			      buf, 4, USB_CTRL_SET_TIMEOUT);
-	if (err < 0) {
+	if (err < 0)
 		bt_dev_err(hdev, "Failed to write uhw reg(%d)", err);
-		goto err_free_buf;
-	}
 
-err_free_buf:
 	kfree(buf);
 
 	return err;
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-07-30 15:38 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-04  6:01 [PATCH v7 0/8] Bluetooth: btmtk: MediaTek ISO data transmission support Chris Lu
2024-07-04  6:01 ` [PATCH v7 1/8] Bluetooth: btusb: mediatek: remove the unnecessary goto tag Chris Lu
2024-07-04  6:39   ` Bluetooth: btmtk: MediaTek ISO data transmission support bluez.test.bot
2024-07-04  6:01 ` [PATCH v7 2/8] Bluetooth: btusb: mediatek: return error for failed reg access Chris Lu
2024-07-04  6:01 ` [PATCH v7 3/8] Bluetooth: btmtk: rename btmediatek_data Chris Lu
2024-07-04  6:01 ` [PATCH v7 4/8] Bluetooth: btusb: add callback function in btusb suspend/resume Chris Lu
2024-07-04  6:01 ` [PATCH v7 5/8] Bluetooth: btmtk: move btusb_mtk_hci_wmt_sync to btmtk.c Chris Lu
2024-07-05  6:09   ` kernel test robot
2024-07-05  9:33   ` kernel test robot
2024-07-04  6:01 ` [PATCH v7 6/8] Bluetooth: btmtk: move btusb_mtk_[setup, shutdown] " Chris Lu
2024-07-04  6:01 ` [PATCH v7 7/8] Bluetooth: btmtk: move btusb_recv_acl_mtk " Chris Lu
2024-07-04  6:01 ` [PATCH v7 8/8] Bluetooth: btusb: mediatek: add ISO data transmission functions Chris Lu
2024-07-05  9:11   ` kernel test robot
2024-07-15 22:36   ` Nícolas F. R. A. Prado
2024-07-16  7:59     ` Chris Lu (陸稚泓)
2024-07-16 12:20       ` Nícolas F. R. A. Prado
2024-07-30 15:38         ` Nícolas F. R. A. Prado
2024-07-08 21:20 ` [PATCH v7 0/8] Bluetooth: btmtk: MediaTek ISO data transmission support patchwork-bot+bluetooth
  -- strict thread matches above, loose matches on Subject: below --
2024-07-02 11:30 [PATCH v6 1/8] Bluetooth: btusb: mediatek: remove the unnecessary goto tag Chris Lu
2024-07-02 11:59 ` Bluetooth: btmtk: MediaTek ISO data transmission support bluez.test.bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox