Re: [PATCH v2 18/20] drm/i915: Only commit planes on crtc's that have changed planes.

Daniel Vetter
2015-07-07T09:31:11Z

On Tue, Jul 07, 2015 at 09:08:29AM +0200, Maarten Lankhorst wrote:
> No point in applying vblank evasion if there's nothing to evade.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 71fc35d814d1..2eaccdc59a9a 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -13288,7 +13288,10 @@ static int intel_atomic_commit(struct drm_device *dev,
> if (!modeset)
> intel_pre_plane_update(intel_crtc);
>
> - drm_atomic_helper_commit_planes_on_crtc(crtc_state);
> + if (crtc->state->planes_changed ||
> + to_intel_crtc_state(crtc->state)->update_pipe)
> + drm_atomic_helper_commit_planes_on_crtc(crtc_state);

What if we change some crtc property which is updated under vblank
evasion, but no plane state? e.g. background color. Imo trying to optimize
this doesn't speed up any common case, but makes things more fragile.
-Daniel

> +
> intel_post_plane_update(intel_crtc);
> }
>
> --
> 2.1.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation