mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
drm/atomic-helpers: Don't duplicate code in destroy helpers
Random drive-by refactoring I spotted. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
1649c33ba3
commit
b0b5511bdf
1 changed files with 9 additions and 8 deletions
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue