forked from Minki/linux
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: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
parent
7f7fd17ed7
commit
f4bcba0e87
@ -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 @@ out_free:
|
||||
/* 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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user