Bluetooth: hci_qca: Request Tx clock vote off only when Tx is pending
PATCH 1/1 Bluetooth: hci_qca: Request Tx clock vote off only when Tx is pending
Tx pending flag is set to true when HOST IBS state is AWAKE or AWAKEING. If IBS state is ASLEEP, then Tx clock is already voted off. To optimize further directly calling serial_clock_vote() instead of qca_wq_serial_tx_clock_vote_off(), at this point of qca_suspend() already data is sent out. No need to wake up hci to send data.
--- drivers/bluetooth/hci_qca.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/bluetooth/hci_qca.c +1 -1
@@ -2107,6 +2107,7 @@ static int __maybe_unused qca_suspend(struct device *dev)if (tx_pending) {serdev_device_wait_until_sent (hu->serdev,msecs_to_jiffies (CMD_TRANS_TIMEOUT_MS )); +serial_clock_vote (HCI_IBS_TX_VOTE_CLOCK_OFF , hu); }/* Wait for HCI_IBS_SLEEP_IND sent by device to indicate its Tx is going
@@ -2120,7 +2121,6 @@ static int __maybe_unused qca_suspend(struct device *dev) goto error; } -qca_wq_serial_tx_clock_vote_off (&qca->ws_tx_vote_off);return 0 ; error:
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Marcel Holtmann
maintainerHi Balakrishna,
Quoted 11 lines
Tx pending flag is set to true when HOST IBS state is AWAKE or AWAKEING. If IBS state is ASLEEP, then Tx clock is already voted off. To optimize further directly calling
serial_clock_vote()instead ofqca_wq_serial_tx_clock_vote_off(), at this point ofqca_suspend()already data is sent out. No need to wake up hci to send data.Signed-off-by Balakrishna Godavarthi <[email protected]>---
drivers/bluetooth/hci_qca.c| 2 +-1 file changed, 1 insertion(+), 1 deletion(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel