Message ID | 20240709-hci_qca_refactor-v3-0-5f48ca001fed@linaro.org |
---|---|
Headers | show |
Series | Bluetooth: hci_qca: use the power sequencer for wcn7850 | expand |
On 09/07/2024 14:18, Bartosz Golaszewski wrote: > The following series extend the usage of the power sequencing subsystem > in the hci_qca driver. > > The end goal is to convert the entire driver to be exclusively pwrseq-based > and simplify it in the process. However due to a large number of users we > need to be careful and consider every case separately. > > Right now the only model that fully uses the power sequencer is QCA6390 on > the RB5 board. The next steps are enabling pwrseq for Bluetooth on sm8650 > and the X13s laptop. To that end we need to make wcn7850 and wcn6855 aware > of the power sequencing but also keep backward compatibility with older > device trees. > > This series contains changes to mainline DT bindings for wcn7850, some > refactoring of the hci_qca driver, making pwrseq the default for the two > models mentioned above and finally modifies the device-tree for sm8650-qrd > to correctly represent the way the Bluetooth module is powered. > > I made the last patch part of this series as it has a run-time dependency > on previous changes in it and bluetooth support on the board will break > without them. > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > --- > Changes in v3: > - Add a missing break in a switch case > - Link to v2: https://lore.kernel.org/r/20240708-hci_qca_refactor-v2-0-b6e83b3d1ca5@linaro.org > > Changes in v2: > - Fix a switch issue reported by the test bot > - Link to v1: https://lore.kernel.org/r/20240705-hci_qca_refactor-v1-0-e2442121c13e@linaro.org > > --- > Bartosz Golaszewski (6): > dt-bindings: bluetooth: qualcomm: describe the inputs from PMU for wcn7850 > Bluetooth: hci_qca: schedule a devm action for disabling the clock > Bluetooth: hci_qca: unduplicate calls to hci_uart_register_device() > Bluetooth: hci_qca: make pwrseq calls the default if available > Bluetooth: hci_qca: use the power sequencer for wcn7850 and wcn6855 > arm64: dts: qcom: sm8650-qrd: use the PMU to power up bluetooth > > .../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 18 +++-- > arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 28 +++---- > drivers/bluetooth/hci_qca.c | 87 +++++++++++++--------- > 3 files changed, 72 insertions(+), 61 deletions(-) > --- > base-commit: 0b58e108042b0ed28a71cd7edf5175999955b233 > change-id: 20240704-hci_qca_refactor-0770e9931fb4 > > Best regards, Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD Still works on SM8550-QRD, and properly works with power sequencer on SM8650-QRD Thanks, Neil
On Tue, 09 Jul 2024 14:18:32 +0200, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > Drop the inputs from the host and instead expect the Bluetooth node to > consume the outputs of the internal PMU. This model is closer to reality > than how we represent it now. > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > --- > .../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 18 +++++++++++++----- > 1 file changed, 13 insertions(+), 5 deletions(-) > Acked-by: Rob Herring (Arm) <robh@kernel.org>
Hi Bartosz, On Wed, Jul 10, 2024 at 3:50 PM <patchwork-bot+bluetooth@kernel.org> wrote: > > Hello: > > This series was applied to bluetooth/bluetooth-next.git (master) > by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: > > On Tue, 09 Jul 2024 14:18:31 +0200 you wrote: > > The following series extend the usage of the power sequencing subsystem > > in the hci_qca driver. > > > > The end goal is to convert the entire driver to be exclusively pwrseq-based > > and simplify it in the process. However due to a large number of users we > > need to be careful and consider every case separately. > > > > [...] > > Here is the summary with links: > - [v3,1/6] dt-bindings: bluetooth: qualcomm: describe the inputs from PMU for wcn7850 > https://git.kernel.org/bluetooth/bluetooth-next/c/e1c54afa8526 > - [v3,2/6] Bluetooth: hci_qca: schedule a devm action for disabling the clock > https://git.kernel.org/bluetooth/bluetooth-next/c/a887c8dede8e > - [v3,3/6] Bluetooth: hci_qca: unduplicate calls to hci_uart_register_device() > https://git.kernel.org/bluetooth/bluetooth-next/c/cdd10964f76f > - [v3,4/6] Bluetooth: hci_qca: make pwrseq calls the default if available > https://git.kernel.org/bluetooth/bluetooth-next/c/958a33c3f9fc > - [v3,5/6] Bluetooth: hci_qca: use the power sequencer for wcn7850 and wcn6855 > https://git.kernel.org/bluetooth/bluetooth-next/c/4fa54d8731ec > - [v3,6/6] arm64: dts: qcom: sm8650-qrd: use the PMU to power up bluetooth > (no matching commit) Last one doesn't apply so you will probably need to rebase or something if it really needs to go thru bluetooth-next. > You are awesome, thank you! > -- > Deet-doot-dot, I am a bot. > https://korg.docs.kernel.org/patchwork/pwbot.html > >
On Thu, Jul 11, 2024 at 12:08 AM Konrad Dybcio <konrad.dybcio@linaro.org> wrote: > > On 10.07.2024 10:43 PM, Luiz Augusto von Dentz wrote: > > Hi Bartosz, > > > > On Wed, Jul 10, 2024 at 3:50 PM <patchwork-bot+bluetooth@kernel.org> wrote: > >> > >> Hello: > >> > >> This series was applied to bluetooth/bluetooth-next.git (master) > >> by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: > >> > >> On Tue, 09 Jul 2024 14:18:31 +0200 you wrote: > >>> The following series extend the usage of the power sequencing subsystem > >>> in the hci_qca driver. > >>> > >>> The end goal is to convert the entire driver to be exclusively pwrseq-based > >>> and simplify it in the process. However due to a large number of users we > >>> need to be careful and consider every case separately. > >>> > >>> [...] > >> > >> Here is the summary with links: > >> - [v3,1/6] dt-bindings: bluetooth: qualcomm: describe the inputs from PMU for wcn7850 > >> https://git.kernel.org/bluetooth/bluetooth-next/c/e1c54afa8526 > >> - [v3,2/6] Bluetooth: hci_qca: schedule a devm action for disabling the clock > >> https://git.kernel.org/bluetooth/bluetooth-next/c/a887c8dede8e > >> - [v3,3/6] Bluetooth: hci_qca: unduplicate calls to hci_uart_register_device() > >> https://git.kernel.org/bluetooth/bluetooth-next/c/cdd10964f76f > >> - [v3,4/6] Bluetooth: hci_qca: make pwrseq calls the default if available > >> https://git.kernel.org/bluetooth/bluetooth-next/c/958a33c3f9fc > >> - [v3,5/6] Bluetooth: hci_qca: use the power sequencer for wcn7850 and wcn6855 > >> https://git.kernel.org/bluetooth/bluetooth-next/c/4fa54d8731ec > >> - [v3,6/6] arm64: dts: qcom: sm8650-qrd: use the PMU to power up bluetooth > >> (no matching commit) > > > > Last one doesn't apply so you will probably need to rebase or > > something if it really needs to go thru bluetooth-next. > > Bartosz forgot to mention it should go through qcom > > Konrad Yes, sorry. That's alright, if patches 1-5/6 make v6.11 then I'll just resend patch 6/6 to Bjorn directly next release and we'll avoid a cross-tree merge this way. Thanks! Bart
The following series extend the usage of the power sequencing subsystem in the hci_qca driver. The end goal is to convert the entire driver to be exclusively pwrseq-based and simplify it in the process. However due to a large number of users we need to be careful and consider every case separately. Right now the only model that fully uses the power sequencer is QCA6390 on the RB5 board. The next steps are enabling pwrseq for Bluetooth on sm8650 and the X13s laptop. To that end we need to make wcn7850 and wcn6855 aware of the power sequencing but also keep backward compatibility with older device trees. This series contains changes to mainline DT bindings for wcn7850, some refactoring of the hci_qca driver, making pwrseq the default for the two models mentioned above and finally modifies the device-tree for sm8650-qrd to correctly represent the way the Bluetooth module is powered. I made the last patch part of this series as it has a run-time dependency on previous changes in it and bluetooth support on the board will break without them. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> --- Changes in v3: - Add a missing break in a switch case - Link to v2: https://lore.kernel.org/r/20240708-hci_qca_refactor-v2-0-b6e83b3d1ca5@linaro.org Changes in v2: - Fix a switch issue reported by the test bot - Link to v1: https://lore.kernel.org/r/20240705-hci_qca_refactor-v1-0-e2442121c13e@linaro.org --- Bartosz Golaszewski (6): dt-bindings: bluetooth: qualcomm: describe the inputs from PMU for wcn7850 Bluetooth: hci_qca: schedule a devm action for disabling the clock Bluetooth: hci_qca: unduplicate calls to hci_uart_register_device() Bluetooth: hci_qca: make pwrseq calls the default if available Bluetooth: hci_qca: use the power sequencer for wcn7850 and wcn6855 arm64: dts: qcom: sm8650-qrd: use the PMU to power up bluetooth .../bindings/net/bluetooth/qualcomm-bluetooth.yaml | 18 +++-- arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 28 +++---- drivers/bluetooth/hci_qca.c | 87 +++++++++++++--------- 3 files changed, 72 insertions(+), 61 deletions(-) --- base-commit: 0b58e108042b0ed28a71cd7edf5175999955b233 change-id: 20240704-hci_qca_refactor-0770e9931fb4 Best regards,