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