On Mon, 18 Jul 2016 09:14:56 +0200
Maarten Lankhorst <maarten.lankho...@linux.intel.com> wrote:

> Hey,
> 
> Op 15-07-16 om 12:51 schreef Lionel Landwerlin:
> > From: Bob Paauwe <bob.j.paa...@intel.com>
> >
> > The i915 driver is now using atomic properties and atomic commit
> > to handle the legacy set gamma IOCTL. However, if the driver is
> > configured without atomic (nuclear_pageflip = false), it won't
> > update the legacy properties for degamma_lut, gamma_lut and ctm
> > leaving them out of sync with the atomic version of the properties.
> >
> > Until the driver is full atomic, make sure we update the non-atomic
> > version of the properties.
> >
> > v2: Update the comment with a FIXME.  (Daniel)
> >
> > igt-testcase: kms_pipe_color / legacy-gamma-reset-pipeX
> > Cc: Daniel Vetter <dan...@ffwll.ch>
> > Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
> > Signed-off-by: Bob Paauwe <bob.j.paa...@intel.com>
> > Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 39 
> > +++++++++++++++++++++++++++++++++++-
> >  1 file changed, 38 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c 
> > b/drivers/gpu/drm/i915/intel_display.c
> > index 3074c56..3269af4 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -13806,8 +13806,45 @@ out:
> >  
> >  #undef for_each_intel_crtc_masked
> >  
> > +/*
> > + * FIXME: Remove this once i915 is fully DRIVER_ATOMIC by calling
> > + *        drm_atomic_helper_legacy_gamma_set() directly.
> > + */
> > +static void intel_atomic_legacy_gamma_set(struct drm_crtc *crtc,
> > +                                     u16 *red, u16 *green, u16 *blue,
> > +                                     uint32_t start, uint32_t size)
> > +{
> > +   struct drm_device *dev = crtc->dev;
> > +   struct drm_mode_config *config = &dev->mode_config;
> > +   struct drm_crtc_state *state;
> > +
> > +   drm_atomic_helper_legacy_gamma_set(crtc, red, green, blue, start, size);
> > +
> > +   /*
> > +    * Make sure we update the legacy properties so this works when
> > +    * atomic is not enabled.
> > +    */
> > +
> > +   state = crtc->state;
> > +
> > +   drm_object_property_set_value(&crtc->base,
> > +                                 config->degamma_lut_property,
> > +                                 (state->degamma_lut) ?
> > +                                 state->degamma_lut->base.id : 0);
> > +
> > +   drm_object_property_set_value(&crtc->base,
> > +                                 config->ctm_property,
> > +                                 (state->ctm) ?
> > +                                 state->ctm->base.id : 0);
> > +
> > +   drm_object_property_set_value(&crtc->base,
> > +                                 config->gamma_lut_property,
> > +                                 (state->gamma_lut) ?
> > +                                 state->gamma_lut->base.id : 0);
> > +}
> > +
> >  static const struct drm_crtc_funcs intel_crtc_funcs = {
> > -   .gamma_set = drm_atomic_helper_legacy_gamma_set,
> > +   .gamma_set = intel_atomic_legacy_gamma_set,
> >     .set_config = drm_atomic_helper_set_config,
> >     .set_property = drm_atomic_helper_crtc_set_property,
> >     .destroy = intel_crtc_destroy,  
> 
> Does this compile with -nightly? The gamma_set atomic function should now 
> return a int,
> so the return value from drm_atomic_helper_legacy_gamma_set should be 
> returned here too.
> I've fixed the return value because of this patch, otherwise -ERESTARTSYS 
> wasn't handled
> correctly.
> 
> ~Maarten
> 

Maarten,

Not any more, you need to use Lionel's updated version.  I think he
missed updating the title as he made a couple of changes and it's up to
version 4 now. Looks like you just reviewed his version.

Bob


-- 
--
Bob Paauwe                  
bob.j.paa...@intel.com
IOTG / PED Software Organization
Intel Corp.  Folsom, CA
(916) 356-6193    

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to