linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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(-)
> 

      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).