Commit 01e2eaf4 authored by Maarten Lankhorst's avatar Maarten Lankhorst

drm/rockchip: Convert to using __drm_atomic_helper_crtc_reset() for reset.

Convert rockchip to using __drm_atomic_helper_crtc_reset(), instead of
writing its own version. Instead of open coding
destroy_state(), call it directly for freeing the old state.
Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: linux-rockchip@lists.infradead.org
Reviewed-by: default avatarHeiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20190301125627.7285-14-maarten.lankhorst@linux.intel.com
parent 9a6a19c0
...@@ -1210,17 +1210,6 @@ static void vop_crtc_destroy(struct drm_crtc *crtc) ...@@ -1210,17 +1210,6 @@ static void vop_crtc_destroy(struct drm_crtc *crtc)
drm_crtc_cleanup(crtc); drm_crtc_cleanup(crtc);
} }
static void vop_crtc_reset(struct drm_crtc *crtc)
{
if (crtc->state)
__drm_atomic_helper_crtc_destroy_state(crtc->state);
kfree(crtc->state);
crtc->state = kzalloc(sizeof(struct rockchip_crtc_state), GFP_KERNEL);
if (crtc->state)
crtc->state->crtc = crtc;
}
static struct drm_crtc_state *vop_crtc_duplicate_state(struct drm_crtc *crtc) static struct drm_crtc_state *vop_crtc_duplicate_state(struct drm_crtc *crtc)
{ {
struct rockchip_crtc_state *rockchip_state; struct rockchip_crtc_state *rockchip_state;
...@@ -1242,6 +1231,17 @@ static void vop_crtc_destroy_state(struct drm_crtc *crtc, ...@@ -1242,6 +1231,17 @@ static void vop_crtc_destroy_state(struct drm_crtc *crtc,
kfree(s); kfree(s);
} }
static void vop_crtc_reset(struct drm_crtc *crtc)
{
struct rockchip_crtc_state *crtc_state =
kzalloc(sizeof(*crtc_state), GFP_KERNEL);
if (crtc->state)
vop_crtc_destroy_state(crtc, crtc->state);
__drm_atomic_helper_crtc_reset(crtc, &crtc_state->base);
}
#ifdef CONFIG_DRM_ANALOGIX_DP #ifdef CONFIG_DRM_ANALOGIX_DP
static struct drm_connector *vop_get_edp_connector(struct vop *vop) static struct drm_connector *vop_get_edp_connector(struct vop *vop)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment