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

Daniel Vetter
2015-07-07T13:19:58Z

On Tue, Jul 07, 2015 at 12:51:06PM +0200, Maarten Lankhorst wrote:
> Op 07-07-15 om 11:33 schreef Daniel Vetter:
> > 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.
> >
> update_pipe = true.

Ah that's added in patch 12, which I've ignored a bit. I guess means we
need to hold off on this one too until fastboot has settled more.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation