Bluetooth: mt7921s: Add .get_data_path_id
authorYake Yang <yake.yang@mediatek.com>
Wed, 16 Mar 2022 23:15:21 +0000 (07:15 +0800)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 18 Mar 2022 16:12:08 +0000 (17:12 +0100)
Add .get_data_path_id to fetch data_path_id for MT7921 to support HFP
offload use case.

This is a preliminary patch to add the WBS support to the MT7921 driver.

Reviewed-by: Mark Chen <markyawenchen@gmail.com>
Co-developed-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Yake Yang <yake.yang@mediatek.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btmtksdio.c

index 034e552..4000a99 100644 (file)
@@ -936,6 +936,13 @@ static int btmtksdio_mtk_reg_write(struct hci_dev *hdev, u32 reg, u32 val, u32 m
        return err;
 }
 
+static int btmtksdio_get_data_path_id(struct hci_dev *hdev, __u8 *data_path_id)
+{
+       /* uses 1 as data path id for all the usecases */
+       *data_path_id = 1;
+       return 0;
+}
+
 static int btmtksdio_sco_setting(struct hci_dev *hdev)
 {
        const struct btmtk_sco sco_setting = {
@@ -968,7 +975,13 @@ static int btmtksdio_sco_setting(struct hci_dev *hdev)
                return err;
 
        val |= 0x00000101;
-       return btmtksdio_mtk_reg_write(hdev, MT7921_PINMUX_1, val, ~0);
+       err =  btmtksdio_mtk_reg_write(hdev, MT7921_PINMUX_1, val, ~0);
+       if (err < 0)
+               return err;
+
+       hdev->get_data_path_id = btmtksdio_get_data_path_id;
+
+       return err;
 }
 
 static int btmtksdio_reset_setting(struct hci_dev *hdev)