Hi, On 17 December 2015 at 18:57, Lionel Landwerlin <lionel.g.landwerlin@xxxxxxxxx> wrote: > void intel_crtc_attach_color_properties(struct drm_crtc *crtc) > { > + struct drm_device *dev = crtc->dev; > + struct drm_mode_config *config = &dev->mode_config; > + struct drm_mode_object *mode_obj = &crtc->base; > + > + /* > + * Register: > + * ========= > + * Gamma correction as palette_after_ctm property > + * Degamma correction as palette_before_ctm property > + * > + * Load: > + * ===== > + * no. of coefficients supported on this platform for gamma > + * and degamma with the query properties. A user > + * space agent should read these query property, and prepare > + * the color correction values accordingly. Its expected from the > + * driver to load the right number of coefficients during the init > + * phase. > + */ > + if (config->cm_coeff_after_ctm_property) { > + drm_object_attach_property(mode_obj, > + config->cm_coeff_after_ctm_property, > + INTEL_INFO(dev)->num_samples_after_ctm); > + DRM_DEBUG_DRIVER("Gamma query property initialized\n"); > + } > + > + if (config->cm_coeff_before_ctm_property) { > + drm_object_attach_property(mode_obj, > + config->cm_coeff_before_ctm_property, > + INTEL_INFO(dev)->num_samples_before_ctm); > + DRM_DEBUG_DRIVER("Degamma query property initialized\n"); > + } > + > + /* Gamma correction */ > + if (config->cm_palette_after_ctm_property) { > + drm_object_attach_property(mode_obj, > + config->cm_palette_after_ctm_property, 0); > + DRM_DEBUG_DRIVER("gamma property attached to CRTC\n"); > + } > + > + /* Degamma correction */ > + if (config->cm_palette_before_ctm_property) { > + drm_object_attach_property(mode_obj, > + config->cm_palette_before_ctm_property, 0); > + DRM_DEBUG_DRIVER("degamma property attached to CRTC\n"); > + } > + > + /* CSC */ > + if (config->cm_ctm_property) { > + drm_object_attach_property(mode_obj, > + config->cm_ctm_property, 0); > + DRM_DEBUG_DRIVER("CSC property attached to CRTC\n"); > + } > } > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b9eb507..7cf56cb 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -14264,6 +14264,7 @@ static void intel_crtc_init(struct drm_device *dev, int pipe) > intel_crtc->cursor_size = ~0; > > intel_crtc->wm.cxsr_allowed = true; > + intel_crtc_attach_color_properties(&intel_crtc->base); NAK. These properties must not be registered unless they actually support colour management (i.e., are CHV/BDW). You can also drop the debug prints about attaching properties to the CRTC. Cheers, Daniel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx