drm/rockchip: vop2: Use regcache_sync() to fix suspend/resume
commit b63a553e8f5aa6574eeb535a551817a93c426d8c upstream. afa965a45e01 ("drm/rockchip: vop2: fix suspend/resume") uses regmap_reinit_cache() to fix the suspend/resume issue with the VOP2 driver. During discussion it came up that we should rather use regcache_sync() instead. As the original patch is already applied fix this up in this follow-up patch. Fixes: afa965a45e01 ("drm/rockchip: vop2: fix suspend/resume") Cc: stable@vger.kernel.org Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://patchwork.freedesktop.org/patch/msgid/20230417123747.2179695-1-s.hauer@pengutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
904e1b6685
commit
b1644a0031
@ -216,8 +216,6 @@ 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);
|
||||
@ -842,11 +840,7 @@ static void vop2_enable(struct vop2 *vop2)
|
||||
return;
|
||||
}
|
||||
|
||||
ret = regmap_reinit_cache(vop2->map, &vop2_regmap_config);
|
||||
if (ret) {
|
||||
drm_err(vop2->drm, "failed to reinit cache: %d\n", ret);
|
||||
return;
|
||||
}
|
||||
regcache_sync(vop2->map);
|
||||
|
||||
if (vop2->data->soc_id == 3566)
|
||||
vop2_writel(vop2, RK3568_OTP_WIN_EN, 1);
|
||||
@ -876,6 +870,8 @@ 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…
Reference in New Issue
Block a user