| ecfcae78 | 07-Feb-2026 |
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> |
power: sequencing: qcom-wcn: fix error path for VDDIO handling
In case getting VDDIO regulator returned an error, WCN power sequencing driver passes ret to dev_err_probe() as the error code, however
power: sequencing: qcom-wcn: fix error path for VDDIO handling
In case getting VDDIO regulator returned an error, WCN power sequencing driver passes ret to dev_err_probe() as the error code, however it is known that ret is 0 at this point. Pass PTR_ERR(ctx->vddio) instead.
Fixes: 0eb85f468ef5 ("power: sequencing: qcom-wcn: add support for WCN39xx") Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Closes: https://lore.kernel.org/r/aYXvQxKqmjP_sdCd@stanley.mountain/ Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://patch.msgid.link/20260207-fix-wcn39xx-v1-1-df0606108ce2@oss.qualcomm.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
show more ...
|
| e1dccb48 | 30-Jan-2026 |
Ziyi Guo <n7l8m4@u.northwestern.edu> |
power: sequencing: fix missing state_lock in pwrseq_power_on() error path
pwrseq_power_on() calls pwrseq_unit_disable() when the post_enable callback fails. However, this call is outside the scoped_
power: sequencing: fix missing state_lock in pwrseq_power_on() error path
pwrseq_power_on() calls pwrseq_unit_disable() when the post_enable callback fails. However, this call is outside the scoped_guard(mutex, &pwrseq->state_lock) block that ends.
pwrseq_unit_disable() has lockdep_assert_held(&pwrseq->state_lock), which will fail when called from this error path.
Add the scoped_guard block to cover the post_enable callback and its error handling to ensure the lock is held when pwrseq_unit_disable() is called.
Signed-off-by: Ziyi Guo <n7l8m4@u.northwestern.edu> Link: https://patch.msgid.link/20260130182651.1576579-1-n7l8m4@u.northwestern.edu Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
show more ...
|
| 52e7b5bd | 22-Jan-2026 |
Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> |
power: sequencing: Add the Power Sequencing driver for the PCIe M.2 connectors
This driver is used to control the PCIe M.2 connectors of different Mechanical Keys attached to the host machines and s
power: sequencing: Add the Power Sequencing driver for the PCIe M.2 connectors
This driver is used to control the PCIe M.2 connectors of different Mechanical Keys attached to the host machines and supporting different interfaces like PCIe/SATA, USB/UART etc...
Currently, this driver supports only the Mechanical Key M connectors with PCIe interface. The driver also only supports driving the mandatory 3.3v and optional 1.8v power supplies. The optional signals of the Key M connectors are not currently supported.
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260122-pci-m2-v6-4-575da9f97239@oss.qualcomm.com [Bartosz: rename pwrseq_pcie_m2_free_resources() to pwrseq_pcie_m2_free_regulators()] Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
show more ...
|
| 0eb85f46 | 06-Jan-2026 |
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> |
power: sequencing: qcom-wcn: add support for WCN39xx
The WCN39xx family of WiFi/BT chips incorporates a simple PMU, spreading voltages over internal rails. Implement power sequencing support for thi
power: sequencing: qcom-wcn: add support for WCN39xx
The WCN39xx family of WiFi/BT chips incorporates a simple PMU, spreading voltages over internal rails. Implement power sequencing support for this generation of WCN chips. Unlike later devices, they don't have separate enable GPIO lines, letting the chip figure out the necessary parts on its own.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260106-wcn3990-pwrctl-v2-5-0386204328be@oss.qualcomm.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
show more ...
|
| 07d59dec | 25-Jun-2025 |
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> |
power: sequencing: qcom-wcn: fix bluetooth-wifi copypasta for WCN6855
Prevent a name conflict (which is surprisingly not caught by the framework).
Fixes: bd4c8bafcf50 ("power: sequencing: qcom-wcn:
power: sequencing: qcom-wcn: fix bluetooth-wifi copypasta for WCN6855
Prevent a name conflict (which is surprisingly not caught by the framework).
Fixes: bd4c8bafcf50 ("power: sequencing: qcom-wcn: improve support for wcn6855") Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250625-topic-wcn6855_pwrseq-v1-1-cfb96d599ff8@oss.qualcomm.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
show more ...
|
| 385b735c | 24-Jun-2025 |
Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
power: sequencing: thead-gpu: use new defines for match() return values
Replace the magic numbers with proper defines we now have in the header.
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Li
power: sequencing: thead-gpu: use new defines for match() return values
Replace the magic numbers with proper defines we now have in the header.
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20250624-pwrseq-match-defines-v1-5-a59d90a951f1@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
show more ...
|
| f6981550 | 24-Jun-2025 |
Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
power: sequencing: qcom-wcn: use new defines for match() return values
Replace the magic numbers with proper defines we now have in the header.
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Lin
power: sequencing: qcom-wcn: use new defines for match() return values
Replace the magic numbers with proper defines we now have in the header.
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20250624-pwrseq-match-defines-v1-4-a59d90a951f1@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
show more ...
|
| 62b5848f | 24-Jun-2025 |
Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
power: sequencing: add defines for return values of the match() callback
Instead of using 0 and 1 as magic numbers, let's add proper defines whose names tell the reader what the meaning behind them
power: sequencing: add defines for return values of the match() callback
Instead of using 0 and 1 as magic numbers, let's add proper defines whose names tell the reader what the meaning behind them is.
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20250624-pwrseq-match-defines-v1-3-a59d90a951f1@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
show more ...
|
| 1a7312b9 | 24-Jun-2025 |
Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
power: sequencing: extend build coverage with COMPILE_TEST=y
Enable building the pwrseq drivers with COMPILE_TEST enabled. This makes it easier to build-test them.
Reviewed-by: Ulf Hansson <ulf.han
power: sequencing: extend build coverage with COMPILE_TEST=y
Enable building the pwrseq drivers with COMPILE_TEST enabled. This makes it easier to build-test them.
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20250624-pwrseq-match-defines-v1-2-a59d90a951f1@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
show more ...
|
| 5bcfc4ef | 24-Jun-2025 |
Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
power: sequencing: thead-gpu: add missing header
When using kcalloc(), kfree() etc., we need to include linux/slab.h. While on some architectures it may work fine because the header is pulled in imp
power: sequencing: thead-gpu: add missing header
When using kcalloc(), kfree() etc., we need to include linux/slab.h. While on some architectures it may work fine because the header is pulled in implicitly, on others it triggers the following errors:
drivers/power/sequencing/pwrseq-thead-gpu.c: In function ‘pwrseq_thead_gpu_match’: drivers/power/sequencing/pwrseq-thead-gpu.c:147:21: error: implicit declaration of function ‘kcalloc’ [-Wimplicit-function-declaration] 147 | ctx->clks = kcalloc(ctx->num_clks, sizeof(*ctx->clks), GFP_KERNEL);
Fixes: d4c2d9b5b7ce ("power: sequencing: Add T-HEAD TH1520 GPU power sequencer driver") Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20250624-pwrseq-match-defines-v1-1-a59d90a951f1@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
show more ...
|
| 29da3e87 | 02-Jan-2025 |
Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
power: sequencing: qcom-wcn: explain why we need the WLAN_EN GPIO hack
With the recent rework of the PCI power control code, the workaround for the wlan-enable GPIO - where we don't set a default (l
power: sequencing: qcom-wcn: explain why we need the WLAN_EN GPIO hack
With the recent rework of the PCI power control code, the workaround for the wlan-enable GPIO - where we don't set a default (low) state in the power sequencing driver, but instead request the pin as-is - should no longer be needed but some platforms still fail to probe the WLAN controller. This is caused by the Qcom PCIe controller and needs a workaround in the controller driver so add a FIXME to eventually remove the hack from this driver once this is done.
Link: https://lore.kernel.org/r/20250102121530.26993-1-brgl@bgdev.pl Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
show more ...
|
| bd4c8baf | 18-Oct-2024 |
Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
power: sequencing: qcom-wcn: improve support for wcn6855
WCN6855 (also known as QCA6490) is similar to the already supported QCA6390 but takes in two more supplies so add a new vregs list for it.
O
power: sequencing: qcom-wcn: improve support for wcn6855
WCN6855 (also known as QCA6490) is similar to the already supported QCA6390 but takes in two more supplies so add a new vregs list for it.
On sm8450-hdk it also requires a short assert of the xo-clk pin so add handling for it in a dedicated unit.
As we now have a separate set of targets for this variant, store the pointer to the targets struct associated with a model in the device match data.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://lore.kernel.org/r/20241018-sc8280xp-pwrseq-v6-2-8da8310d9564@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
show more ...
|