Received: by 2002:ab2:6309:0:b0:1fb:d597:ff75 with SMTP id s9csp315494lqt; Thu, 6 Jun 2024 04:44:15 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVzEbiivrojAnSxWDFm/3QWLoBaDBuZfLSBTBLhHDHniv9UTe2Ng6RYEQwzhLDfaQ5AwTj3aSJdNJLciSz78wCASSDr2sH1E6sri58LSQ== X-Google-Smtp-Source: AGHT+IGPfh6Grrbc+dmhQT7RVJBVjCflLHkiNx+K6TBaX3VxCWqv9GrCEf12htzrub0Z9515TuCI X-Received: by 2002:a05:6214:5984:b0:6ab:8b2a:2ee0 with SMTP id 6a1803df08f44-6b02bf495f9mr60276236d6.32.1717674255679; Thu, 06 Jun 2024 04:44:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1717674255; cv=pass; d=google.com; s=arc-20160816; b=pFec14ZUFNJTyu8jS/p74ZWfaULBhbemlmIl4G3ZY+DcSmZTZRFnPp7uL/p7+SeJm7 RXcjhAi/lBEmJ/9wqlewRnK+RexFw9+FURH8Y/uaqQ30CFdPFE/dIMavkjyT2CD5Neix dHe4XjH4YgfPIjgMYFhck+chG5xjk9c/mcvVXvZbiBU72rZIxWFrMTenwCkkbB1cvJre pWvRU6qFs5bG1HdRMmvZG9gRYZB62ul32LKN0uoZETKxPiVXonHaN6vV9jdkwJnhwdVZ 4upwFBjjLngSKTPg2+3k4DnAcR782kKuq4a+oAPuP+mF64YQgWSk1NnFx/hFucECT30x Czow== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :message-id:date:subject:cc:to:from:dkim-signature; bh=L3Crh55HpJgMsbpemIUlyV71/GIWueUo5x4/xsk0kZ0=; fh=hCUCV0br0LS2gL0tIN+7VEl76HGBTws3+qgN3MgZyy8=; b=ewGrJphi8Rc1GRBdf7kFaH5hPWFvIsZhTIs0kYM9uHPVSyYstsGvxXHmkF9L+sBS/P bEL/orFTi08Yy2o8h/F5Biu4P3Ig+WMVV0Cdlic/vpZgqMtBsu7EqfBBWVv+EXAiSfFz R7pnS4cZ/9zOypXsa0AMmYf2RJKTzzRTKkmgWGnbGLVAi+1+jirfvA/pohFDDmgHnQ75 17dgImd2TplJKN0AIFxzDddcCYbDyE75LnnJlsBFxznL9c1ld6VoaJIxK/1K+I0zhnam fSuJqNVaO9o6unyoMYdfYlGcXmO5htWyHzWGJhePlWXtnnwc4C1bNfCXXhRRTbFY8S0h raRA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b="MS2T/TYU"; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-bluetooth+bounces-5166-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-5166-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id 6a1803df08f44-6b04f632243si7393356d6.107.2024.06.06.04.44.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jun 2024 04:44:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth+bounces-5166-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b="MS2T/TYU"; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-bluetooth+bounces-5166-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-5166-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 5A23B1C23DDC for ; Thu, 6 Jun 2024 11:44:15 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B6DBD195B30; Thu, 6 Jun 2024 11:43:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="MS2T/TYU" X-Original-To: linux-bluetooth@vger.kernel.org Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D09DF1E52A; Thu, 6 Jun 2024 11:43:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.61.82.184 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717674222; cv=none; b=HwxtjJTjSe0KzdxpAicbdJQeD6qv/lwCWcfN/JZgElsqle0pF2ZW3o3sRiNQPK7g7IwWdc+kNEwXovhBAU+FN/Ivczw8qKx4pCridAZRAuEAJwV28oPwU1Efmqg2KLvARnV+LzeJgFyqtOJcEiUZql1E4eRMVYVWNUVaPISHYKo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717674222; c=relaxed/simple; bh=FDnueRf+2MzqwXJoheUcGcduJQ5JIlmb+4zXn6XlAxM=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=CYEStWzdpvEWc8dGPnWIiuLnZxFcaI2ItVM90BdFK0xNsZnzSn0YUwT99JiHJaxnTgtIPOhpxPcasdm4KQr3pB8B+5aIDeQGfYOGN4CAmjCy6/Bs0ri8lAJVna512oUp1eWaLAqyQaLeJ0fa9+c5aXxunOpO4iWgC3yeawmVwJI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=MS2T/TYU; arc=none smtp.client-ip=210.61.82.184 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com X-UUID: fdebacec23f911efa22eafcdcd04c131-20240606 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=L3Crh55HpJgMsbpemIUlyV71/GIWueUo5x4/xsk0kZ0=; b=MS2T/TYUhNm6B6Trl9jyDu5vEI5d7XdLuhrrhg/3byPDFFnLSb8L02I86qbV57tBGUN3bgWch3W5cr2fQfWwq28smOw4gnU78aQxMPNIKbwIMEpfVn/VOuB6MCnTUOezZ4K4Mkt/cc8d71jRerADoEgIN4PjeVORv68v2CTTK5k=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.39,REQID:72e1f765-749a-46d3-b36a-bf23c31a3e8d,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:393d96e,CLOUDID:7b0ccb84-4f93-4875-95e7-8c66ea833d57,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:1,EDM:-3,IP:nil,U RL:11|1,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES :1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_ULN X-UUID: fdebacec23f911efa22eafcdcd04c131-20240606 Received: from mtkmbs09n2.mediatek.inc [(172.21.101.94)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 295124760; Thu, 06 Jun 2024 19:43:28 +0800 Received: from mtkmbs13n2.mediatek.inc (172.21.101.108) by MTKMBS14N2.mediatek.inc (172.21.101.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Thu, 6 Jun 2024 19:43:25 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs13n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Thu, 6 Jun 2024 19:43:25 +0800 From: Chris Lu To: Marcel Holtmann , Johan Hedberg , Luiz Von Dentz CC: Sean Wang , Deren Wu , Aaron Hou , Steve Lee , linux-bluetooth , linux-kernel , linux-mediatek , Chris Lu Subject: [PATCH v4 0/4] Bluetooth: btusb: MediaTek ISO data transmission Date: Thu, 6 Jun 2024 19:43:17 +0800 Message-ID: <20240606114321.30515-1-chris.lu@mediatek.com> X-Mailer: git-send-email 2.18.0 Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-AS-Result: No-10--5.764200-8.000000 X-TMASE-MatchedRID: cjXKuyuuhFvaYQdwXEMf70j2sPWKvtn0DRi0jfY6gL1oNGY/OdYkWWAI 1go6d1sNmMN+S0FpW+8dHzBmTYIGm/Iejw19Z0aTuIwLnB3Aqp1A8I/PJy4EU70rWM4nIpJrqbD mzbecxFu6ecT5yQFR4KKT+xko6AZvfDPEC/yQgPRDmVmiQbM5qlrhZu06i+HhgrAXgr/AjP3jgE Ok7iIqjBT6+KIPEGWdHFxA3IUbfplu/4kI/vPqmG095hplj6TXNACnndLvXwedohxAwFG9tKPFj JEFr+olwXCBO/GKkVqOhzOa6g8Krfnm12b+L5a/urQJ9XZkSaeEFtG8SsxZdpqpmNAT74h6d/b6 R7yBaPhDDKa3G4nrLQ== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--5.764200-8.000000 X-TMASE-Version: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-SNTS-SMTP: 4B0F7AB31589667B9A4E6B797403A6C4246EF00A638FC613BF15D88E693767FF2000:8 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. Certain new functions related to USB transportation, such as urb allocation and submission, are implemented in btusb.c to leverage existing functions and data structures defined therein. Meanwhile, vendor-specific functions unrelated to transportation have been moved to btmtk.c to streamline btusb.c. --- Change in v4: -Fix warning report from bluez.test.bot in btmtk.c. Change in v3: -Refactor ISO data transmission flow, keeping the parts related to USB transmission in btusb.c and moving the rest to btmtk.c Change in v2: -Fix warning report from bluez.test.bot in btusb.c, align with other packet type to parsing dlen when getting iso data. --- Chris Lu (4): Bluetooth: net: add hci_iso_hdr function for iso data Bluetooth: btusb: add callback function in btusb suspend/resume Bluetooth: btmtk: add macro to get/set/clear MediaTek defined flags Bluetooth: btusb: mediatek: add ISO data transmission functions drivers/bluetooth/btmtk.c | 94 ++++++++++++ drivers/bluetooth/btmtk.h | 61 ++++++++ drivers/bluetooth/btusb.c | 276 ++++++++++++++++++++++++++++++++++++ include/net/bluetooth/hci.h | 5 + 4 files changed, 436 insertions(+) -- 2.18.0