Skip to content

Commit

Permalink
drm/atomic-helpers: Don't duplicate code in destroy helpers
Browse files Browse the repository at this point in the history
Random drive-by refactoring I spotted.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
  • Loading branch information
Daniel Vetter authored and Dave Airlie committed Apr 26, 2016
1 parent 1649c33 commit b0b5511
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions drivers/gpu/drm/drm_atomic_helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -2510,12 +2510,9 @@ EXPORT_SYMBOL(drm_atomic_helper_connector_dpms);
*/
void drm_atomic_helper_crtc_reset(struct drm_crtc *crtc)
{
if (crtc->state) {
drm_property_unreference_blob(crtc->state->mode_blob);
drm_property_unreference_blob(crtc->state->degamma_lut);
drm_property_unreference_blob(crtc->state->ctm);
drm_property_unreference_blob(crtc->state->gamma_lut);
}
if (crtc->state)
__drm_atomic_helper_crtc_destroy_state(crtc, crtc->state);

kfree(crtc->state);
crtc->state = kzalloc(sizeof(*crtc->state), GFP_KERNEL);

Expand Down Expand Up @@ -2621,8 +2618,8 @@ EXPORT_SYMBOL(drm_atomic_helper_crtc_destroy_state);
*/
void drm_atomic_helper_plane_reset(struct drm_plane *plane)
{
if (plane->state && plane->state->fb)
drm_framebuffer_unreference(plane->state->fb);
if (plane->state)
__drm_atomic_helper_plane_destroy_state(plane, plane->state);

kfree(plane->state);
plane->state = kzalloc(sizeof(*plane->state), GFP_KERNEL);
Expand Down Expand Up @@ -2743,6 +2740,10 @@ void drm_atomic_helper_connector_reset(struct drm_connector *connector)
struct drm_connector_state *conn_state =
kzalloc(sizeof(*conn_state), GFP_KERNEL);

if (connector->state)
__drm_atomic_helper_connector_destroy_state(connector,
connector->state);

kfree(connector->state);
__drm_atomic_helper_connector_reset(connector, conn_state);
}
Expand Down

0 comments on commit b0b5511

Please sign in to comment.