From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0ABB8C28CF6 for ; Fri, 3 Aug 2018 05:11:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B0FD621717 for ; Fri, 3 Aug 2018 05:11:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B0FD621717 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727329AbeHCHGK (ORCPT ); Fri, 3 Aug 2018 03:06:10 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:50075 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726679AbeHCHGK (ORCPT ); Fri, 3 Aug 2018 03:06:10 -0400 X-UUID: 7374a30539fa43f6876c082d1f178c56-20180803 Received: from mtkexhb02.mediatek.inc [(172.21.101.103)] by mailgw02.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 1794527711; Fri, 03 Aug 2018 13:11:34 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs01n2.mediatek.inc (172.21.101.79) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 3 Aug 2018 13:11:32 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 3 Aug 2018 13:11:32 +0800 Message-ID: <1533273092.31144.7.camel@mtksdaap41> Subject: Re: [PATCH v2 11/15] drm/mediatek: add callback function to return OVL layer number From: CK Hu To: Stu Hsieh CC: Philipp Zabel , David Airlie , Matthias Brugger , , , , , Date: Fri, 3 Aug 2018 13:11:32 +0800 In-Reply-To: <1533265868-28110-12-git-send-email-stu.hsieh@mediatek.com> References: <1533265868-28110-1-git-send-email-stu.hsieh@mediatek.com> <1533265868-28110-12-git-send-email-stu.hsieh@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Stu: On Fri, 2018-08-03 at 11:11 +0800, Stu Hsieh wrote: > This patch add callback function to return OVL layer number > > Signed-off-by: Stu Hsieh > --- > drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c > index 978782a77629..a42cfa057f42 100644 > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c > @@ -58,6 +58,7 @@ > struct mtk_disp_ovl_data { > unsigned int addr; > bool fmt_rgb565_is_0; > + unsigned int layer_nr; > }; > > /** > @@ -132,6 +133,13 @@ static void mtk_ovl_config(struct mtk_ddp_comp *comp, unsigned int w, > writel(0x0, comp->regs + DISP_REG_OVL_RST); > } > > +static unsigned int mtk_ovl_layer_nr(struct mtk_ddp_comp *comp) > +{ > + struct mtk_disp_ovl *ovl = comp_to_ovl(comp); > + > + return ovl->data->layer_nr; For now, MT8173, MT2712, MT2701 OVL all has 4 layer, so you could return 4 here. Once a SoC OVL has another layer number, then modified the code to this statement. Regards, CK > +} > + > static void mtk_ovl_layer_on(struct mtk_ddp_comp *comp, unsigned int idx) > { > unsigned int reg; > @@ -221,6 +229,7 @@ static const struct mtk_ddp_comp_funcs mtk_disp_ovl_funcs = { > .stop = mtk_ovl_stop, > .enable_vblank = mtk_ovl_enable_vblank, > .disable_vblank = mtk_ovl_disable_vblank, > + .layer_nr = mtk_ovl_layer_nr, > .layer_on = mtk_ovl_layer_on, > .layer_off = mtk_ovl_layer_off, > .layer_config = mtk_ovl_layer_config, > @@ -319,6 +328,7 @@ static const struct mtk_disp_ovl_data mt2701_ovl_driver_data = { > static const struct mtk_disp_ovl_data mt8173_ovl_driver_data = { > .addr = DISP_REG_OVL_ADDR_MT8173, > .fmt_rgb565_is_0 = true, > + .layer_nr = 4, > }; > > static const struct of_device_id mtk_disp_ovl_driver_dt_match[] = { From mboxrd@z Thu Jan 1 00:00:00 1970 From: CK Hu Subject: Re: [PATCH v2 11/15] drm/mediatek: add callback function to return OVL layer number Date: Fri, 3 Aug 2018 13:11:32 +0800 Message-ID: <1533273092.31144.7.camel@mtksdaap41> References: <1533265868-28110-1-git-send-email-stu.hsieh@mediatek.com> <1533265868-28110-12-git-send-email-stu.hsieh@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1533265868-28110-12-git-send-email-stu.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: Stu Hsieh Cc: srv_heupstream@mediatek.com, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, Matthias Brugger , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org SGksIFN0dToKCk9uIEZyaSwgMjAxOC0wOC0wMyBhdCAxMToxMSArMDgwMCwgU3R1IEhzaWVoIHdy b3RlOgo+IFRoaXMgcGF0Y2ggYWRkIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIHJldHVybiBPVkwgbGF5 ZXIgbnVtYmVyCj4gCj4gU2lnbmVkLW9mZi1ieTogU3R1IEhzaWVoIDxzdHUuaHNpZWhAbWVkaWF0 ZWsuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMg fCAxMCArKysrKysrKysrCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9vdmwuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9vdmwuYwo+IGluZGV4IDk3ODc4MmE3NzYy OS4uYTQyY2ZhMDU3ZjQyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZGlzcF9vdmwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9v dmwuYwo+IEBAIC01OCw2ICs1OCw3IEBACj4gIHN0cnVjdCBtdGtfZGlzcF9vdmxfZGF0YSB7Cj4g IAl1bnNpZ25lZCBpbnQgYWRkcjsKPiAgCWJvb2wgZm10X3JnYjU2NV9pc18wOwo+ICsJdW5zaWdu ZWQgaW50IGxheWVyX25yOwo+ICB9Owo+ICAKPiAgLyoqCj4gQEAgLTEzMiw2ICsxMzMsMTMgQEAg c3RhdGljIHZvaWQgbXRrX292bF9jb25maWcoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwgdW5z aWduZWQgaW50IHcsCj4gIAl3cml0ZWwoMHgwLCBjb21wLT5yZWdzICsgRElTUF9SRUdfT1ZMX1JT VCk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX292bF9sYXllcl9ucihzdHJ1 Y3QgbXRrX2RkcF9jb21wICpjb21wKQo+ICt7Cj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3ZsICpvdmwg PSBjb21wX3RvX292bChjb21wKTsKPiArCj4gKwlyZXR1cm4gb3ZsLT5kYXRhLT5sYXllcl9ucjsK CkZvciBub3csIE1UODE3MywgTVQyNzEyLCBNVDI3MDEgT1ZMIGFsbCBoYXMgNCBsYXllciwgc28g eW91IGNvdWxkIHJldHVybgo0IGhlcmUuIE9uY2UgYSBTb0MgT1ZMIGhhcyBhbm90aGVyIGxheWVy IG51bWJlciwgdGhlbiBtb2RpZmllZCB0aGUgY29kZQp0byB0aGlzIHN0YXRlbWVudC4KClJlZ2Fy ZHMsCkNLCgo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBtdGtfb3ZsX2xheWVyX29uKHN0cnVjdCBt dGtfZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCBpZHgpCj4gIHsKPiAgCXVuc2lnbmVkIGlu dCByZWc7Cj4gQEAgLTIyMSw2ICsyMjksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBf Y29tcF9mdW5jcyBtdGtfZGlzcF9vdmxfZnVuY3MgPSB7Cj4gIAkuc3RvcCA9IG10a19vdmxfc3Rv cCwKPiAgCS5lbmFibGVfdmJsYW5rID0gbXRrX292bF9lbmFibGVfdmJsYW5rLAo+ICAJLmRpc2Fi bGVfdmJsYW5rID0gbXRrX292bF9kaXNhYmxlX3ZibGFuaywKPiArCS5sYXllcl9uciA9IG10a19v dmxfbGF5ZXJfbnIsCj4gIAkubGF5ZXJfb24gPSBtdGtfb3ZsX2xheWVyX29uLAo+ICAJLmxheWVy X29mZiA9IG10a19vdmxfbGF5ZXJfb2ZmLAo+ICAJLmxheWVyX2NvbmZpZyA9IG10a19vdmxfbGF5 ZXJfY29uZmlnLAo+IEBAIC0zMTksNiArMzI4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtf ZGlzcF9vdmxfZGF0YSBtdDI3MDFfb3ZsX2RyaXZlcl9kYXRhID0gewo+ICBzdGF0aWMgY29uc3Qg c3RydWN0IG10a19kaXNwX292bF9kYXRhIG10ODE3M19vdmxfZHJpdmVyX2RhdGEgPSB7Cj4gIAku YWRkciA9IERJU1BfUkVHX09WTF9BRERSX01UODE3MywKPiAgCS5mbXRfcmdiNTY1X2lzXzAgPSB0 cnVlLAo+ICsJLmxheWVyX25yID0gNCwKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg b2ZfZGV2aWNlX2lkIG10a19kaXNwX292bF9kcml2ZXJfZHRfbWF0Y2hbXSA9IHsKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: ck.hu@mediatek.com (CK Hu) Date: Fri, 3 Aug 2018 13:11:32 +0800 Subject: [PATCH v2 11/15] drm/mediatek: add callback function to return OVL layer number In-Reply-To: <1533265868-28110-12-git-send-email-stu.hsieh@mediatek.com> References: <1533265868-28110-1-git-send-email-stu.hsieh@mediatek.com> <1533265868-28110-12-git-send-email-stu.hsieh@mediatek.com> Message-ID: <1533273092.31144.7.camel@mtksdaap41> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, Stu: On Fri, 2018-08-03 at 11:11 +0800, Stu Hsieh wrote: > This patch add callback function to return OVL layer number > > Signed-off-by: Stu Hsieh > --- > drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c > index 978782a77629..a42cfa057f42 100644 > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c > @@ -58,6 +58,7 @@ > struct mtk_disp_ovl_data { > unsigned int addr; > bool fmt_rgb565_is_0; > + unsigned int layer_nr; > }; > > /** > @@ -132,6 +133,13 @@ static void mtk_ovl_config(struct mtk_ddp_comp *comp, unsigned int w, > writel(0x0, comp->regs + DISP_REG_OVL_RST); > } > > +static unsigned int mtk_ovl_layer_nr(struct mtk_ddp_comp *comp) > +{ > + struct mtk_disp_ovl *ovl = comp_to_ovl(comp); > + > + return ovl->data->layer_nr; For now, MT8173, MT2712, MT2701 OVL all has 4 layer, so you could return 4 here. Once a SoC OVL has another layer number, then modified the code to this statement. Regards, CK > +} > + > static void mtk_ovl_layer_on(struct mtk_ddp_comp *comp, unsigned int idx) > { > unsigned int reg; > @@ -221,6 +229,7 @@ static const struct mtk_ddp_comp_funcs mtk_disp_ovl_funcs = { > .stop = mtk_ovl_stop, > .enable_vblank = mtk_ovl_enable_vblank, > .disable_vblank = mtk_ovl_disable_vblank, > + .layer_nr = mtk_ovl_layer_nr, > .layer_on = mtk_ovl_layer_on, > .layer_off = mtk_ovl_layer_off, > .layer_config = mtk_ovl_layer_config, > @@ -319,6 +328,7 @@ static const struct mtk_disp_ovl_data mt2701_ovl_driver_data = { > static const struct mtk_disp_ovl_data mt8173_ovl_driver_data = { > .addr = DISP_REG_OVL_ADDR_MT8173, > .fmt_rgb565_is_0 = true, > + .layer_nr = 4, > }; > > static const struct of_device_id mtk_disp_ovl_driver_dt_match[] = {