Bluetooth: btusb: Enable MSFT extension for Intel next generation controllers
authorChethan T N <chethan.tumkur.narayan@intel.com>
Thu, 29 Jul 2021 16:43:21 +0000 (09:43 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 29 Jul 2021 19:46:24 +0000 (21:46 +0200)
The Intel TyphoonPeak, GarfieldPeak Bluetooth controllers
support the Microsoft vendor extension and they are using
0xFC1E for VsMsftOpCode.

Verified on a GarfieldPeak device through bluetoothctl show

Signed-off-by: Chethan T N <chethan.tumkur.narayan@intel.com>
Signed-off-by: Michael Sun <michaelfsun@google.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btusb.c

index ab83ecc..07cb5d9 100644 (file)
@@ -3028,6 +3028,17 @@ static int btusb_setup_intel_newgen(struct hci_dev *hdev)
        btintel_version_info_tlv(hdev, &version);
 
 finish:
+       /* All Intel new genration controllers support the Microsoft vendor
+        * extension are using 0xFC1E for VsMsftOpCode.
+        */
+       switch (INTEL_HW_VARIANT(version.cnvi_bt)) {
+       case 0x17:
+       case 0x18:
+       case 0x19:
+               hci_set_msft_opcode(hdev, 0xFC1E);
+               break;
+       }
+
        /* Set the event mask for Intel specific vendor events. This enables
         * a few extra events that are useful during general operation. It
         * does not enable any debugging related events.