Hi Daniel, On Fri, Jun 14, 2019 at 10:42:51AM +0200, Daniel Vetter wrote: > On Fri, Jun 14, 2019 at 10:15:52AM +0200, Jacopo Mondi wrote: > > Hi Laurent, > > thanks for review > > > > On Fri, Jun 07, 2019 at 03:03:04PM +0300, Laurent Pinchart wrote: > > > Hi Jacopo, > > > > > > Thank you for the patch. > > > > > > On Thu, Jun 06, 2019 at 04:22:19PM +0200, Jacopo Mondi wrote: > > > > Enable the GAMMA_LUT KMS property using the framework helpers to > > > > register the proeprty and the associated gamma table size maximum size. > > > > > > > > Signed-off-by: Jacopo Mondi > > > > --- > > > > drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 3 +++ > > > > 1 file changed, 3 insertions(+) > > > > > > > > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c > > > > index e6d3df37c827..c920fb5dba65 100644 > > > > --- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c > > > > +++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c > > > > @@ -1207,6 +1207,9 @@ int rcar_du_crtc_create(struct rcar_du_group *rgrp, unsigned int swindex, > > > > rcdu->cmms[swindex]) { > > > > rcrtc->cmm = rcdu->cmms[swindex]; > > > > rgrp->cmms_mask |= BIT(hwindex % 2); > > > > + > > > > + drm_mode_crtc_set_gamma_size(crtc, CMM_GAMMA_LUT_SIZE); > > > > + drm_crtc_enable_color_mgmt(crtc, 0, false, CMM_GAMMA_LUT_SIZE); > > > > > > This change looks good, but you also need to add support for legacy API. > > > According to the function's documentation, > > > > > > * Drivers should use drm_atomic_helper_legacy_gamma_set() to implement the > > > * legacy &drm_crtc_funcs.gamma_set callback. > > > > > > > Drivers 'shuld' or drivers 'shall' ? > > Isn't this required only to support the 'legacy APIs' ? Do we want that? > > You're calling drm_mode_crtc_set_gamma_size, which is only useful for the > legacy ioctls. should here = assuming your hw supports something that > legacy gamma ioctl can use. Feel free to patch up the docs. Oh, I see. I should either leave the old API alone without calling drm_mode_crtc_set_gamma_size(), or set the .gamma_set callback to point to drm_atomic_helper_legacy_gamma_set(), which translates the old gamma table interface to a blob property and attach it to a crtc state which is then commited and applied through the atomic helpers. So I would change the doc to prescribe that if the driver intends to support the legacy SETGAMMA/GETGAMMA IOCTLs it should declare the gamma table size with drm_mode_crtc_set_gamma_size() first, and set the .gamma_set crtc callback to drm_atomic_helper_legacy_gamma_set(), which translates the legacy interface to a GAMMA_LUT property blob and commit it. If that works, I'll make a small patch to the documentation in v2. Thanks j > -Daniel > > > > > Thanks > > j > > > > > > } > > > > > > > > drm_crtc_helper_add(crtc, &crtc_helper_funcs); > > > > > > > > > > -- > > > Regards, > > > > > > Laurent Pinchart > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch