Message ID | 7d835850c16e07d1346c763900cc8c880182f497.1592588740.git.sean.wang@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/2] Bluetooth: btusb: fix up firmware download sequence | expand |
Hi Sean, > From: Sean Wang <sean.wang@mediatek.com> > > Data RAM on the device have to be powered on before starting to download > the firmware. > > v1->v2: > rebased to bluetooth-next > > Fixes: a1c49c434e15 ("Bluetooth: btusb: Add protocol support for MediaTek MT7668U USB devices") > Co-developed-by: Mark Chen <Mark-YW.Chen@mediatek.com> > Signed-off-by: Mark Chen <Mark-YW.Chen@mediatek.com> > Signed-off-by: Sean Wang <sean.wang@mediatek.com> > --- > drivers/bluetooth/btusb.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) something is fishy here. git am still fails. Regards Marcel
From: Sean Wang <sean.wang@mediatek.com> >Hi Sean, > >> From: Sean Wang <sean.wang@mediatek.com> >> >> Data RAM on the device have to be powered on before starting to >> download the firmware. >> >> v1->v2: >> rebased to bluetooth-next >> >> Fixes: a1c49c434e15 ("Bluetooth: btusb: Add protocol support for >> MediaTek MT7668U USB devices") >> Co-developed-by: Mark Chen <Mark-YW.Chen@mediatek.com> >> Signed-off-by: Mark Chen <Mark-YW.Chen@mediatek.com> >> Signed-off-by: Sean Wang <sean.wang@mediatek.com> >> --- >> drivers/bluetooth/btusb.c | 16 +++++++++++++++- >> 1 file changed, 15 insertions(+), 1 deletion(-) > >something is fishy here. git am still fails. > a little weird. I will try to git format-patch and send the patch again with another machine to you. >Regards > >Marcel
Hi Sean, >>> Data RAM on the device have to be powered on before starting to >>> download the firmware. >>> >>> v1->v2: >>> rebased to bluetooth-next >>> >>> Fixes: a1c49c434e15 ("Bluetooth: btusb: Add protocol support for >>> MediaTek MT7668U USB devices") >>> Co-developed-by: Mark Chen <Mark-YW.Chen@mediatek.com> >>> Signed-off-by: Mark Chen <Mark-YW.Chen@mediatek.com> >>> Signed-off-by: Sean Wang <sean.wang@mediatek.com> >>> --- >>> drivers/bluetooth/btusb.c | 16 +++++++++++++++- >>> 1 file changed, 15 insertions(+), 1 deletion(-) >> >> something is fishy here. git am still fails. >> > > a little weird. I will try to git format-patch and send the patch again with another machine to you. I think it is more important that you use git send-email to ensure that patch is delivered correctly. It looks like it got base64 encoded for no reason. Regards Marcel
Hi Sean, > Data RAM on the device have to be powered on before starting to download > the firmware. > > v1->v2: > rebased to bluetooth-next > > Fixes: a1c49c434e15 ("Bluetooth: btusb: Add protocol support for MediaTek MT7668U USB devices") > Co-developed-by: Mark Chen <Mark-YW.Chen@mediatek.com> > Signed-off-by: Mark Chen <Mark-YW.Chen@mediatek.com> > Signed-off-by: Sean Wang <sean.wang@mediatek.com> > --- > drivers/bluetooth/btusb.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) patch has been applied to bluetooth-next tree. Regards Marcel
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index c7cc8e594166..e42fdd625eb0 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -2934,7 +2934,7 @@ static int btusb_mtk_setup_firmware(struct hci_dev *hdev, const char *fwname) const u8 *fw_ptr; size_t fw_size; int err, dlen; - u8 flag; + u8 flag, param; err = request_firmware(&fw, fwname, &hdev->dev); if (err < 0) { @@ -2942,6 +2942,20 @@ static int btusb_mtk_setup_firmware(struct hci_dev *hdev, const char *fwname) return err; } + /* Power on data RAM the firmware relies on. */ + param = 1; + wmt_params.op = BTMTK_WMT_FUNC_CTRL; + wmt_params.flag = 3; + wmt_params.dlen = sizeof(param); + wmt_params.data = ¶m; + wmt_params.status = NULL; + + err = btusb_mtk_hci_wmt_sync(hdev, &wmt_params); + if (err < 0) { + bt_dev_err(hdev, "Failed to power on data RAM (%d)", err); + return err; + } + fw_ptr = fw->data; fw_size = fw->size;