Message ID | 848d3d5baf23eb78411a9672b8973ae3c593db98.1656285304.git.objelf@gmail.com |
---|---|
State | Accepted |
Commit | df332800a914e9fd97b83aa63832979227fd8a8d |
Headers | show |
Series | [v3] Bluetooth: btmtksdio: Add in-band wakeup support | expand |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=653986 ---Test result--- Test Summary: CheckPatch PASS 1.34 seconds GitLint PASS 0.76 seconds SubjectPrefix PASS 0.65 seconds BuildKernel PASS 32.11 seconds BuildKernel32 PASS 28.16 seconds Incremental Build with patchesPASS 38.75 seconds TestRunner: Setup PASS 481.60 seconds TestRunner: l2cap-tester PASS 17.44 seconds TestRunner: bnep-tester PASS 6.14 seconds TestRunner: mgmt-tester PASS 103.10 seconds TestRunner: rfcomm-tester PASS 9.59 seconds TestRunner: sco-tester PASS 9.44 seconds TestRunner: smp-tester PASS 9.46 seconds TestRunner: userchan-tester PASS 6.37 seconds --- Regards, Linux Bluetooth
Hello: This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Mon, 27 Jun 2022 07:27:36 +0800 you wrote: > From: Sean Wang <sean.wang@mediatek.com> > > Commit ce64b3e94919 ("Bluetooth: mt7921s: Support wake on bluetooth") > adds the wake on bluethooth via a dedicated GPIO. > > Extend the wake-on-bluetooth to use the SDIO DAT1 pin (in-band wakeup), > when supported by the SDIO host driver. > > [...] Here is the summary with links: - [v3] Bluetooth: btmtksdio: Add in-band wakeup support https://git.kernel.org/bluetooth/bluetooth-next/c/681ec6abcd7f You are awesome, thank you!
diff --git a/drivers/bluetooth/btmtksdio.c b/drivers/bluetooth/btmtksdio.c index d6700efcfe8c..f9a3444753c2 100644 --- a/drivers/bluetooth/btmtksdio.c +++ b/drivers/bluetooth/btmtksdio.c @@ -1282,6 +1282,13 @@ static void btmtksdio_cmd_timeout(struct hci_dev *hdev) hci_reset_dev(hdev); } +static bool btmtksdio_sdio_inband_wakeup(struct hci_dev *hdev) +{ + struct btmtksdio_dev *bdev = hci_get_drvdata(hdev); + + return device_may_wakeup(bdev->dev); +} + static bool btmtksdio_sdio_wakeup(struct hci_dev *hdev) { struct btmtksdio_dev *bdev = hci_get_drvdata(hdev); @@ -1349,6 +1356,14 @@ static int btmtksdio_probe(struct sdio_func *func, hdev->shutdown = btmtksdio_shutdown; hdev->send = btmtksdio_send_frame; hdev->wakeup = btmtksdio_sdio_wakeup; + /* + * If SDIO controller supports wake on Bluetooth, sending a wakeon + * command is not necessary. + */ + if (device_can_wakeup(func->card->host->parent)) + hdev->wakeup = btmtksdio_sdio_inband_wakeup; + else + hdev->wakeup = btmtksdio_sdio_wakeup; hdev->set_bdaddr = btmtk_set_bdaddr; SET_HCIDEV_DEV(hdev, &func->dev);