All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] Bluetooth: hci_qca: Optimizations in init sequence for WCN6750.
@ 2021-11-25 13:17 pharish
  2021-11-25 13:17 ` [PATCH v1] Bluetooth: hci_qca: Stop IBS timer during BT OFF pharish
  2021-11-25 18:44 ` [PATCH v1] Bluetooth: hci_qca: Optimizations in init sequence for WCN6750 Marcel Holtmann
  0 siblings, 2 replies; 5+ messages in thread
From: pharish @ 2021-11-25 13:17 UTC (permalink / raw)
  To: marcel, johan.hedberg
  Cc: mka, linux-kernel, linux-bluetooth, hemantg, linux-arm-msm,
	bgodavar, rjliao, hbandi, abhishekpandit, mcchou, saluvala,
	pharish

This change adds optimazation in init sequence for WCN6750.

Signed-off-by: pharish <pharish@codeaurora.org>
---
 drivers/bluetooth/hci_qca.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index 6f44b26..4dedaaa 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -1603,15 +1603,19 @@ static int qca_regulator_init(struct hci_uart *hu)
 	 */
 	qcadev = serdev_device_get_drvdata(hu->serdev);
 	if (!qcadev->bt_power->vregs_on) {
-		serdev_device_close(hu->serdev);
+		if (qca_is_wcn399x(soc_type))
+			serdev_device_close(hu->serdev);
+
 		ret = qca_regulator_enable(qcadev);
 		if (ret)
 			return ret;
 
-		ret = serdev_device_open(hu->serdev);
-		if (ret) {
-			bt_dev_err(hu->hdev, "failed to open port");
-			return ret;
+		if (qca_is_wcn399x(soc_type)) {
+			ret = serdev_device_open(hu->serdev);
+			if (ret) {
+				bt_dev_err(hu->hdev, "failed to open port");
+				return ret;
+			}
 		}
 	}
 
@@ -1635,9 +1639,8 @@ static int qca_regulator_init(struct hci_uart *hu)
 		}
 	}
 
-	qca_set_speed(hu, QCA_INIT_SPEED);
-
 	if (qca_is_wcn399x(soc_type)) {
+		qca_set_speed(hu, QCA_INIT_SPEED);
 		ret = qca_send_power_pulse(hu, true);
 		if (ret)
 			return ret;
@@ -1648,6 +1651,7 @@ static int qca_regulator_init(struct hci_uart *hu)
 	 * Without this, we will have RTS and CTS synchronization
 	 * issues.
 	 */
+
 	serdev_device_close(hu->serdev);
 	ret = serdev_device_open(hu->serdev);
 	if (ret) {
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-12-07  5:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-25 13:17 [PATCH v1] Bluetooth: hci_qca: Optimizations in init sequence for WCN6750 pharish
2021-11-25 13:17 ` [PATCH v1] Bluetooth: hci_qca: Stop IBS timer during BT OFF pharish
2021-11-25 18:42   ` Marcel Holtmann
2021-12-07  5:39     ` pharish
2021-11-25 18:44 ` [PATCH v1] Bluetooth: hci_qca: Optimizations in init sequence for WCN6750 Marcel Holtmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.