From: "An, Tedd" <tedd.an@intel.com>
To: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: Re: [RFC PATCH v4 00/11] Bluetooth: btintel: Refactoring setup routines
Date: Wed, 28 Jul 2021 00:17:18 +0000 [thread overview]
Message-ID: <ec19aeb722249764a52fd74a27b25a78a28a3f09.camel@intel.com> (raw)
In-Reply-To: <20210727235127.173149-1-hj.tedd.an@gmail.com>
Hi,
Some level of testings were done and sharing the results:
Tests executed:
1. Loading firmware
2. Remove device (unplug USB)
3. Reboot
4. Cold boot
5. Scan and connect
6. Connect Mouse (HID)
7. Connect Speaker (A2DP)
8. Connect Headset (HFP)
Device firmwares:
TIP from the linux-firmware tree
commit: 168452e ("Merge tag 'iwlwifi-fw-2021-07-19' of ...")
BlueZ:
5.53 on Ubuntu 20.04.2 LTS
Devices tested:
Legacy ROM: StP, SdP
Legacy Bootloader: SfP, WsP, ThP, ThP2, CcP
TLV Bootloader: GfP
Results:
All devices passed the tests.
Regards,
Tedd
On Tue, 2021-07-27 at 16:51 -0700, Tedd Ho-Jeong An wrote:
> From: Tedd Ho-Jeong An <tedd.an@intel.com>
>
> This patch set refactors the multiple setup routines for various Intel devices
> to a combined single entry. Here are the highlight of the changes:
>
> 0. Sync with the current tip of the master:
> acd5aea400 ("Bluetooth: btusb: Add valid le states quirk")
>
> 1. Updated hci_alloc_dev() to allocate the hdev object with an extra buffer
> for the private data. btintel introduces the btintel_data struct and
> store it to the private data in hdev object.
>
> 2. Added a single entry for setup and shutdown and uses the
> HCI_Intel_Read_Version command to identify the device, instead of
> relying on the USB VID and PID.
>
> Also, it uses the new format of HCI_Intel_Read_Version command for
> legacy ROM and legacy bootloader devices. Luckly legacy devices
> support the new format.
>
> 3. Keep the state of bootloader in btintel object. The bootloader state
> is agnostic to the transport type, so btintel uses the btintel_data
> to keep track of the state in the private data section in hdev.
>
> 4. After identifying the setup type for the device, it uses the
> correspond setup routines based on the setup type, and the setup
> routines were moved from btusb to btintel.
> However, actual work for the setup routines were not changed or very
> minimal.
>
> 5. Since many functions were moved from btusb to btintel, clean up the
> exported functions and make them static if possible.
>
> 6. From the JfP/ThP, the operational firmware support the new TLV based
> HCI_Intel_Read_Version command, which confues the usage during the
> setup routine. So, the check for firmware variant of those legacy
> bootloader sku is added to use the legacy bootloader setup call.
>
> Tedd Ho-Jeong An (11):
> Bluetooth: Add support hdev to allocate private data
> Bluetooth: btintel: Add combined setup and shutdown functions
> Bluetooth: btintel: Refactoring setup routine for legacy ROM sku
> Bluetooth: btintel: Add btintel data struct
> Bluetooth: btintel: Fix the first HCI command not work with ROM
> device.
> Bluetooth: btintel: Fix the LED is not turning off immediately
> Bluetooth: btintel: Add combined set_diag functions
> Bluetooth: btintel: Refactoring setup routine for legacy bootloader
> Bluetooth: btintel: Refactoring setup routine for TLV based booloader
> Bluetooth: btintel: Clean the exported function to static
> Bluetooth: btintel: Fix the legacy bootloader returns tlv based
> version
>
> drivers/bluetooth/bfusb.c | 2 +-
> drivers/bluetooth/bluecard_cs.c | 2 +-
> drivers/bluetooth/bpa10x.c | 2 +-
> drivers/bluetooth/bt3c_cs.c | 2 +-
> drivers/bluetooth/btintel.c | 1214 ++++++++++++++++++++++++++++--
> drivers/bluetooth/btintel.h | 83 +-
> drivers/bluetooth/btmrvl_main.c | 2 +-
> drivers/bluetooth/btmtksdio.c | 2 +-
> drivers/bluetooth/btmtkuart.c | 2 +-
> drivers/bluetooth/btqcomsmd.c | 2 +-
> drivers/bluetooth/btrsi.c | 2 +-
> drivers/bluetooth/btsdio.c | 2 +-
> drivers/bluetooth/btusb.c | 1105 ++-------------------------
> drivers/bluetooth/dtl1_cs.c | 2 +-
> drivers/bluetooth/hci_ldisc.c | 2 +-
> drivers/bluetooth/hci_serdev.c | 2 +-
> drivers/bluetooth/hci_vhci.c | 2 +-
> drivers/bluetooth/virtio_bt.c | 2 +-
> include/net/bluetooth/hci_core.h | 7 +-
> net/bluetooth/hci_core.c | 11 +-
> 20 files changed, 1262 insertions(+), 1188 deletions(-)
>
prev parent reply other threads:[~2021-07-28 0:17 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-27 23:51 [RFC PATCH v4 00/11] Bluetooth: btintel: Refactoring setup routines Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 01/11] Bluetooth: Add support hdev to allocate private data Tedd Ho-Jeong An
2021-07-28 0:41 ` Luiz Augusto von Dentz
2021-07-29 11:39 ` Marcel Holtmann
2021-07-28 2:11 ` Bluetooth: btintel: Refactoring setup routines bluez.test.bot
2021-07-27 23:51 ` [RFC PATCH v4 02/11] Bluetooth: btintel: Add combined setup and shutdown functions Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 03/11] Bluetooth: btintel: Refactoring setup routine for legacy ROM sku Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 04/11] Bluetooth: btintel: Add btintel data struct Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 05/11] Bluetooth: btintel: Fix the first HCI command not work with ROM device Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 06/11] Bluetooth: btintel: Fix the LED is not turning off immediately Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 07/11] Bluetooth: btintel: Add combined set_diag functions Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 08/11] Bluetooth: btintel: Refactoring setup routine for legacy bootloader Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 09/11] Bluetooth: btintel: Refactoring setup routine for TLV based booloader Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 10/11] Bluetooth: btintel: Clean the exported function to static Tedd Ho-Jeong An
2021-07-27 23:51 ` [RFC PATCH v4 11/11] Bluetooth: btintel: Fix the legacy bootloader returns tlv based version Tedd Ho-Jeong An
2021-07-28 0:17 ` An, Tedd [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ec19aeb722249764a52fd74a27b25a78a28a3f09.camel@intel.com \
--to=tedd.an@intel.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).