From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932780AbcHKHv6 (ORCPT ); Thu, 11 Aug 2016 03:51:58 -0400 Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:51237 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932639AbcHKHvx (ORCPT ); Thu, 11 Aug 2016 03:51:53 -0400 Message-ID: <1470900779.2493.20.camel@pengutronix.de> Subject: Re: [PATCH v4 3/4] drm/mediatek: Add gamma correction. From: Philipp Zabel To: Bibby Hsieh Cc: David Airlie , Matthias Brugger , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, Yingjoe Chen , Cawa Cheng , Daniel Kurtz , YT Shen , Thierry Reding , CK Hu , Mao Huang , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Sascha Hauer Date: Thu, 11 Aug 2016 09:32:59 +0200 In-Reply-To: <1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com> References: <1469672575-5847-1-git-send-email-bibby.hsieh@mediatek.com> <1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.9-1+b1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit 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 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); (See https://patchwork.kernel.org/patch/9160987/) regards Philipp 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:32:59 +0200 Message-ID: <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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Bibby Hsieh Cc: 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 List-Id: linux-mediatek@lists.infradead.org QW0gRG9ubmVyc3RhZywgZGVuIDI4LjA3LjIwMTYsIDEwOjIyICswODAwIHNjaHJpZWIgQmliYnkg SHNpZWg6Cj4gQWRkIGdhbW1hIHNldCBmdW5jdGlvbiB0byBjb3JyZWN0IGJyaWdodG5lc3MgdmFs dWVzLgo+IEl0IGFwcGxpZXMgYXJiaXRyYXJ5IG1hcHBpbmcgY3VydmUgdG8gY29tcGVuc2F0ZSB0 aGUKPiBpbmNvcnJlY3QgdHJhbnNmZXIgZnVuY3Rpb24gb2YgdGhlIHBhbmVsLgo+IAo+IFNpZ25l ZC1vZmYtYnk6IEJpYmJ5IEhzaWVoIDxiaWJieS5oc2llaEBtZWRpYXRlay5jb20+Cj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyAgICAgfCAgICA4ICsrKysr Ky0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5oICAgICB8ICAgIDEg Kwo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jIHwgICAzMSAr KysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZGRwX2NvbXAuaCB8ICAgMTAgKysrKysrKysrCj4gIDQgZmlsZXMgY2hhbmdlZCwgNDkg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9jcnRjLmMKPiBpbmRleCAyNGFhM2JhLi5jYmI0NjBhNSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiBAQCAtNDA5LDYgKzQwOSw5IEBAIHN0YXRp YyB2b2lkIG10a19kcm1fY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ ICAJfQo+ICAJaWYgKHBlbmRpbmdfcGxhbmVzKQo+ICAJCW10a19jcnRjLT5wZW5kaW5nX3BsYW5l cyA9IHRydWU7Cj4gKwlpZiAoY3J0Yy0+c3RhdGUtPmNvbG9yX21nbXRfY2hhbmdlZCkKPiArCQlm b3IgKGkgPSAwOyBpIDwgbXRrX2NydGMtPmRkcF9jb21wX25yOyBpKyspCj4gKwkJCW10a19kZHBf Z2FtbWFfc2V0KG10a19jcnRjLT5kZHBfY29tcFtpXSwgY3J0Yy0+c3RhdGUpOwo+ICB9Cj4gIAo+ ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIG10a19jcnRjX2Z1bmNzID0gewo+ IEBAIC00MTgsNiArNDIxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBt dGtfY3J0Y19mdW5jcyA9IHsKPiAgCS5yZXNldAkJCT0gbXRrX2RybV9jcnRjX3Jlc2V0LAo+ICAJ LmF0b21pY19kdXBsaWNhdGVfc3RhdGUJPSBtdGtfZHJtX2NydGNfZHVwbGljYXRlX3N0YXRlLAo+ ICAJLmF0b21pY19kZXN0cm95X3N0YXRlCT0gbXRrX2RybV9jcnRjX2Rlc3Ryb3lfc3RhdGUsCj4g KwkuZ2FtbWFfc2V0CQk9IGRybV9hdG9taWNfaGVscGVyX2xlZ2FjeV9nYW1tYV9zZXQsCj4gIH07 Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBtdGtfY3J0 Y19oZWxwZXJfZnVuY3MgPSB7Cj4gQEAgLTU2OCw3ICs1NzIsOSBAQCBpbnQgbXRrX2RybV9jcnRj X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwKPiAgCQkJCSZtdGtfY3J0Yy0+cGxh bmVzWzFdLmJhc2UsIHBpcGUpOwo+ICAJaWYgKHJldCA8IDApCj4gIAkJZ290byB1bnByZXBhcmU7 Cj4gLQo+ICsJZHJtX21vZGVfY3J0Y19zZXRfZ2FtbWFfc2l6ZSgmbXRrX2NydGMtPmJhc2UsIE1U S19MVVRfU0laRSk7Cj4gKwlkcm1faGVscGVyX2NydGNfZW5hYmxlX2NvbG9yX21nbXQoJm10a19j cnRjLT5iYXNlLCBNVEtfTFVUX1NJWkUsCj4gKwkJCQkJICBNVEtfTFVUX1NJWkUpOwoKSSBoYXZl IGFwcGxpZWQgYWxsIGZvdXIgcGF0Y2hlcyBhbmQgcmViYXNlZCBvbnRvIHY0LjgtcmMxLCByZXBs YWNpbmcKZHJtX2hlbHBlcl9jcnRjX2VuYWJsZV9jb2xvcl9tZ210IHdpdGg6CgoJZHJtX2NydGNf ZW5hYmxlX2NvbG9yX21nbXQoJm10a19jcnRjLT5iYXNlLCBNVEtfTFVUX1NJWkUsCgkJCQkgICB0 cnVlLCBNVEtfTFVUX1NJWkUpOwoKKFNlZSBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Bh dGNoLzkxNjA5ODcvKQoKcmVnYXJkcwpQaGlsaXBwCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: p.zabel@pengutronix.de (Philipp Zabel) Date: Thu, 11 Aug 2016 09:32:59 +0200 Subject: [PATCH v4 3/4] drm/mediatek: Add gamma correction. In-Reply-To: <1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com> References: <1469672575-5847-1-git-send-email-bibby.hsieh@mediatek.com> <1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com> Message-ID: <1470900779.2493.20.camel@pengutronix.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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); (See https://patchwork.kernel.org/patch/9160987/) regards Philipp