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

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
...@@ -59,6 +59,7 @@ struct id_table { ...@@ -59,6 +59,7 @@ struct id_table {
__u8 hci_bus; __u8 hci_bus;
bool config_needed; bool config_needed;
bool has_rom_version; bool has_rom_version;
bool has_msft_ext;
char *fw_name; char *fw_name;
char *cfg_name; char *cfg_name;
}; };
...@@ -135,6 +136,7 @@ static const struct id_table ic_id_table[] = { ...@@ -135,6 +136,7 @@ static const struct id_table ic_id_table[] = {
{ IC_INFO(RTL_ROM_LMP_8761A, 0xb, 0xa, HCI_UART), { IC_INFO(RTL_ROM_LMP_8761A, 0xb, 0xa, HCI_UART),
.config_needed = false, .config_needed = false,
.has_rom_version = true, .has_rom_version = true,
.has_msft_ext = true,
.fw_name = "rtl_bt/rtl8761b_fw.bin", .fw_name = "rtl_bt/rtl8761b_fw.bin",
.cfg_name = "rtl_bt/rtl8761b_config" }, .cfg_name = "rtl_bt/rtl8761b_config" },
...@@ -149,6 +151,7 @@ static const struct id_table ic_id_table[] = { ...@@ -149,6 +151,7 @@ static const struct id_table ic_id_table[] = {
{ IC_INFO(RTL_ROM_LMP_8822B, 0xc, 0xa, HCI_UART), { IC_INFO(RTL_ROM_LMP_8822B, 0xc, 0xa, HCI_UART),
.config_needed = true, .config_needed = true,
.has_rom_version = true, .has_rom_version = true,
.has_msft_ext = true,
.fw_name = "rtl_bt/rtl8822cs_fw.bin", .fw_name = "rtl_bt/rtl8822cs_fw.bin",
.cfg_name = "rtl_bt/rtl8822cs_config" }, .cfg_name = "rtl_bt/rtl8822cs_config" },
...@@ -156,6 +159,7 @@ static const struct id_table ic_id_table[] = { ...@@ -156,6 +159,7 @@ static const struct id_table ic_id_table[] = {
{ IC_INFO(RTL_ROM_LMP_8822B, 0xc, 0xa, HCI_USB), { IC_INFO(RTL_ROM_LMP_8822B, 0xc, 0xa, HCI_USB),
.config_needed = false, .config_needed = false,
.has_rom_version = true, .has_rom_version = true,
.has_msft_ext = true,
.fw_name = "rtl_bt/rtl8822cu_fw.bin", .fw_name = "rtl_bt/rtl8822cu_fw.bin",
.cfg_name = "rtl_bt/rtl8822cu_config" }, .cfg_name = "rtl_bt/rtl8822cu_config" },
...@@ -163,6 +167,7 @@ static const struct id_table ic_id_table[] = { ...@@ -163,6 +167,7 @@ static const struct id_table ic_id_table[] = {
{ IC_INFO(RTL_ROM_LMP_8822B, 0xb, 0x7, HCI_USB), { IC_INFO(RTL_ROM_LMP_8822B, 0xb, 0x7, HCI_USB),
.config_needed = true, .config_needed = true,
.has_rom_version = true, .has_rom_version = true,
.has_msft_ext = true,
.fw_name = "rtl_bt/rtl8822b_fw.bin", .fw_name = "rtl_bt/rtl8822b_fw.bin",
.cfg_name = "rtl_bt/rtl8822b_config" }, .cfg_name = "rtl_bt/rtl8822b_config" },
...@@ -170,6 +175,7 @@ static const struct id_table ic_id_table[] = { ...@@ -170,6 +175,7 @@ static const struct id_table ic_id_table[] = {
{ IC_INFO(RTL_ROM_LMP_8852A, 0xa, 0xb, HCI_USB), { IC_INFO(RTL_ROM_LMP_8852A, 0xa, 0xb, HCI_USB),
.config_needed = false, .config_needed = false,
.has_rom_version = true, .has_rom_version = true,
.has_msft_ext = true,
.fw_name = "rtl_bt/rtl8852au_fw.bin", .fw_name = "rtl_bt/rtl8852au_fw.bin",
.cfg_name = "rtl_bt/rtl8852au_config" }, .cfg_name = "rtl_bt/rtl8852au_config" },
}; };
...@@ -684,12 +690,8 @@ struct btrtl_device_info *btrtl_initialize(struct hci_dev *hdev, ...@@ -684,12 +690,8 @@ struct btrtl_device_info *btrtl_initialize(struct hci_dev *hdev,
/* The following chips supports the Microsoft vendor extension, /* The following chips supports the Microsoft vendor extension,
* therefore set the corresponding VsMsftOpCode. * therefore set the corresponding VsMsftOpCode.
*/ */
switch (lmp_subver) { if (btrtl_dev->ic_info->has_msft_ext)
case RTL_ROM_LMP_8822B:
case RTL_ROM_LMP_8852A:
hci_set_msft_opcode(hdev, 0xFCF0); hci_set_msft_opcode(hdev, 0xFCF0);
break;
}
return btrtl_dev; return btrtl_dev;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment