mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
drm/rockchip: vop2: enable switch dclk to avoid turn off esmart pd failed
When enable vrr by switch dclk, the dclk source may be vp1 dclk. In this case, if we want turn off esmart pd, the vp1 dclk should be enable. Change-Id: I2ad5a716763607693723fc8af6275444edae3dee Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
This commit is contained in:
@@ -4773,6 +4773,8 @@ static void vop2_power_domain_off_by_disabled_vp(struct vop2_power_domain *pd)
|
||||
}
|
||||
|
||||
if (vp) {
|
||||
if (vp->dclk_switch)
|
||||
clk_prepare_enable(vp->dclk_switch);
|
||||
ret = clk_prepare_enable(vp->dclk);
|
||||
if (ret < 0)
|
||||
DRM_DEV_ERROR(vop2->dev, "failed to enable dclk for video port%d - %d\n",
|
||||
@@ -4791,6 +4793,8 @@ static void vop2_power_domain_off_by_disabled_vp(struct vop2_power_domain *pd)
|
||||
DRM_DEV_INFO(vop2->dev, "wait for vp%d dsp_hold timeout\n", vp->id);
|
||||
|
||||
vop2_dsp_hold_valid_irq_disable(crtc);
|
||||
if (vp->dclk_switch)
|
||||
clk_disable_unprepare(vp->dclk_switch);
|
||||
clk_disable_unprepare(vp->dclk);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user