Thread (5 messages) 5 messages, 2 authors, 2021-12-07

Re: [PATCH v1] Bluetooth: hci_qca: Optimizations in init sequence for WCN6750.

From: Marcel Holtmann <marcel@holtmann.org>
Date: 2021-11-25 18:46:46
Also in: linux-arm-msm, lkml

Hi,
This change adds optimazation in init sequence for WCN6750.
you need to explain what you are doing.
quoted hunk ↗ jump to hunk
Signed-off-by: pharish <redacted>
---
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;
+			}
I am really not doing this. You need to stop doing this SoC X or SoC Y crap. I said this before and I am saying this again, start from scratch and write a clean serdev only driver. Adding things to hci_qca is just a hack.
quoted hunk ↗ jump to hunk
		}
	}
@@ -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.
	 */
+
Unrelated change.
	serdev_device_close(hu->serdev);
	ret = serdev_device_open(hu->serdev);
	if (ret) {
Regards

Marcel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help