Re: [PATCH v2 06/13] drm/i915: Move LUT programming to happen after vblank waits

Ville Syrjälä
2019-02-07T19:24:34Z

On Thu, Feb 07, 2019 at 04:46:54PM +0100, Maarten Lankhorst wrote:
> Hey,
>
> Op 05-02-2019 om 17:08 schreef Ville Syrjala:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > The LUTs are single buffered so we should program them after
> > the double buffered pipe updates have been latched by the
> > hardware.
> >
> > We'll also fix up the IPS vs. split gamma w/a to do the IPS
> > disable like everyone else. Note that this is currently dead
> > code as we don't use the split gamma mode on HSW, but that
> > will be fixed up shortly.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Hmm I guess there is no good way to do this, either before or after. :/
>
> The idea was that we do it before was to make sure that the frame after the flip would be perfect. I guess
>
> we can't be sure, and after is as good as before..

After is much better than before since we have actually have a
chance that we're inside the correct vblank interval. Doing it before
guarantees that we're either in the middle of the previous frame or in
the vblank before the previous frame (which would make the entire
previous frame use the wrong LUT values).

Anyways, it should be mostly OK for single pipe updates since
we'll just wait for the vblank of that one pipe, and thus should still
be in the vblank for the LUT reprogramming. For multi-pipe we'd need to
get significantly more lucky.

>
> For patch 1-6:
>
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

--
Ville Syrjälä
Intel