On Fri, 2019-12-13 at 15:48 +0800, CK Hu wrote: > Hi, Yongqiang: > > The title is too rough. Any bug of gamma would be this title. I would > like the title show explicitly what it does. > > On Fri, 2019-12-13 at 15:28 +0800, Yongqiang Niu wrote: > > if there is no gamma function in the crtc > > display path, don't add gamma property > > for crtc > > > > Signed-off-by: Yongqiang Niu <yongqiang.niu@xxxxxxxxxxxx> > > --- > > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 10 ++++++++-- > > 1 file changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > index ca4fc47..9a8e1d4 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > @@ -734,6 +734,7 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, > > int pipe = priv->num_pipes; > > int ret; > > int i; > > + uint gamma_lut_size = 0; > > > > if (!path) > > return 0; > > @@ -785,6 +786,9 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, > > } > > > > mtk_crtc->ddp_comp[i] = comp; > > + > > + if (comp->funcs->gamma_set) > > + gamma_lut_size = MTK_LUT_SIZE; > > } > > > > for (i = 0; i < mtk_crtc->ddp_comp_nr; i++) > > @@ -805,8 +809,10 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, > > NULL, pipe); > > if (ret < 0) > > return ret; > > - drm_mode_crtc_set_gamma_size(&mtk_crtc->base, MTK_LUT_SIZE); > > - drm_crtc_enable_color_mgmt(&mtk_crtc->base, 0, false, MTK_LUT_SIZE); > > + > > + if (gamma_lut_size) > > + drm_mode_crtc_set_gamma_size(&mtk_crtc->base, gamma_lut_size); > > + drm_crtc_enable_color_mgmt(&mtk_crtc->base, 0, false, gamma_lut_size); > > If there is no gamma, shall we enable color management? > > Regards, > CK drm_crtc_enable_color_mgmt will check the gamma_lut_size parameter, if no gamma, gamma_lut_size will be 0, and gamma_lut_size will not attch gamma property for the crtc > > > priv->num_pipes++; > > mutex_init(&mtk_crtc->hw_lock); > > > >