From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: Re: [PATCH v4 3/4] drm/mediatek: Add gamma correction.
Date: Thu, 11 Aug 2016 09:51:16 +0200
Message-ID: <1470901876.2493.24.camel@pengutronix.de>
References: <1469672575-5847-1-git-send-email-bibby.hsieh@mediatek.com>
<1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com>
<1470900779.2493.20.camel@pengutronix.de> <20160811074410.GF4329@intel.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Return-path:
In-Reply-To: <20160811074410.GF4329@intel.com>
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?=
Cc: Sascha Hauer , Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Mao Huang , linux-mediatek@lists.infradead.org, Matthias Brugger , Yingjoe Chen , Cawa Cheng , linux-arm-kernel@lists.infradead.org
List-Id: linux-mediatek@lists.infradead.org
QW0gRG9ubmVyc3RhZywgZGVuIDExLjA4LjIwMTYsIDEwOjQ0ICswMzAwIHNjaHJpZWIgVmlsbGUg
U3lyasOkbMOkOgo+IE9uIFRodSwgQXVnIDExLCAyMDE2IGF0IDA5OjMyOjU5QU0gKzAyMDAsIFBo
aWxpcHAgWmFiZWwgd3JvdGU6Cj4gPiBBbSBEb25uZXJzdGFnLCBkZW4gMjguMDcuMjAxNiwgMTA6
MjIgKzA4MDAgc2NocmllYiBCaWJieSBIc2llaDoKPiA+ID4gQWRkIGdhbW1hIHNldCBmdW5jdGlv
biB0byBjb3JyZWN0IGJyaWdodG5lc3MgdmFsdWVzLgo+ID4gPiBJdCBhcHBsaWVzIGFyYml0cmFy
eSBtYXBwaW5nIGN1cnZlIHRvIGNvbXBlbnNhdGUgdGhlCj4gPiA+IGluY29ycmVjdCB0cmFuc2Zl
ciBmdW5jdGlvbiBvZiB0aGUgcGFuZWwuCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBCaWJi
eSBIc2llaCA8YmliYnkuaHNpZWhAbWVkaWF0ZWsuY29tPgo+ID4gPiAtLS0KPiA+ID4gIGRyaXZl
cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyAgICAgfCAgICA4ICsrKysrKy0KPiA+
ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaCAgICAgfCAgICAxICsK
PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMgfCAgIDMx
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlh
dGVrL210a19kcm1fZGRwX2NvbXAuaCB8ICAgMTAgKysrKysrKysrCj4gPiA+ICA0IGZpbGVzIGNo
YW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiA+ID4gCj4gPiA+IGRpZmYg
LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgYi9kcml2ZXJz
L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiA+ID4gaW5kZXggMjRhYTNiYS4uY2Ji
NDYwYTUgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt
X2NydGMuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRj
LmMKPiA+ID4gQEAgLTQwOSw2ICs0MDksOSBAQCBzdGF0aWMgdm9pZCBtdGtfZHJtX2NydGNfYXRv
bWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gIAl9Cj4gPiA+ICAJaWYgKHBl
bmRpbmdfcGxhbmVzKQo+ID4gPiAgCQltdGtfY3J0Yy0+cGVuZGluZ19wbGFuZXMgPSB0cnVlOwo+
ID4gPiArCWlmIChjcnRjLT5zdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkKQo+ID4gPiArCQlmb3Ig
KGkgPSAwOyBpIDwgbXRrX2NydGMtPmRkcF9jb21wX25yOyBpKyspCj4gPiA+ICsJCQltdGtfZGRw
X2dhbW1hX3NldChtdGtfY3J0Yy0+ZGRwX2NvbXBbaV0sIGNydGMtPnN0YXRlKTsKPiA+ID4gIH0K
PiA+ID4gIAo+ID4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBtdGtfY3J0
Y19mdW5jcyA9IHsKPiA+ID4gQEAgLTQxOCw2ICs0MjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0
IGRybV9jcnRjX2Z1bmNzIG10a19jcnRjX2Z1bmNzID0gewo+ID4gPiAgCS5yZXNldAkJCT0gbXRr
X2RybV9jcnRjX3Jlc2V0LAo+ID4gPiAgCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlCT0gbXRrX2Ry
bV9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKPiA+ID4gIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUJPSBt
dGtfZHJtX2NydGNfZGVzdHJveV9zdGF0ZSwKPiA+ID4gKwkuZ2FtbWFfc2V0CQk9IGRybV9hdG9t
aWNfaGVscGVyX2xlZ2FjeV9nYW1tYV9zZXQsCj4gPiA+ICB9Owo+ID4gPiAgCj4gPiA+ICBzdGF0
aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBtdGtfY3J0Y19oZWxwZXJfZnVu
Y3MgPSB7Cj4gPiA+IEBAIC01NjgsNyArNTcyLDkgQEAgaW50IG10a19kcm1fY3J0Y19jcmVhdGUo
c3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCj4gPiA+ICAJCQkJJm10a19jcnRjLT5wbGFuZXNb
MV0uYmFzZSwgcGlwZSk7Cj4gPiA+ICAJaWYgKHJldCA8IDApCj4gPiA+ICAJCWdvdG8gdW5wcmVw
YXJlOwo+ID4gPiAtCj4gPiA+ICsJZHJtX21vZGVfY3J0Y19zZXRfZ2FtbWFfc2l6ZSgmbXRrX2Ny
dGMtPmJhc2UsIE1US19MVVRfU0laRSk7Cj4gPiA+ICsJZHJtX2hlbHBlcl9jcnRjX2VuYWJsZV9j
b2xvcl9tZ210KCZtdGtfY3J0Yy0+YmFzZSwgTVRLX0xVVF9TSVpFLAo+ID4gPiArCQkJCQkgIE1U
S19MVVRfU0laRSk7Cj4gPiAKPiA+IEkgaGF2ZSBhcHBsaWVkIGFsbCBmb3VyIHBhdGNoZXMgYW5k
IHJlYmFzZWQgb250byB2NC44LXJjMSwgcmVwbGFjaW5nCj4gPiBkcm1faGVscGVyX2NydGNfZW5h
YmxlX2NvbG9yX21nbXQgd2l0aDoKPiA+IAo+ID4gCWRybV9jcnRjX2VuYWJsZV9jb2xvcl9tZ210
KCZtdGtfY3J0Yy0+YmFzZSwgTVRLX0xVVF9TSVpFLAo+ID4gCQkJCSAgIHRydWUsIE1US19MVVRf
U0laRSk7Cj4gCj4gQlRXIHRoYXQgbG9va3Mgd3JvbmcgKGFscmVhZHkgaW4gdGhlIG9yaWdpbmFs
KS4gQUZBSUNTIHRoZSBwYXRjaCBqdXN0Cj4gaGFuZGxlZCB0aGUgZ2FtbWFfbHV0LCBub3QgdGhl
IGRlZ2FtbWFfbHV0LCBzbyB0ZWxsaW5nIHlvdSBoYXZlIGJvdGgKPiBpcyBub3QgcmlnaHQuCgpU
aGFua3MsIHNvIHNob3VsZCB0aGF0IGJlCiAgICAgICBkcm1fY3J0Y19lbmFibGVfY29sb3JfbWdt
dCgmbXRrX2NydGMtPmJhc2UsIDAsIGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTVRLX0xVVF9TSVpFKTsKaW5zdGVhZCwgc2luY2Ugd2Ugb25seSBoYW5kbGUgZ2FtbWE/
CgpyZWdhcmRzClBoaWxpcHAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr
dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry
aS1kZXZlbAo=
From mboxrd@z Thu Jan 1 00:00:00 1970
From: p.zabel@pengutronix.de (Philipp Zabel)
Date: Thu, 11 Aug 2016 09:51:16 +0200
Subject: [PATCH v4 3/4] drm/mediatek: Add gamma correction.
In-Reply-To: <20160811074410.GF4329@intel.com>
References: <1469672575-5847-1-git-send-email-bibby.hsieh@mediatek.com>
<1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com>
<1470900779.2493.20.camel@pengutronix.de> <20160811074410.GF4329@intel.com>
Message-ID: <1470901876.2493.24.camel@pengutronix.de>
To: linux-arm-kernel@lists.infradead.org
List-Id: linux-arm-kernel.lists.infradead.org
Am Donnerstag, den 11.08.2016, 10:44 +0300 schrieb Ville Syrj?l?:
> On Thu, Aug 11, 2016 at 09:32:59AM +0200, Philipp Zabel wrote:
> > Am Donnerstag, den 28.07.2016, 10:22 +0800 schrieb Bibby Hsieh:
> > > Add gamma set function to correct brightness values.
> > > It applies arbitrary mapping curve to compensate the
> > > incorrect transfer function of the panel.
> > >
> > > Signed-off-by: Bibby Hsieh
> > > ---
> > > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 8 ++++++-
> > > drivers/gpu/drm/mediatek/mtk_drm_crtc.h | 1 +
> > > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 31 +++++++++++++++++++++++++++
> > > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 10 +++++++++
> > > 4 files changed, 49 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > > index 24aa3ba..cbb460a5 100644
> > > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > > @@ -409,6 +409,9 @@ static void mtk_drm_crtc_atomic_flush(struct drm_crtc *crtc,
> > > }
> > > if (pending_planes)
> > > mtk_crtc->pending_planes = true;
> > > + if (crtc->state->color_mgmt_changed)
> > > + for (i = 0; i < mtk_crtc->ddp_comp_nr; i++)
> > > + mtk_ddp_gamma_set(mtk_crtc->ddp_comp[i], crtc->state);
> > > }
> > >
> > > static const struct drm_crtc_funcs mtk_crtc_funcs = {
> > > @@ -418,6 +421,7 @@ static const struct drm_crtc_funcs mtk_crtc_funcs = {
> > > .reset = mtk_drm_crtc_reset,
> > > .atomic_duplicate_state = mtk_drm_crtc_duplicate_state,
> > > .atomic_destroy_state = mtk_drm_crtc_destroy_state,
> > > + .gamma_set = drm_atomic_helper_legacy_gamma_set,
> > > };
> > >
> > > static const struct drm_crtc_helper_funcs mtk_crtc_helper_funcs = {
> > > @@ -568,7 +572,9 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev,
> > > &mtk_crtc->planes[1].base, pipe);
> > > if (ret < 0)
> > > goto unprepare;
> > > -
> > > + drm_mode_crtc_set_gamma_size(&mtk_crtc->base, MTK_LUT_SIZE);
> > > + drm_helper_crtc_enable_color_mgmt(&mtk_crtc->base, MTK_LUT_SIZE,
> > > + MTK_LUT_SIZE);
> >
> > I have applied all four patches and rebased onto v4.8-rc1, replacing
> > drm_helper_crtc_enable_color_mgmt with:
> >
> > drm_crtc_enable_color_mgmt(&mtk_crtc->base, MTK_LUT_SIZE,
> > true, MTK_LUT_SIZE);
>
> BTW that looks wrong (already in the original). AFAICS the patch just
> handled the gamma_lut, not the degamma_lut, so telling you have both
> is not right.
Thanks, so should that be
drm_crtc_enable_color_mgmt(&mtk_crtc->base, 0, false,
MTK_LUT_SIZE);
instead, since we only handle gamma?
regards
Philipp
From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
id S932680AbcHKHvn (ORCPT );
Thu, 11 Aug 2016 03:51:43 -0400
Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:54605 "EHLO
metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK)
by vger.kernel.org with ESMTP id S1752302AbcHKHvm (ORCPT
);
Thu, 11 Aug 2016 03:51:42 -0400
Message-ID: <1470901876.2493.24.camel@pengutronix.de>
Subject: Re: [PATCH v4 3/4] drm/mediatek: Add gamma correction.
From: Philipp Zabel
To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?=
Cc: Bibby Hsieh , linux-kernel@vger.kernel.org,
Daniel Vetter ,
Cawa Cheng , dri-devel@lists.freedesktop.org,
Mao Huang , linux-mediatek@lists.infradead.org,
Sascha Hauer ,
Matthias Brugger ,
Yingjoe Chen ,
linux-arm-kernel@lists.infradead.org
Date: Thu, 11 Aug 2016 09:51:16 +0200
In-Reply-To: <20160811074410.GF4329@intel.com>
References: <1469672575-5847-1-git-send-email-bibby.hsieh@mediatek.com>
<1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com>
<1470900779.2493.20.camel@pengutronix.de> <20160811074410.GF4329@intel.com>
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.12.9-1+b1
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 2001:67c:670:100:96de:80ff:fec2:9969
X-SA-Exim-Mail-From: p.zabel@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: linux-kernel@vger.kernel.org
Sender: linux-kernel-owner@vger.kernel.org
List-ID:
X-Mailing-List: linux-kernel@vger.kernel.org
Am Donnerstag, den 11.08.2016, 10:44 +0300 schrieb Ville Syrjälä:
> On Thu, Aug 11, 2016 at 09:32:59AM +0200, Philipp Zabel wrote:
> > Am Donnerstag, den 28.07.2016, 10:22 +0800 schrieb Bibby Hsieh:
> > > Add gamma set function to correct brightness values.
> > > It applies arbitrary mapping curve to compensate the
> > > incorrect transfer function of the panel.
> > >
> > > Signed-off-by: Bibby Hsieh
> > > ---
> > > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 8 ++++++-
> > > drivers/gpu/drm/mediatek/mtk_drm_crtc.h | 1 +
> > > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 31 +++++++++++++++++++++++++++
> > > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 10 +++++++++
> > > 4 files changed, 49 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > > index 24aa3ba..cbb460a5 100644
> > > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> > > @@ -409,6 +409,9 @@ static void mtk_drm_crtc_atomic_flush(struct drm_crtc *crtc,
> > > }
> > > if (pending_planes)
> > > mtk_crtc->pending_planes = true;
> > > + if (crtc->state->color_mgmt_changed)
> > > + for (i = 0; i < mtk_crtc->ddp_comp_nr; i++)
> > > + mtk_ddp_gamma_set(mtk_crtc->ddp_comp[i], crtc->state);
> > > }
> > >
> > > static const struct drm_crtc_funcs mtk_crtc_funcs = {
> > > @@ -418,6 +421,7 @@ static const struct drm_crtc_funcs mtk_crtc_funcs = {
> > > .reset = mtk_drm_crtc_reset,
> > > .atomic_duplicate_state = mtk_drm_crtc_duplicate_state,
> > > .atomic_destroy_state = mtk_drm_crtc_destroy_state,
> > > + .gamma_set = drm_atomic_helper_legacy_gamma_set,
> > > };
> > >
> > > static const struct drm_crtc_helper_funcs mtk_crtc_helper_funcs = {
> > > @@ -568,7 +572,9 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev,
> > > &mtk_crtc->planes[1].base, pipe);
> > > if (ret < 0)
> > > goto unprepare;
> > > -
> > > + drm_mode_crtc_set_gamma_size(&mtk_crtc->base, MTK_LUT_SIZE);
> > > + drm_helper_crtc_enable_color_mgmt(&mtk_crtc->base, MTK_LUT_SIZE,
> > > + MTK_LUT_SIZE);
> >
> > I have applied all four patches and rebased onto v4.8-rc1, replacing
> > drm_helper_crtc_enable_color_mgmt with:
> >
> > drm_crtc_enable_color_mgmt(&mtk_crtc->base, MTK_LUT_SIZE,
> > true, MTK_LUT_SIZE);
>
> BTW that looks wrong (already in the original). AFAICS the patch just
> handled the gamma_lut, not the degamma_lut, so telling you have both
> is not right.
Thanks, so should that be
drm_crtc_enable_color_mgmt(&mtk_crtc->base, 0, false,
MTK_LUT_SIZE);
instead, since we only handle gamma?
regards
Philipp