diff mbox series

[v6,3/3] Bluetooth: btusb: enable Mediatek to support AOSP extension

Message ID 20211021230356.v6.3.I257ac5cfaf955d15670479efc311bbab702397f4@changeid (mailing list archive)
State Superseded
Headers show
Series [v6,1/3] Bluetooth: Add struct of reading AOSP vendor capabilities | expand

Checks

Context Check Description
tedd_an/checkpatch success Checkpatch PASS
tedd_an/gitlint success Gitlint PASS

Commit Message

Joseph Hwang Oct. 21, 2021, 3:04 p.m. UTC
This patch enables Mediatek to support the AOSP extension.

Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Signed-off-by: Joseph Hwang <josephsih@chromium.org>

---

(no changes since v5)

Changes in v5:
- Let the vendor command in aosp_do_open() to determine what
  capabilities are supported.

Changes in v4:
- Call hci_set_aosp_capable in the driver.
- This patch is added in this Series-changes 4.

 drivers/bluetooth/btusb.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Marcel Holtmann Oct. 25, 2021, 1:26 p.m. UTC | #1
Hi Joseph,

> This patch enables Mediatek to support the AOSP extension.
> 
> Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
> Signed-off-by: Joseph Hwang <josephsih@chromium.org>
> 
> ---
> 
> (no changes since v5)
> 
> Changes in v5:
> - Let the vendor command in aosp_do_open() to determine what
>  capabilities are supported.
> 
> Changes in v4:
> - Call hci_set_aosp_capable in the driver.
> - This patch is added in this Series-changes 4.
> 
> drivers/bluetooth/btusb.c | 2 ++
> 1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index 87b71740fad8..00311ebd7823 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -3876,6 +3876,8 @@ static int btusb_probe(struct usb_interface *intf,
> 		hdev->set_bdaddr = btusb_set_bdaddr_mtk;
> 		set_bit(HCI_QUIRK_NON_PERSISTENT_SETUP, &hdev->quirks);
> 		data->recv_acl = btusb_recv_acl_mtk;
> +
> +		hci_set_aosp_capable(hdev);

can we get an ACK from Mediatek people that all their firmwares support the AOSP extensions.

Regards

Marcel
Joseph Hwang Oct. 29, 2021, 8:08 a.m. UTC | #2
+Mark-YW.Chen@mediatek.com

Some of Mediatek's controllers/firmwares do NOT support AOSP extensions.

Please refer to this Gerrit patch review link for chrome os
(https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3054233/8/drivers/bluetooth/btusb.c)
which was reviewed by Mark-YW Chen, Mediatek's engineer.

As an example, MediaTek MT7615E does not support the AOSP extensions.

That was why I used a new BTUSB_QUALITY_REPORT flag in the changes v4
and earlier ones.

Please let me know how you would like to proceed with this patch.

Thanks!
Joseph


On Mon, Oct 25, 2021 at 9:26 PM Marcel Holtmann <marcel@holtmann.org> wrote:
>
> Hi Joseph,
>
> > This patch enables Mediatek to support the AOSP extension.
> >
> > Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
> > Signed-off-by: Joseph Hwang <josephsih@chromium.org>
> >
> > ---
> >
> > (no changes since v5)
> >
> > Changes in v5:
> > - Let the vendor command in aosp_do_open() to determine what
> >  capabilities are supported.
> >
> > Changes in v4:
> > - Call hci_set_aosp_capable in the driver.
> > - This patch is added in this Series-changes 4.
> >
> > drivers/bluetooth/btusb.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> > index 87b71740fad8..00311ebd7823 100644
> > --- a/drivers/bluetooth/btusb.c
> > +++ b/drivers/bluetooth/btusb.c
> > @@ -3876,6 +3876,8 @@ static int btusb_probe(struct usb_interface *intf,
> >               hdev->set_bdaddr = btusb_set_bdaddr_mtk;
> >               set_bit(HCI_QUIRK_NON_PERSISTENT_SETUP, &hdev->quirks);
> >               data->recv_acl = btusb_recv_acl_mtk;
> > +
> > +             hci_set_aosp_capable(hdev);
>
> can we get an ACK from Mediatek people that all their firmwares support the AOSP extensions.
>
> Regards
>
> Marcel
>
Marcel Holtmann Oct. 29, 2021, 8:21 a.m. UTC | #3
Hi Joseph,

> Some of Mediatek's controllers/firmwares do NOT support AOSP extensions.
> 
> Please refer to this Gerrit patch review link for chrome os
> (https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3054233/8/drivers/bluetooth/btusb.c)
> which was reviewed by Mark-YW Chen, Mediatek's engineer.
> 
> As an example, MediaTek MT7615E does not support the AOSP extensions.
> 
> That was why I used a new BTUSB_QUALITY_REPORT flag in the changes v4
> and earlier ones.
> 
> Please let me know how you would like to proceed with this patch.

I want that inside the Mediatek specific hdev->setup() procedure, they decide if AOSP extensions are supported or not. The BTUSB flag business is getting out of hand. I really don’t want that in btusb.c anymore. I moved Intel over to do that in btintel.c and also Realtek is doing it in btrtl.c for their hardware with the MSFT extensions.

We are not doing try-and-error of HCI commands. Just keep that in mind since I said that multiple times now.

Regards

Marcel
Joseph Hwang Oct. 29, 2021, 2:12 p.m. UTC | #4
Hi Marcel:

  I see your point. Thank you for letting us know the right way to go.
I will discuss with Mediatek and request them to implement their
specific setup() for the purpose. And then they will submit a new
patch to enable AOSP extensions for their hardware.

Thanks and regards,
Joseph

On Fri, Oct 29, 2021 at 4:21 PM Marcel Holtmann <marcel@holtmann.org> wrote:
>
> Hi Joseph,
>
> > Some of Mediatek's controllers/firmwares do NOT support AOSP extensions.
> >
> > Please refer to this Gerrit patch review link for chrome os
> > (https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3054233/8/drivers/bluetooth/btusb.c)
> > which was reviewed by Mark-YW Chen, Mediatek's engineer.
> >
> > As an example, MediaTek MT7615E does not support the AOSP extensions.
> >
> > That was why I used a new BTUSB_QUALITY_REPORT flag in the changes v4
> > and earlier ones.
> >
> > Please let me know how you would like to proceed with this patch.
>
> I want that inside the Mediatek specific hdev->setup() procedure, they decide if AOSP extensions are supported or not. The BTUSB flag business is getting out of hand. I really don’t want that in btusb.c anymore. I moved Intel over to do that in btintel.c and also Realtek is doing it in btrtl.c for their hardware with the MSFT extensions.
>
> We are not doing try-and-error of HCI commands. Just keep that in mind since I said that multiple times now.
>
> Regards
>
> Marcel
>
diff mbox series

Patch

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 87b71740fad8..00311ebd7823 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -3876,6 +3876,8 @@  static int btusb_probe(struct usb_interface *intf,
 		hdev->set_bdaddr = btusb_set_bdaddr_mtk;
 		set_bit(HCI_QUIRK_NON_PERSISTENT_SETUP, &hdev->quirks);
 		data->recv_acl = btusb_recv_acl_mtk;
+
+		hci_set_aosp_capable(hdev);
 	}
 
 	if (id->driver_info & BTUSB_SWAVE) {