[PATCH v3] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined

Shuai Zhang posted 1 patch 1 week, 3 days ago
drivers/bluetooth/hci_qca.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH v3] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined
Posted by Shuai Zhang 1 week, 3 days ago
On platforms using an M.2 slot with both UART and USB support, bt_en is
pulled high by hardware. In this case, software-based power control
should be disabled. The current platforms are Lemans-EVK and Monaco-EVK.

Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is
cleared when bt_en is not software-controlled (or absent), aligning its
behavior with WCN6750 and WCN6855

Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
---
Changes for v3
- Add change history.
- Link to v2: https://lore.kernel.org/all/20260319075125.76539-1-shuai.zhang@oss.qualcomm.com/

Changes for v2
- Expand the commit description to include the affected platforms.
- Link to v1: https://lore.kernel.org/all/20260319031040.4096297-1-shuai.zhang@oss.qualcomm.com/
---
 drivers/bluetooth/hci_qca.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index c17a462aef55..4512ff7cd0c0 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -2484,7 +2484,8 @@ static int qca_serdev_probe(struct serdev_device *serdev)
 
 		if (!qcadev->bt_en &&
 		    (data->soc_type == QCA_WCN6750 ||
-		     data->soc_type == QCA_WCN6855))
+		     data->soc_type == QCA_WCN6855 ||
+		     data->soc_type == QCA_WCN7850))
 			power_ctrl_enabled = false;
 
 		qcadev->sw_ctrl = devm_gpiod_get_optional(&serdev->dev, "swctrl",
-- 
2.34.1
Re: [PATCH v3] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined
Posted by Bartosz Golaszewski 1 week, 2 days ago
On Tue, Mar 24, 2026 at 3:30 AM Shuai Zhang
<shuai.zhang@oss.qualcomm.com> wrote:
>
> On platforms using an M.2 slot with both UART and USB support, bt_en is
> pulled high by hardware. In this case, software-based power control
> should be disabled. The current platforms are Lemans-EVK and Monaco-EVK.
>
> Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is
> cleared when bt_en is not software-controlled (or absent), aligning its
> behavior with WCN6750 and WCN6855
>
> Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
> ---

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Re: [PATCH v3] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined
Posted by Luiz Augusto von Dentz 1 week, 2 days ago
Hi Shuai,

On Tue, Mar 24, 2026 at 6:33 AM Bartosz Golaszewski <brgl@kernel.org> wrote:
>
> On Tue, Mar 24, 2026 at 3:30 AM Shuai Zhang
> <shuai.zhang@oss.qualcomm.com> wrote:
> >
> > On platforms using an M.2 slot with both UART and USB support, bt_en is
> > pulled high by hardware. In this case, software-based power control
> > should be disabled. The current platforms are Lemans-EVK and Monaco-EVK.
> >
> > Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is
> > cleared when bt_en is not software-controlled (or absent), aligning its
> > behavior with WCN6750 and WCN6855
> >
> > Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
> > ---
>
> Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>

Let's check if the following is true before I push it:

https://sashiko.dev/#/patchset/20260324023016.3889062-1-shuai.zhang%40oss.qualcomm.com

-- 
Luiz Augusto von Dentz
Re: [PATCH v3] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined
Posted by Shuai Zhang 1 week, 2 days ago
Hi Luiz

On 3/25/2026 4:01 AM, Luiz Augusto von Dentz wrote:
> Hi Shuai,
>
> On Tue, Mar 24, 2026 at 6:33 AM Bartosz Golaszewski <brgl@kernel.org> wrote:
>> On Tue, Mar 24, 2026 at 3:30 AM Shuai Zhang
>> <shuai.zhang@oss.qualcomm.com> wrote:
>>> On platforms using an M.2 slot with both UART and USB support, bt_en is
>>> pulled high by hardware. In this case, software-based power control
>>> should be disabled. The current platforms are Lemans-EVK and Monaco-EVK.
>>>
>>> Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is
>>> cleared when bt_en is not software-controlled (or absent), aligning its
>>> behavior with WCN6750 and WCN6855
>>>
>>> Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
>>> ---
>> Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> Let's check if the following is true before I push it:
>
> https://sashiko.dev/#/patchset/20260324023016.3889062-1-shuai.zhang%40oss.qualcomm.com

The question raised by this check is whether |qca_power_shutdown()| 
properly considers WCN7850.
WCN7850 does not need any special handling and is intentionally covered 
by the default case in |qca_power_shutdown()|.


Thanks,

Shuai