Commit f4bcba0e authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Luiz Augusto von Dentz
Browse files

Bluetooth: btrtl: Set VsMsftOpCode based on device table



The device table already has the option to hold device specific details
and thus include the support for Microsoft extensions there as well.

Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent 7f7fd17e
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ struct id_table {
	__u8 hci_bus;
	bool config_needed;
	bool has_rom_version;
	bool has_msft_ext;
	char *fw_name;
	char *cfg_name;
};
@@ -135,6 +136,7 @@ static const struct id_table ic_id_table[] = {
	{ IC_INFO(RTL_ROM_LMP_8761A, 0xb, 0xa, HCI_UART),
	  .config_needed = false,
	  .has_rom_version = true,
	  .has_msft_ext = true,
	  .fw_name  = "rtl_bt/rtl8761b_fw.bin",
	  .cfg_name = "rtl_bt/rtl8761b_config" },

@@ -149,6 +151,7 @@ static const struct id_table ic_id_table[] = {
	{ IC_INFO(RTL_ROM_LMP_8822B, 0xc, 0xa, HCI_UART),
	  .config_needed = true,
	  .has_rom_version = true,
	  .has_msft_ext = true,
	  .fw_name  = "rtl_bt/rtl8822cs_fw.bin",
	  .cfg_name = "rtl_bt/rtl8822cs_config" },

@@ -156,6 +159,7 @@ static const struct id_table ic_id_table[] = {
	{ IC_INFO(RTL_ROM_LMP_8822B, 0xc, 0xa, HCI_USB),
	  .config_needed = false,
	  .has_rom_version = true,
	  .has_msft_ext = true,
	  .fw_name  = "rtl_bt/rtl8822cu_fw.bin",
	  .cfg_name = "rtl_bt/rtl8822cu_config" },

@@ -163,6 +167,7 @@ static const struct id_table ic_id_table[] = {
	{ IC_INFO(RTL_ROM_LMP_8822B, 0xb, 0x7, HCI_USB),
	  .config_needed = true,
	  .has_rom_version = true,
	  .has_msft_ext = true,
	  .fw_name  = "rtl_bt/rtl8822b_fw.bin",
	  .cfg_name = "rtl_bt/rtl8822b_config" },

@@ -170,6 +175,7 @@ static const struct id_table ic_id_table[] = {
	{ IC_INFO(RTL_ROM_LMP_8852A, 0xa, 0xb, HCI_USB),
	  .config_needed = false,
	  .has_rom_version = true,
	  .has_msft_ext = true,
	  .fw_name  = "rtl_bt/rtl8852au_fw.bin",
	  .cfg_name = "rtl_bt/rtl8852au_config" },
	};
@@ -684,12 +690,8 @@ struct btrtl_device_info *btrtl_initialize(struct hci_dev *hdev,
	/* The following chips supports the Microsoft vendor extension,
	 * therefore set the corresponding VsMsftOpCode.
	 */
	switch (lmp_subver) {
	case RTL_ROM_LMP_8822B:
	case RTL_ROM_LMP_8852A:
	if (btrtl_dev->ic_info->has_msft_ext)
		hci_set_msft_opcode(hdev, 0xFCF0);
		break;
	}

	return btrtl_dev;