Revert "drm/rockchip: vop2: Use regcache_sync() to fix suspend/resume"
This reverts commitb63a553e8f
. regcache_sync will try to reload the configuration in regcache to hardware, but the registers of 4 Cluster windows and Esmart1/2/3 on the upcoming rk3588 can not be set successfully before internal PD power on. Also it's better to keep the hardware register as it is before we really enable it. So let's revert this version, and keep the first version: commitafa965a45e
("drm/rockchip: vop2: fix suspend/resume") Signed-off-by: Andy Yan <andy.yan@rock-chips.com> Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://patchwork.freedesktop.org/patch/msgid/20231211115719.1784834-1-andyshrk@163.com
This commit is contained in:
parent
8c8546546f
commit
81a06f1d02
1 changed files with 7 additions and 3 deletions
|
@ -217,6 +217,8 @@ struct vop2 {
|
|||
struct vop2_win win[];
|
||||
};
|
||||
|
||||
static const struct regmap_config vop2_regmap_config;
|
||||
|
||||
static struct vop2_video_port *to_vop2_video_port(struct drm_crtc *crtc)
|
||||
{
|
||||
return container_of(crtc, struct vop2_video_port, crtc);
|
||||
|
@ -883,7 +885,11 @@ static void vop2_enable(struct vop2 *vop2)
|
|||
return;
|
||||
}
|
||||
|
||||
regcache_sync(vop2->map);
|
||||
ret = regmap_reinit_cache(vop2->map, &vop2_regmap_config);
|
||||
if (ret) {
|
||||
drm_err(vop2->drm, "failed to reinit cache: %d\n", ret);
|
||||
return;
|
||||
}
|
||||
|
||||
if (vop2->data->soc_id == 3566)
|
||||
vop2_writel(vop2, RK3568_OTP_WIN_EN, 1);
|
||||
|
@ -913,8 +919,6 @@ static void vop2_disable(struct vop2 *vop2)
|
|||
|
||||
pm_runtime_put_sync(vop2->dev);
|
||||
|
||||
regcache_mark_dirty(vop2->map);
|
||||
|
||||
clk_disable_unprepare(vop2->aclk);
|
||||
clk_disable_unprepare(vop2->hclk);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue