[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1637846230-4798-1-git-send-email-pharish@codeaurora.org>
Date: Thu, 25 Nov 2021 18:47:09 +0530
From: pharish <pharish@...eaurora.org>
To: marcel@...tmann.org, johan.hedberg@...il.com
Cc: mka@...omium.org, linux-kernel@...r.kernel.org,
linux-bluetooth@...r.kernel.org, hemantg@...eaurora.org,
linux-arm-msm@...r.kernel.org, bgodavar@...eaurora.org,
rjliao@...eaurora.org, hbandi@...eaurora.org,
abhishekpandit@...omium.org, mcchou@...omium.org,
saluvala@...eaurora.org, pharish <pharish@...eaurora.org>
Subject: [PATCH v1] Bluetooth: hci_qca: Optimizations in init sequence for WCN6750.
This change adds optimazation in init sequence for WCN6750.
Signed-off-by: pharish <pharish@...eaurora.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
Powered by blists - more mailing lists