aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_plane_helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_plane_helper.c')
-rw-r--r--drivers/gpu/drm/drm_plane_helper.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
index f24c4cfe674b..4dcdcad9f16d 100644
--- a/drivers/gpu/drm/drm_plane_helper.c
+++ b/drivers/gpu/drm/drm_plane_helper.c
@@ -449,7 +449,15 @@ int drm_plane_helper_commit(struct drm_plane *plane,
449 crtc_funcs[i]->atomic_begin(crtc[i]); 449 crtc_funcs[i]->atomic_begin(crtc[i]);
450 } 450 }
451 451
452 plane_funcs->atomic_update(plane, plane_state); 452 /*
453 * Drivers may optionally implement the ->atomic_disable callback, so
454 * special-case that here.
455 */
456 if (drm_atomic_plane_disabling(plane, plane_state) &&
457 plane_funcs->atomic_disable)
458 plane_funcs->atomic_disable(plane, plane_state);
459 else
460 plane_funcs->atomic_update(plane, plane_state);
453 461
454 for (i = 0; i < 2; i++) { 462 for (i = 0; i < 2; i++) {
455 if (crtc_funcs[i] && crtc_funcs[i]->atomic_flush) 463 if (crtc_funcs[i] && crtc_funcs[i]->atomic_flush)