* [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined @ 2026-03-19 3:10 Shuai Zhang 2026-03-19 3:51 ` Dmitry Baryshkov 2026-03-19 4:39 ` [v1] " bluez.test.bot 0 siblings, 2 replies; 8+ messages in thread From: Shuai Zhang @ 2026-03-19 3:10 UTC (permalink / raw) To: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz Cc: linux-arm-msm, linux-bluetooth, linux-kernel, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu, shuai.zhang For platforms where the bt_en GPIO is not defined, software-based power control should be disabled when power is managed by hardware. Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is cleared when bt_en is absent, aligning its behavior with WCN6750 and WCN6855. Signed-off-by: Shuai Zhang <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 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined 2026-03-19 3:10 [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined Shuai Zhang @ 2026-03-19 3:51 ` Dmitry Baryshkov 2026-03-19 5:21 ` Shuai Zhang 2026-03-19 4:39 ` [v1] " bluez.test.bot 1 sibling, 1 reply; 8+ messages in thread From: Dmitry Baryshkov @ 2026-03-19 3:51 UTC (permalink / raw) To: Shuai Zhang Cc: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz, linux-arm-msm, linux-bluetooth, linux-kernel, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu On Thu, Mar 19, 2026 at 11:10:40AM +0800, Shuai Zhang wrote: > For platforms where the bt_en GPIO is not defined, software-based power > control should be disabled when power is managed by hardware. What does it mean for this chip, managing the power in hardware? > > Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is > cleared when bt_en is absent, aligning its behavior with WCN6750 and > WCN6855. > > Signed-off-by: Shuai Zhang <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 > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined 2026-03-19 3:51 ` Dmitry Baryshkov @ 2026-03-19 5:21 ` Shuai Zhang 2026-03-19 5:42 ` Dmitry Baryshkov 0 siblings, 1 reply; 8+ messages in thread From: Shuai Zhang @ 2026-03-19 5:21 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz, linux-arm-msm, linux-bluetooth, linux-kernel, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu Hi Dmitry On 3/19/2026 11:51 AM, Dmitry Baryshkov wrote: > On Thu, Mar 19, 2026 at 11:10:40AM +0800, Shuai Zhang wrote: >> For platforms where the bt_en GPIO is not defined, software-based power >> control should be disabled when power is managed by hardware. > What does it mean for this chip, managing the power in hardware? bt_en is pulled high by hardware, or described in the device tree as a regular always-on GPIO. >> Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is >> cleared when bt_en is absent, aligning its behavior with WCN6750 and >> WCN6855. >> >> Signed-off-by: Shuai Zhang <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 >> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined 2026-03-19 5:21 ` Shuai Zhang @ 2026-03-19 5:42 ` Dmitry Baryshkov 2026-03-19 6:06 ` Shuai Zhang 0 siblings, 1 reply; 8+ messages in thread From: Dmitry Baryshkov @ 2026-03-19 5:42 UTC (permalink / raw) To: Shuai Zhang Cc: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz, linux-arm-msm, linux-bluetooth, linux-kernel, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu On Thu, Mar 19, 2026 at 01:21:58PM +0800, Shuai Zhang wrote: > Hi Dmitry > > On 3/19/2026 11:51 AM, Dmitry Baryshkov wrote: > > On Thu, Mar 19, 2026 at 11:10:40AM +0800, Shuai Zhang wrote: > > > For platforms where the bt_en GPIO is not defined, software-based power > > > control should be disabled when power is managed by hardware. > > What does it mean for this chip, managing the power in hardware? > > bt_en is pulled high by hardware, In which cases is it applicable? > or described in the device tree as a > regular always-on GPIO. Why? > > > > > Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is > > > cleared when bt_en is absent, aligning its behavior with WCN6750 and > > > WCN6855. > > > > > > Signed-off-by: Shuai Zhang <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 > > > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined 2026-03-19 5:42 ` Dmitry Baryshkov @ 2026-03-19 6:06 ` Shuai Zhang 2026-03-19 6:44 ` Dmitry Baryshkov 0 siblings, 1 reply; 8+ messages in thread From: Shuai Zhang @ 2026-03-19 6:06 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz, linux-arm-msm, linux-bluetooth, linux-kernel, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu On 3/19/2026 1:42 PM, Dmitry Baryshkov wrote: > On Thu, Mar 19, 2026 at 01:21:58PM +0800, Shuai Zhang wrote: >> Hi Dmitry >> >> On 3/19/2026 11:51 AM, Dmitry Baryshkov wrote: >>> On Thu, Mar 19, 2026 at 11:10:40AM +0800, Shuai Zhang wrote: >>>> For platforms where the bt_en GPIO is not defined, software-based power >>>> control should be disabled when power is managed by hardware. >>> What does it mean for this chip, managing the power in hardware? >> bt_en is pulled high by hardware, > In which cases is it applicable? On platforms using an M.2 slot with both UART and USB support, bt_en is pulled high by hardware. The current platforms are Lemans‑EVK and Monaco‑EVK. > >> or described in the device tree as a >> regular always-on GPIO. > Why? This is equivalent to bt_en being pulled high by hardware, and it applies to the same scenarios and platforms mentioned above. > >> >>>> Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is >>>> cleared when bt_en is absent, aligning its behavior with WCN6750 and >>>> WCN6855. >>>> >>>> Signed-off-by: Shuai Zhang <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 >>>> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined 2026-03-19 6:06 ` Shuai Zhang @ 2026-03-19 6:44 ` Dmitry Baryshkov 2026-03-19 7:41 ` Shuai Zhang 0 siblings, 1 reply; 8+ messages in thread From: Dmitry Baryshkov @ 2026-03-19 6:44 UTC (permalink / raw) To: Shuai Zhang Cc: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz, linux-arm-msm, linux-bluetooth, linux-kernel, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu On Thu, Mar 19, 2026 at 02:06:49PM +0800, Shuai Zhang wrote: > > On 3/19/2026 1:42 PM, Dmitry Baryshkov wrote: > > On Thu, Mar 19, 2026 at 01:21:58PM +0800, Shuai Zhang wrote: > > > Hi Dmitry > > > > > > On 3/19/2026 11:51 AM, Dmitry Baryshkov wrote: > > > > On Thu, Mar 19, 2026 at 11:10:40AM +0800, Shuai Zhang wrote: > > > > > For platforms where the bt_en GPIO is not defined, software-based power > > > > > control should be disabled when power is managed by hardware. > > > > What does it mean for this chip, managing the power in hardware? > > > bt_en is pulled high by hardware, > > In which cases is it applicable? > > > On platforms using an M.2 slot with both UART and USB support, bt_en is > pulled high > > by hardware. The current platforms are Lemans‑EVK and Monaco‑EVK. This needs to be a part of the commit message. > > > > > > > or described in the device tree as a > > > regular always-on GPIO. > > Why? > > > This is equivalent to bt_en being pulled high by hardware, > > and it applies to the same scenarios and platforms mentioned above. No, DT would not describe the GPIO as always-on in this case. > > > > > > > > > > > > Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is > > > > > cleared when bt_en is absent, aligning its behavior with WCN6750 and > > > > > WCN6855. > > > > > > > > > > Signed-off-by: Shuai Zhang <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 > > > > > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined 2026-03-19 6:44 ` Dmitry Baryshkov @ 2026-03-19 7:41 ` Shuai Zhang 0 siblings, 0 replies; 8+ messages in thread From: Shuai Zhang @ 2026-03-19 7:41 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz, linux-arm-msm, linux-bluetooth, linux-kernel, cheng.jiang, quic_chezhou, wei.deng, jinwang.li, mengshi.wu On 3/19/2026 2:44 PM, Dmitry Baryshkov wrote: > On Thu, Mar 19, 2026 at 02:06:49PM +0800, Shuai Zhang wrote: >> On 3/19/2026 1:42 PM, Dmitry Baryshkov wrote: >>> On Thu, Mar 19, 2026 at 01:21:58PM +0800, Shuai Zhang wrote: >>>> Hi Dmitry >>>> >>>> On 3/19/2026 11:51 AM, Dmitry Baryshkov wrote: >>>>> On Thu, Mar 19, 2026 at 11:10:40AM +0800, Shuai Zhang wrote: >>>>>> For platforms where the bt_en GPIO is not defined, software-based power >>>>>> control should be disabled when power is managed by hardware. >>>>> What does it mean for this chip, managing the power in hardware? >>>> bt_en is pulled high by hardware, >>> In which cases is it applicable? >> >> On platforms using an M.2 slot with both UART and USB support, bt_en is >> pulled high >> >> by hardware. The current platforms are Lemans‑EVK and Monaco‑EVK. > This needs to be a part of the commit message. I will update. > >> >>>> or described in the device tree as a >>>> regular always-on GPIO. >>> Why? >> >> This is equivalent to bt_en being pulled high by hardware, >> >> and it applies to the same scenarios and platforms mentioned above. > No, DT would not describe the GPIO as always-on in this case. Yes, understood. In this case, bt_en is pulled high by hardware and is not described as an always-on GPIO in the device tree. > >> >>>>>> Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is >>>>>> cleared when bt_en is absent, aligning its behavior with WCN6750 and >>>>>> WCN6855. >>>>>> >>>>>> Signed-off-by: Shuai Zhang <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 >>>>>> ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined 2026-03-19 3:10 [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined Shuai Zhang 2026-03-19 3:51 ` Dmitry Baryshkov @ 2026-03-19 4:39 ` bluez.test.bot 1 sibling, 0 replies; 8+ messages in thread From: bluez.test.bot @ 2026-03-19 4:39 UTC (permalink / raw) To: linux-bluetooth, shuai.zhang [-- Attachment #1: Type: text/plain, Size: 2833 bytes --] This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1068977 ---Test result--- Test Summary: CheckPatch PENDING 0.47 seconds GitLint PENDING 0.37 seconds SubjectPrefix PASS 0.05 seconds BuildKernel PASS 26.00 seconds CheckAllWarning PASS 28.61 seconds CheckSparse PASS 27.87 seconds BuildKernel32 PASS 25.66 seconds TestRunnerSetup PASS 568.95 seconds TestRunner_l2cap-tester PASS 27.73 seconds TestRunner_iso-tester FAIL 34.88 seconds TestRunner_bnep-tester PASS 6.18 seconds TestRunner_mgmt-tester FAIL 114.81 seconds TestRunner_rfcomm-tester PASS 9.34 seconds TestRunner_sco-tester FAIL 14.22 seconds TestRunner_ioctl-tester PASS 10.25 seconds TestRunner_mesh-tester FAIL 11.46 seconds TestRunner_smp-tester PASS 8.51 seconds TestRunner_userchan-tester PASS 6.67 seconds IncrementalBuild PENDING 0.63 seconds Details ############################## Test: CheckPatch - PENDING Desc: Run checkpatch.pl script Output: ############################## Test: GitLint - PENDING Desc: Run gitlint Output: ############################## Test: TestRunner_iso-tester - FAIL Desc: Run iso-tester with test-runner Output: BUG: KASAN: slab-use-after-free in le_read_features_complete+0x7e/0x2b0 Total: 141, Passed: 141 (100.0%), Failed: 0, Not Run: 0 ############################## Test: TestRunner_mgmt-tester - FAIL Desc: Run mgmt-tester with test-runner Output: Total: 494, Passed: 489 (99.0%), Failed: 1, Not Run: 4 Failed Test Cases Read Exp Feature - Success Failed 0.108 seconds ############################## Test: TestRunner_sco-tester - FAIL Desc: Run sco-tester with test-runner Output: WARNING: possible circular locking dependency detected BUG: sleeping function called from invalid context at net/core/sock.c:3782 Total: 30, Passed: 30 (100.0%), Failed: 0, Not Run: 0 ############################## Test: TestRunner_mesh-tester - FAIL Desc: Run mesh-tester with test-runner Output: Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0 Failed Test Cases Mesh - Send cancel - 1 Timed out 1.854 seconds Mesh - Send cancel - 2 Timed out 1.999 seconds ############################## Test: IncrementalBuild - PENDING Desc: Incremental build with the patches in the series Output: --- Regards, Linux Bluetooth ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-03-19 7:41 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-19 3:10 [PATCH v1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined Shuai Zhang 2026-03-19 3:51 ` Dmitry Baryshkov 2026-03-19 5:21 ` Shuai Zhang 2026-03-19 5:42 ` Dmitry Baryshkov 2026-03-19 6:06 ` Shuai Zhang 2026-03-19 6:44 ` Dmitry Baryshkov 2026-03-19 7:41 ` Shuai Zhang 2026-03-19 4:39 ` [v1] " bluez.test.bot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox