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
1 changed files with 3 additions and 7 deletions
|
|
@ -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…
Add table
Add a link
Reference in a new issue