Use gdsc_synced_poweroff_disable() callback for USB PHY GDSCs on Glymur - #1904
Merged
Taniya Das (taniyadas20) merged 2 commits intoSep 25, 2026
Conversation
USB and PCIe GDSCs must remain enabled during system suspend for USB host mode and PCIe non-D3cold use cases. These GDSCs currently use PWRSTS_RET_ON in the GDSC driver, which prevents the gdsc driver from disabling them in hardware after the first enable. Consequently, they remain enabled indefinitely, even after their consumers become inactive, preventing the GDSCs from being powered off when no longer needed. Instead, use the GenPDs synced_poweroff flag to control whether a GDSC is disabled during suspend. USB and PCIe drivers can leave the flag unset when the GDSC must remain enabled, and set it when the GDSC should be powered off. This allows consumer drivers to have more dynamic control over the GDSC power state based on their current use case. The existing gdsc_gx_gdsc() callback also disables the GDSC based on synced_poweroff flag but it polls for GDSC status during disable if synced poweroff flag is set. But few PCIE GDSCs have a VOTABLE flag and should not be polled for status during disable. Hence introduce a new gdsc_synced_poweroff_disable() callback that disables the GDSC based on GenPD synced_poweroff flag but won't poll for status if GDSC has VOTABLE flag. Change-Id: Ic57554e741a9d04729078fa8647f8e10952d6639 Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
qcomlnxci
requested review from
a team,
Mike Tipton (mdtipton) and
Taniya Das (taniyadas20)
and removed request for
a team
September 24, 2026 12:03
kona-jagadeesh
force-pushed
the
glymur-usb-phy-gdsc
branch
from
September 25, 2026 06:37
66089c0 to
8c0717a
Compare
Use the gdsc_synced_poweroff_disable() as power_off callback for USB GDSCs on Glymur platform. This allows the GDSCs to be disabled during suspend only when the consumer driver explicitly calls dev_pm_genpd_synced_poweroff() before suspend. Consumer drivers can therefore keep the GDSCs powered on during system suspend by not calling dev_pm_genpd_synced_poweroff() before suspend. Change-Id: Ifbf55774c2f4f83a42437051d724e060144e3221 Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
kona-jagadeesh
force-pushed
the
glymur-usb-phy-gdsc
branch
from
September 25, 2026 06:47
8c0717a to
9812b3c
Compare
Taniya Das (taniyadas20)
merged commit Sep 25, 2026
0f238f2
into
qualcomm-linux:tech/bsp/clk
3 of 6 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This series includes changes to use gdsc_synced_poweroff_disable() callback for gcc_usb_0_phy_gdsc and gcc_usb_1_phy_gdsc on Glymur platform. With this change, these GDSCs get disabled only when USB drivers explicitly invoke dev_pm_genpd_synced_poweroff() before suspend, else GDSCs stay ON during suspend.