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 10:44:10 +0300 Message-ID: <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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1470900779.2493.20.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 T24gVGh1LCBBdWcgMTEsIDIwMTYgYXQgMDk6MzI6NTlBTSArMDIwMCwgUGhpbGlwcCBaYWJlbCB3 cm90ZToKPiBBbSBEb25uZXJzdGFnLCBkZW4gMjguMDcuMjAxNiwgMTA6MjIgKzA4MDAgc2Nocmll YiBCaWJieSBIc2llaDoKPiA+IEFkZCBnYW1tYSBzZXQgZnVuY3Rpb24gdG8gY29ycmVjdCBicmln aHRuZXNzIHZhbHVlcy4KPiA+IEl0IGFwcGxpZXMgYXJiaXRyYXJ5IG1hcHBpbmcgY3VydmUgdG8g Y29tcGVuc2F0ZSB0aGUKPiA+IGluY29ycmVjdCB0cmFuc2ZlciBmdW5jdGlvbiBvZiB0aGUgcGFu ZWwuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEJpYmJ5IEhzaWVoIDxiaWJieS5oc2llaEBtZWRp YXRlay5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9j cnRjLmMgICAgIHwgICAgOCArKysrKystCj4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fY3J0Yy5oICAgICB8ICAgIDEgKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2RkcF9jb21wLmMgfCAgIDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4g IGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmggfCAgIDEwICsrKysr KysrKwo+ID4gIDQgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f Y3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCj4gPiBpbmRl eCAyNGFhM2JhLi5jYmI0NjBhNSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2NydGMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fY3J0Yy5jCj4gPiBAQCAtNDA5LDYgKzQwOSw5IEBAIHN0YXRpYyB2b2lkIG10a19kcm1f Y3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAl9Cj4gPiAgCWlm IChwZW5kaW5nX3BsYW5lcykKPiA+ICAJCW10a19jcnRjLT5wZW5kaW5nX3BsYW5lcyA9IHRydWU7 Cj4gPiArCWlmIChjcnRjLT5zdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkKQo+ID4gKwkJZm9yIChp ID0gMDsgaSA8IG10a19jcnRjLT5kZHBfY29tcF9ucjsgaSsrKQo+ID4gKwkJCW10a19kZHBfZ2Ft bWFfc2V0KG10a19jcnRjLT5kZHBfY29tcFtpXSwgY3J0Yy0+c3RhdGUpOwo+ID4gIH0KPiA+ICAK PiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIG10a19jcnRjX2Z1bmNzID0g ewo+ID4gQEAgLTQxOCw2ICs0MjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1 bmNzIG10a19jcnRjX2Z1bmNzID0gewo+ID4gIAkucmVzZXQJCQk9IG10a19kcm1fY3J0Y19yZXNl dCwKPiA+ICAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUJPSBtdGtfZHJtX2NydGNfZHVwbGljYXRl X3N0YXRlLAo+ID4gIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUJPSBtdGtfZHJtX2NydGNfZGVzdHJv eV9zdGF0ZSwKPiA+ICsJLmdhbW1hX3NldAkJPSBkcm1fYXRvbWljX2hlbHBlcl9sZWdhY3lfZ2Ft bWFfc2V0LAo+ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19o ZWxwZXJfZnVuY3MgbXRrX2NydGNfaGVscGVyX2Z1bmNzID0gewo+ID4gQEAgLTU2OCw3ICs1NzIs OSBAQCBpbnQgbXRrX2RybV9jcnRjX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwK PiA+ICAJCQkJJm10a19jcnRjLT5wbGFuZXNbMV0uYmFzZSwgcGlwZSk7Cj4gPiAgCWlmIChyZXQg PCAwKQo+ID4gIAkJZ290byB1bnByZXBhcmU7Cj4gPiAtCj4gPiArCWRybV9tb2RlX2NydGNfc2V0 X2dhbW1hX3NpemUoJm10a19jcnRjLT5iYXNlLCBNVEtfTFVUX1NJWkUpOwo+ID4gKwlkcm1faGVs cGVyX2NydGNfZW5hYmxlX2NvbG9yX21nbXQoJm10a19jcnRjLT5iYXNlLCBNVEtfTFVUX1NJWkUs Cj4gPiArCQkJCQkgIE1US19MVVRfU0laRSk7Cj4gCj4gSSBoYXZlIGFwcGxpZWQgYWxsIGZvdXIg cGF0Y2hlcyBhbmQgcmViYXNlZCBvbnRvIHY0LjgtcmMxLCByZXBsYWNpbmcKPiBkcm1faGVscGVy X2NydGNfZW5hYmxlX2NvbG9yX21nbXQgd2l0aDoKPiAKPiAJZHJtX2NydGNfZW5hYmxlX2NvbG9y X21nbXQoJm10a19jcnRjLT5iYXNlLCBNVEtfTFVUX1NJWkUsCj4gCQkJCSAgIHRydWUsIE1US19M VVRfU0laRSk7CgpCVFcgdGhhdCBsb29rcyB3cm9uZyAoYWxyZWFkeSBpbiB0aGUgb3JpZ2luYWwp LiBBRkFJQ1MgdGhlIHBhdGNoIGp1c3QKaGFuZGxlZCB0aGUgZ2FtbWFfbHV0LCBub3QgdGhlIGRl Z2FtbWFfbHV0LCBzbyB0ZWxsaW5nIHlvdSBoYXZlIGJvdGgKaXMgbm90IHJpZ2h0LgoKPiAKPiAo U2VlIGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0Y2gvOTE2MDk4Ny8pCj4gCj4gcmVn YXJkcwo+IFBoaWxpcHAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= 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 10:44:10 +0300 Subject: [PATCH v4 3/4] drm/mediatek: Add gamma correction. In-Reply-To: <1470900779.2493.20.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> Message-ID: <20160811074410.GF4329@intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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. > > (See https://patchwork.kernel.org/patch/9160987/) > > regards > Philipp > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- 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 S932569AbcHKHoa (ORCPT ); Thu, 11 Aug 2016 03:44:30 -0400 Received: from mga04.intel.com ([192.55.52.120]:49478 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751866AbcHKHo2 (ORCPT ); Thu, 11 Aug 2016 03:44:28 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,503,1464678000"; d="scan'208";a="1039160143" Date: Thu, 11 Aug 2016 10:44:10 +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: <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> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1470900779.2493.20.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: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. > > (See https://patchwork.kernel.org/patch/9160987/) > > regards > Philipp > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Ville Syrjälä Intel OTC