phy: xilinx: phy-zynqmp: dynamic clock support for power-save
authorPiyush Mehta <piyush.mehta@amd.com>
Tue, 13 Jun 2023 14:02:50 +0000 (19:32 +0530)
committerVinod Koul <vkoul@kernel.org>
Wed, 12 Jul 2023 16:57:42 +0000 (22:27 +0530)
commit25d70083351318b44ae699d92c042dcb18a738ea
tree71928bab9ecdd72b10000bc77ccd7df7b7fddaa6
parentb3db66f624468ab4a0385586bc7f4221e477d6b2
phy: xilinx: phy-zynqmp: dynamic clock support for power-save

Enabling clock for all the lanes consumes power even PHY is active or
inactive. To resolve this, enable/disable clocks in phy_init/phy_exit.

By default clock is disabled for all the lanes. Whenever phy_init called
from USB, SATA, or display driver, etc. It enabled the required clock
for requested lane. On phy_exit cycle, it disabled clock for the active
PHYs.

During the suspend/resume cycle, each USB/ SATA/ display driver called
phy_exit/phy_init individually. It disabled clock on exit, and enabled
on initialization for the active PHYs.

Signed-off-by: Piyush Mehta <piyush.mehta@amd.com>
Link: https://lore.kernel.org/r/20230613140250.3018947-3-piyush.mehta@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/xilinx/phy-zynqmp.c