* [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 0 siblings, 1 reply; 7+ 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 [flat|nested] 7+ 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 0 siblings, 1 reply; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ messages in thread
end of thread, other threads:[~2026-03-19 7:41 UTC | newest] Thread overview: 7+ 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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®