Message ID | 1576222132-31586-2-git-send-email-yongqiang.niu@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/mediatek: Add ctm property support | expand |
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@mediatek.com> > > --- > > 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); > > > >
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); priv->num_pipes++; mutex_init(&mtk_crtc->hw_lock);
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@mediatek.com> --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)