drm/mali: Convert to using __drm_atomic_helper_crtc_reset() for reset.
Convert mali to using __drm_atomic_helper_crtc_reset(), instead of writing its own version. Instead of open coding malidp_crtc_destroy_state(), call it directly for freeing the old state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Liviu Dudau <liviu.dudau@arm.com> Cc: Brian Starkey <brian.starkey@arm.com> Acked-by: Liviu Dudau <liviu.dudau@arm.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190301125627.7285-6-maarten.lankhorst@linux.intel.com
This commit is contained in:
@@ -463,23 +463,6 @@ static struct drm_crtc_state *malidp_crtc_duplicate_state(struct drm_crtc *crtc)
|
|||||||
return &state->base;
|
return &state->base;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void malidp_crtc_reset(struct drm_crtc *crtc)
|
|
||||||
{
|
|
||||||
struct malidp_crtc_state *state = NULL;
|
|
||||||
|
|
||||||
if (crtc->state) {
|
|
||||||
state = to_malidp_crtc_state(crtc->state);
|
|
||||||
__drm_atomic_helper_crtc_destroy_state(crtc->state);
|
|
||||||
}
|
|
||||||
|
|
||||||
kfree(state);
|
|
||||||
state = kzalloc(sizeof(*state), GFP_KERNEL);
|
|
||||||
if (state) {
|
|
||||||
crtc->state = &state->base;
|
|
||||||
crtc->state->crtc = crtc;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void malidp_crtc_destroy_state(struct drm_crtc *crtc,
|
static void malidp_crtc_destroy_state(struct drm_crtc *crtc,
|
||||||
struct drm_crtc_state *state)
|
struct drm_crtc_state *state)
|
||||||
{
|
{
|
||||||
@@ -493,6 +476,17 @@ static void malidp_crtc_destroy_state(struct drm_crtc *crtc,
|
|||||||
kfree(mali_state);
|
kfree(mali_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void malidp_crtc_reset(struct drm_crtc *crtc)
|
||||||
|
{
|
||||||
|
struct malidp_crtc_state *state =
|
||||||
|
kzalloc(sizeof(*state), GFP_KERNEL);
|
||||||
|
|
||||||
|
if (crtc->state)
|
||||||
|
malidp_crtc_destroy_state(crtc, crtc->state);
|
||||||
|
|
||||||
|
__drm_atomic_helper_crtc_reset(crtc, &state->base);
|
||||||
|
}
|
||||||
|
|
||||||
static int malidp_crtc_enable_vblank(struct drm_crtc *crtc)
|
static int malidp_crtc_enable_vblank(struct drm_crtc *crtc)
|
||||||
{
|
{
|
||||||
struct malidp_drm *malidp = crtc_to_malidp_device(crtc);
|
struct malidp_drm *malidp = crtc_to_malidp_device(crtc);
|
||||||
|
Reference in New Issue
Block a user