From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v4 3/4] drm/mediatek: Add gamma correction. Date: Thu, 11 Aug 2016 11:02:27 +0300 Message-ID: <20160811080227.GH4329@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> <1470901876.2493.24.camel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1470901876.2493.24.camel@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Philipp Zabel 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 T24gVGh1LCBBdWcgMTEsIDIwMTYgYXQgMDk6NTE6MTZBTSArMDIwMCwgUGhpbGlwcCBaYWJlbCB3 cm90ZToKPiBBbSBEb25uZXJzdGFnLCBkZW4gMTEuMDguMjAxNiwgMTA6NDQgKzAzMDAgc2Nocmll YiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gPiBPbiBUaHUsIEF1ZyAxMSwgMjAxNiBhdCAwOTozMjo1OUFN ICswMjAwLCBQaGlsaXBwIFphYmVsIHdyb3RlOgo+ID4gPiBBbSBEb25uZXJzdGFnLCBkZW4gMjgu MDcuMjAxNiwgMTA6MjIgKzA4MDAgc2NocmllYiBCaWJieSBIc2llaDoKPiA+ID4gPiBBZGQgZ2Ft bWEgc2V0IGZ1bmN0aW9uIHRvIGNvcnJlY3QgYnJpZ2h0bmVzcyB2YWx1ZXMuCj4gPiA+ID4gSXQg YXBwbGllcyBhcmJpdHJhcnkgbWFwcGluZyBjdXJ2ZSB0byBjb21wZW5zYXRlIHRoZQo+ID4gPiA+ IGluY29ycmVjdCB0cmFuc2ZlciBmdW5jdGlvbiBvZiB0aGUgcGFuZWwuCj4gPiA+ID4gCj4gPiA+ ID4gU2lnbmVkLW9mZi1ieTogQmliYnkgSHNpZWggPGJpYmJ5LmhzaWVoQG1lZGlhdGVrLmNvbT4K PiA+ID4gPiAtLS0KPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0 Yy5jICAgICB8ICAgIDggKysrKysrLQo+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9jcnRjLmggICAgIHwgICAgMSArCj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2RkcF9jb21wLmMgfCAgIDMxICsrKysrKysrKysrKysrKysrKysrKysrKysr Kwo+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oIHwg ICAxMCArKysrKysrKysKPiA+ID4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCj4gPiA+ID4gCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2NydGMuYwo+ID4gPiA+IGluZGV4IDI0YWEzYmEuLmNiYjQ2MGE1IDEwMDY0NAo+ID4g PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYwo+ID4gPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYwo+ID4gPiA+IEBA IC00MDksNiArNDA5LDkgQEAgc3RhdGljIHZvaWQgbXRrX2RybV9jcnRjX2F0b21pY19mbHVzaChz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ID4gIAl9Cj4gPiA+ID4gIAlpZiAocGVuZGluZ19w bGFuZXMpCj4gPiA+ID4gIAkJbXRrX2NydGMtPnBlbmRpbmdfcGxhbmVzID0gdHJ1ZTsKPiA+ID4g PiArCWlmIChjcnRjLT5zdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkKQo+ID4gPiA+ICsJCWZvciAo aSA9IDA7IGkgPCBtdGtfY3J0Yy0+ZGRwX2NvbXBfbnI7IGkrKykKPiA+ID4gPiArCQkJbXRrX2Rk cF9nYW1tYV9zZXQobXRrX2NydGMtPmRkcF9jb21wW2ldLCBjcnRjLT5zdGF0ZSk7Cj4gPiA+ID4g IH0KPiA+ID4gPiAgCj4gPiA+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3Mg bXRrX2NydGNfZnVuY3MgPSB7Cj4gPiA+ID4gQEAgLTQxOCw2ICs0MjEsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIG10a19jcnRjX2Z1bmNzID0gewo+ID4gPiA+ICAJLnJl c2V0CQkJPSBtdGtfZHJtX2NydGNfcmVzZXQsCj4gPiA+ID4gIAkuYXRvbWljX2R1cGxpY2F0ZV9z dGF0ZQk9IG10a19kcm1fY3J0Y19kdXBsaWNhdGVfc3RhdGUsCj4gPiA+ID4gIAkuYXRvbWljX2Rl c3Ryb3lfc3RhdGUJPSBtdGtfZHJtX2NydGNfZGVzdHJveV9zdGF0ZSwKPiA+ID4gPiArCS5nYW1t YV9zZXQJCT0gZHJtX2F0b21pY19oZWxwZXJfbGVnYWN5X2dhbW1hX3NldCwKPiA+ID4gPiAgfTsK PiA+ID4gPiAgCj4gPiA+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1 bmNzIG10a19jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiA+ID4gPiBAQCAtNTY4LDcgKzU3Miw5IEBA IGludCBtdGtfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAo+ID4g PiA+ICAJCQkJJm10a19jcnRjLT5wbGFuZXNbMV0uYmFzZSwgcGlwZSk7Cj4gPiA+ID4gIAlpZiAo cmV0IDwgMCkKPiA+ID4gPiAgCQlnb3RvIHVucHJlcGFyZTsKPiA+ID4gPiAtCj4gPiA+ID4gKwlk cm1fbW9kZV9jcnRjX3NldF9nYW1tYV9zaXplKCZtdGtfY3J0Yy0+YmFzZSwgTVRLX0xVVF9TSVpF KTsKPiA+ID4gPiArCWRybV9oZWxwZXJfY3J0Y19lbmFibGVfY29sb3JfbWdtdCgmbXRrX2NydGMt PmJhc2UsIE1US19MVVRfU0laRSwKPiA+ID4gPiArCQkJCQkgIE1US19MVVRfU0laRSk7Cj4gPiA+ IAo+ID4gPiBJIGhhdmUgYXBwbGllZCBhbGwgZm91ciBwYXRjaGVzIGFuZCByZWJhc2VkIG9udG8g djQuOC1yYzEsIHJlcGxhY2luZwo+ID4gPiBkcm1faGVscGVyX2NydGNfZW5hYmxlX2NvbG9yX21n bXQgd2l0aDoKPiA+ID4gCj4gPiA+IAlkcm1fY3J0Y19lbmFibGVfY29sb3JfbWdtdCgmbXRrX2Ny dGMtPmJhc2UsIE1US19MVVRfU0laRSwKPiA+ID4gCQkJCSAgIHRydWUsIE1US19MVVRfU0laRSk7 Cj4gPiAKPiA+IEJUVyB0aGF0IGxvb2tzIHdyb25nIChhbHJlYWR5IGluIHRoZSBvcmlnaW5hbCku IEFGQUlDUyB0aGUgcGF0Y2gganVzdAo+ID4gaGFuZGxlZCB0aGUgZ2FtbWFfbHV0LCBub3QgdGhl IGRlZ2FtbWFfbHV0LCBzbyB0ZWxsaW5nIHlvdSBoYXZlIGJvdGgKPiA+IGlzIG5vdCByaWdodC4K PiAKPiBUaGFua3MsIHNvIHNob3VsZCB0aGF0IGJlCj4gICAgICAgIGRybV9jcnRjX2VuYWJsZV9j b2xvcl9tZ210KCZtdGtfY3J0Yy0+YmFzZSwgMCwgZmFsc2UsCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE1US19MVVRfU0laRSk7Cj4gaW5zdGVhZCwgc2luY2Ugd2Ugb25seSBo YW5kbGUgZ2FtbWE/CgpIbW0uIFllYWgsIHRoYXQgbG9va3MgY29ycmVjdCBzaW5jZSB5b3UgZGlk bid0IHNlZW0gdG8gaGF2ZSAiY3RtIiBlaXRoZXIuCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVs IE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com (Ville =?iso-8859-1?Q?Syrj=E4l=E4?=) Date: Thu, 11 Aug 2016 11:02:27 +0300 Subject: [PATCH v4 3/4] drm/mediatek: Add gamma correction. In-Reply-To: <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> <1470901876.2493.24.camel@pengutronix.de> Message-ID: <20160811080227.GH4329@intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Aug 11, 2016 at 09:51:16AM +0200, Philipp Zabel wrote: > 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? Hmm. Yeah, that looks correct since you didn't seem to have "ctm" either. -- Ville Syrj?l? Intel OTC From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932613AbcHKICh (ORCPT ); Thu, 11 Aug 2016 04:02:37 -0400 Received: from mga03.intel.com ([134.134.136.65]:54720 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932369AbcHKICd (ORCPT ); Thu, 11 Aug 2016 04:02:33 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,503,1464678000"; d="scan'208";a="1023549220" Date: Thu, 11 Aug 2016 11:02:27 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Philipp Zabel 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 Subject: Re: [PATCH v4 3/4] drm/mediatek: Add gamma correction. Message-ID: <20160811080227.GH4329@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> <1470901876.2493.24.camel@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1470901876.2493.24.camel@pengutronix.de> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 11, 2016 at 09:51:16AM +0200, Philipp Zabel wrote: > 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? Hmm. Yeah, that looks correct since you didn't seem to have "ctm" either. -- Ville Syrjälä Intel OTC