Re: [RFC PATCH v4 00/11] Bluetooth: btintel: Refactoring setup routines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
> 
> 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(-)
> 




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux