[PATCH 00/12] Fixes/improvements for the PCI M.2 power sequencing driver

Manivannan Sadhasivam via B4 Relay posted 12 patches 1 month, 3 weeks ago
There is a newer version of this series
drivers/bluetooth/hci_qca.c                |  40 +++--
drivers/power/sequencing/core.c            |  33 ++++
drivers/power/sequencing/pwrseq-pcie-m2.c  | 242 ++++++++++++++++++++++-------
drivers/power/sequencing/pwrseq-qcom-wcn.c |   9 ++
include/linux/pwrseq/consumer.h            |   6 +
include/linux/pwrseq/provider.h            |   2 +
6 files changed, 262 insertions(+), 70 deletions(-)
[PATCH 00/12] Fixes/improvements for the PCI M.2 power sequencing driver
Posted by Manivannan Sadhasivam via B4 Relay 1 month, 3 weeks ago
Hi,

This series has several key improvements and fixes to the M.2 power sequencing
driver and also the BT HCI_QCA driver. Notably, this series allows the M.2 power
sequencing driver to work with more M.2 cards, not just WCN7850. It also allows
the BT HCI_QCA driver to detect whether it can control BT_EN (or W_DISABLE2#)
signal on the connector and set the HCI_QUIRK_NON_PERSISTENT_SETUP quirk.

Testing
=======

This series was tested on Lenovo Thinkpad T14s together with the below DTS
patches:
https://github.com/Mani-Sadhasivam/linux/commit/29534d15307551b2355eb254601dec511169f0aa
https://github.com/Mani-Sadhasivam/linux/commit/f4eaacfe647674be200847092b43cdef2194fc55

Merge Strategy
==============

Since the BT HCI_QCA changes depend on the pwrseq changes, it would be good to
merge the whole series through pwrseq tree or through an immutable branch.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
---
Manivannan Sadhasivam (12):
      power: sequencing: Introduce an API to check whether the pwrseq is fixed or controllable
      power: sequencing: pcie-m2: Add support for 'is_fixed()' callback to 'uart' target
      power: sequencing: qcom-wcn: Add support for 'is_fixed()' callback to 'bluetooth' target
      power: sequencing: pcie-m2: Fix inconsistent function prefixes
      power: sequencing: pcie-m2: Allow creating serdev for multiple PCI devices
      power: sequencing: pcie-m2: Improve PCI device ID check
      power: sequencing: pcie-m2: Create serdev for PCI devices present before probe
      power: sequencing: pcie-m2: Create BT node based on the pci_device_id[] table
      Bluetooth: hci_qca: Add M.2 Bluetooth device support using pwrseq
      Bluetooth: hci_qca: Rename 'power_ctrl_enabled' to 'bt_en_available'
      Bluetooth: hci_qca: Check whether the M.2 UART interface is fixed or not
      Bluetooth: hci_qca: Fix the broken BT_EN GPIO detection for Qcom WCN devices

 drivers/bluetooth/hci_qca.c                |  40 +++--
 drivers/power/sequencing/core.c            |  33 ++++
 drivers/power/sequencing/pwrseq-pcie-m2.c  | 242 ++++++++++++++++++++++-------
 drivers/power/sequencing/pwrseq-qcom-wcn.c |   9 ++
 include/linux/pwrseq/consumer.h            |   6 +
 include/linux/pwrseq/provider.h            |   2 +
 6 files changed, 262 insertions(+), 70 deletions(-)
---
base-commit: 6596a02b207886e9e00bb0161c7fd59fea53c081
change-id: 20260422-pwrseq-m2-bt-abdaa71094eb

Best regards,
--  
Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Re: [PATCH 00/12] Fixes/improvements for the PCI M.2 power sequencing driver
Posted by Wei Deng 1 month, 3 weeks ago
Hi Mani,

Tested with WCN685x on both M.2 card (pwrseq-pcie-m2) and direct attach
(pwrseq-qcom-wcn). BT works correctly in both cases.

Tested-by: Wei Deng <wei.deng@oss.qualcomm.com>

On 4/22/2026 7:24 PM, Manivannan Sadhasivam via B4 Relay wrote:
> Hi,
> 
> This series has several key improvements and fixes to the M.2 power sequencing
> driver and also the BT HCI_QCA driver. Notably, this series allows the M.2 power
> sequencing driver to work with more M.2 cards, not just WCN7850. It also allows
> the BT HCI_QCA driver to detect whether it can control BT_EN (or W_DISABLE2#)
> signal on the connector and set the HCI_QUIRK_NON_PERSISTENT_SETUP quirk.
> 
> Testing
> =======
> 
> This series was tested on Lenovo Thinkpad T14s together with the below DTS
> patches:
> https://github.com/Mani-Sadhasivam/linux/commit/29534d15307551b2355eb254601dec511169f0aa
> https://github.com/Mani-Sadhasivam/linux/commit/f4eaacfe647674be200847092b43cdef2194fc55
> 
> Merge Strategy
> ==============
> 
> Since the BT HCI_QCA changes depend on the pwrseq changes, it would be good to
> merge the whole series through pwrseq tree or through an immutable branch.
> 
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
> ---
> Manivannan Sadhasivam (12):
>       power: sequencing: Introduce an API to check whether the pwrseq is fixed or controllable
>       power: sequencing: pcie-m2: Add support for 'is_fixed()' callback to 'uart' target
>       power: sequencing: qcom-wcn: Add support for 'is_fixed()' callback to 'bluetooth' target
>       power: sequencing: pcie-m2: Fix inconsistent function prefixes
>       power: sequencing: pcie-m2: Allow creating serdev for multiple PCI devices
>       power: sequencing: pcie-m2: Improve PCI device ID check
>       power: sequencing: pcie-m2: Create serdev for PCI devices present before probe
>       power: sequencing: pcie-m2: Create BT node based on the pci_device_id[] table
>       Bluetooth: hci_qca: Add M.2 Bluetooth device support using pwrseq
>       Bluetooth: hci_qca: Rename 'power_ctrl_enabled' to 'bt_en_available'
>       Bluetooth: hci_qca: Check whether the M.2 UART interface is fixed or not
>       Bluetooth: hci_qca: Fix the broken BT_EN GPIO detection for Qcom WCN devices
> 
>  drivers/bluetooth/hci_qca.c                |  40 +++--
>  drivers/power/sequencing/core.c            |  33 ++++
>  drivers/power/sequencing/pwrseq-pcie-m2.c  | 242 ++++++++++++++++++++++-------
>  drivers/power/sequencing/pwrseq-qcom-wcn.c |   9 ++
>  include/linux/pwrseq/consumer.h            |   6 +
>  include/linux/pwrseq/provider.h            |   2 +
>  6 files changed, 262 insertions(+), 70 deletions(-)
> ---
> base-commit: 6596a02b207886e9e00bb0161c7fd59fea53c081
> change-id: 20260422-pwrseq-m2-bt-abdaa71094eb
> 
> Best regards,
> --  
> Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
> 
> 

-- 
Best Regards,
Wei Deng