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=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,UNPARSEABLE_RELAY 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 85566C433F4 for ; Fri, 21 Sep 2018 09:47:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4092921531 for ; Fri, 21 Sep 2018 09:47:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4092921531 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 S2389901AbeIUPfv (ORCPT ); Fri, 21 Sep 2018 11:35:51 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:56625 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2389561AbeIUPfu (ORCPT ); Fri, 21 Sep 2018 11:35:50 -0400 X-UUID: 1dd9c9f1bd47468bad98d77e75e3c936-20180921 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 960274248; Fri, 21 Sep 2018 17:47:37 +0800 Received: from mtkcas09.mediatek.inc (172.21.101.178) by mtkmbs01n2.mediatek.inc (172.21.101.79) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 21 Sep 2018 17:47:34 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas09.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Fri, 21 Sep 2018 17:47:34 +0800 Message-ID: <1537523254.20660.9.camel@mtksdaap41> Subject: Re: [PATCH v3 05/12] drm/mediatek: convert dpi driver to use drm_of_find_panel_or_bridge From: CK Hu To: Bibby Hsieh CC: David Airlie , Matthias Brugger , Daniel Vetter , , , Yingjoe Chen , Cawa Cheng , Daniel Kurtz , "Philipp Zabel" , YT Shen , "Thierry Reding" , Mao Huang , , , "Sascha Hauer" , chunhui dai Date: Fri, 21 Sep 2018 17:47:34 +0800 In-Reply-To: <20180921032822.30771-6-bibby.hsieh@mediatek.com> References: <20180921032822.30771-1-bibby.hsieh@mediatek.com> <20180921032822.30771-6-bibby.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-TM-SNTS-SMTP: 967759F6189D651CC4D543760CDD515C112CB9E2E49E741EEB3A2A02F60CD2672000:8 X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Bibby: On Fri, 2018-09-21 at 11:28 +0800, Bibby Hsieh wrote: > From: chunhui dai > > Convert dpi driver to use drm_of_find_panel_or_bridge. > This changes some error messages to debug messages (in the graph core). > Graph connections are often "no connects" depending on the particular > board, so we want to avoid spurious messages. Plus the kernel is not a > DT validator. > related links: > [1] https://lkml.org/lkml/2017/2/3/716 > [2] https://lkml.org/lkml/2017/2/3/719 > > Signed-off-by: chunhui dai > --- > drivers/gpu/drm/mediatek/mtk_dpi.c | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c > index 022ccec49cea..7a4868a0afec 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > @@ -14,6 +14,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -697,7 +698,6 @@ static int mtk_dpi_probe(struct platform_device *pdev) > struct device *dev = &pdev->dev; > struct mtk_dpi *dpi; > struct resource *mem; > - struct device_node *bridge_node; > int comp_id; > int ret; > > @@ -743,16 +743,14 @@ static int mtk_dpi_probe(struct platform_device *pdev) > return -EINVAL; > } > > - bridge_node = of_graph_get_remote_node(dev->of_node, 0, 0); > - if (!bridge_node) > - return -ENODEV; > - > - dev_info(dev, "Found bridge node: %pOF\n", bridge_node); > - > - dpi->bridge = of_drm_find_bridge(bridge_node); > - of_node_put(bridge_node); > - if (!dpi->bridge) > + ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0, > + NULL, &dpi->bridge); > + if (ret) { > + dev_err(dev, "Failed to find panel or bridge: %d\n", ret); > return -EPROBE_DEFER; I've traced into drm_of_find_panel_or_bridge(), it may return -ENODEV when device tree has error, why do you treat this error to -EPROBE_DEFER? I think you may modify this as if (ret) return ret; Regards, CK > + } > + > + dev_info(dev, "Found bridge node: %pOF\n", dpi->bridge->of_node); > > comp_id = mtk_ddp_comp_get_id(dev->of_node, MTK_DPI); > if (comp_id < 0) { From mboxrd@z Thu Jan 1 00:00:00 1970 From: CK Hu Subject: Re: [PATCH v3 05/12] drm/mediatek: convert dpi driver to use drm_of_find_panel_or_bridge Date: Fri, 21 Sep 2018 17:47:34 +0800 Message-ID: <1537523254.20660.9.camel@mtksdaap41> References: <20180921032822.30771-1-bibby.hsieh@mediatek.com> <20180921032822.30771-6-bibby.hsieh@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180921032822.30771-6-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, Sascha Hauer , chunhui dai , David Airlie , Daniel Vetter , Cawa Cheng , dri-devel@lists.freedesktop.org, Mao Huang , Thierry Reding , linux-mediatek@lists.infradead.org, Matthias Brugger , Yingjoe Chen , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org SGksIEJpYmJ5OgoKT24gRnJpLCAyMDE4LTA5LTIxIGF0IDExOjI4ICswODAwLCBCaWJieSBIc2ll aCB3cm90ZToKPiBGcm9tOiBjaHVuaHVpIGRhaSA8Y2h1bmh1aS5kYWlAbWVkaWF0ZWsuY29tPgo+ IAo+IENvbnZlcnQgZHBpIGRyaXZlciB0byB1c2UgZHJtX29mX2ZpbmRfcGFuZWxfb3JfYnJpZGdl Lgo+IFRoaXMgY2hhbmdlcyBzb21lIGVycm9yIG1lc3NhZ2VzIHRvIGRlYnVnIG1lc3NhZ2VzIChp biB0aGUgZ3JhcGggY29yZSkuCj4gR3JhcGggY29ubmVjdGlvbnMgYXJlIG9mdGVuICJubyBjb25u ZWN0cyIgZGVwZW5kaW5nIG9uIHRoZSBwYXJ0aWN1bGFyCj4gYm9hcmQsIHNvIHdlIHdhbnQgdG8g YXZvaWQgc3B1cmlvdXMgbWVzc2FnZXMuIFBsdXMgdGhlIGtlcm5lbCBpcyBub3QgYQo+IERUIHZh bGlkYXRvci4KPiByZWxhdGVkIGxpbmtzOgo+IFsxXSBodHRwczovL2xrbWwub3JnL2xrbWwvMjAx Ny8yLzMvNzE2Cj4gWzJdIGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE3LzIvMy83MTkKPiAKPiBT aWduZWQtb2ZmLWJ5OiBjaHVuaHVpIGRhaSA8Y2h1bmh1aS5kYWlAbWVkaWF0ZWsuY29tPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jIHwgMTggKysrKysrKystLS0t LS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jIGIv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYwo+IGluZGV4IDAyMmNjZWM0OWNlYS4u N2E0ODY4YTBhZmVjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHBpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jCj4gQEAgLTE0 LDYgKzE0LDcgQEAKPiAgI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJt X2NydGMuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KPiArI2luY2x1ZGUg PGRybS9kcm1fb2YuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgo+ICAjaW5jbHVkZSA8 bGludXgvY29tcG9uZW50Lmg+Cj4gICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4K PiBAQCAtNjk3LDcgKzY5OCw2IEBAIHN0YXRpYyBpbnQgbXRrX2RwaV9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsK PiAgCXN0cnVjdCBtdGtfZHBpICpkcGk7Cj4gIAlzdHJ1Y3QgcmVzb3VyY2UgKm1lbTsKPiAtCXN0 cnVjdCBkZXZpY2Vfbm9kZSAqYnJpZGdlX25vZGU7Cj4gIAlpbnQgY29tcF9pZDsKPiAgCWludCBy ZXQ7Cj4gIAo+IEBAIC03NDMsMTYgKzc0MywxNCBAQCBzdGF0aWMgaW50IG10a19kcGlfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCX0K PiAgCj4gLQlicmlkZ2Vfbm9kZSA9IG9mX2dyYXBoX2dldF9yZW1vdGVfbm9kZShkZXYtPm9mX25v ZGUsIDAsIDApOwo+IC0JaWYgKCFicmlkZ2Vfbm9kZSkKPiAtCQlyZXR1cm4gLUVOT0RFVjsKPiAt Cj4gLQlkZXZfaW5mbyhkZXYsICJGb3VuZCBicmlkZ2Ugbm9kZTogJXBPRlxuIiwgYnJpZGdlX25v ZGUpOwo+IC0KPiAtCWRwaS0+YnJpZGdlID0gb2ZfZHJtX2ZpbmRfYnJpZGdlKGJyaWRnZV9ub2Rl KTsKPiAtCW9mX25vZGVfcHV0KGJyaWRnZV9ub2RlKTsKPiAtCWlmICghZHBpLT5icmlkZ2UpCj4g KwlyZXQgPSBkcm1fb2ZfZmluZF9wYW5lbF9vcl9icmlkZ2UoZGV2LT5vZl9ub2RlLCAwLCAwLAo+ ICsJCQkJCSAgTlVMTCwgJmRwaS0+YnJpZGdlKTsKPiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJy KGRldiwgIkZhaWxlZCB0byBmaW5kIHBhbmVsIG9yIGJyaWRnZTogJWRcbiIsIHJldCk7Cj4gIAkJ cmV0dXJuIC1FUFJPQkVfREVGRVI7CgpJJ3ZlIHRyYWNlZCBpbnRvIGRybV9vZl9maW5kX3BhbmVs X29yX2JyaWRnZSgpLCBpdCBtYXkgcmV0dXJuIC1FTk9ERVYKd2hlbiBkZXZpY2UgdHJlZSBoYXMg ZXJyb3IsIHdoeSBkbyB5b3UgdHJlYXQgdGhpcyBlcnJvciB0bwotRVBST0JFX0RFRkVSPyBJIHRo aW5rIHlvdSBtYXkgbW9kaWZ5IHRoaXMgYXMKCmlmIChyZXQpCglyZXR1cm4gcmV0OwoKUmVnYXJk cywKQ0sKCj4gKwl9Cj4gKwo+ICsJZGV2X2luZm8oZGV2LCAiRm91bmQgYnJpZGdlIG5vZGU6ICVw T0ZcbiIsIGRwaS0+YnJpZGdlLT5vZl9ub2RlKTsKPiAgCj4gIAljb21wX2lkID0gbXRrX2RkcF9j b21wX2dldF9pZChkZXYtPm9mX25vZGUsIE1US19EUEkpOwo+ICAJaWYgKGNvbXBfaWQgPCAwKSB7 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: ck.hu@mediatek.com (CK Hu) Date: Fri, 21 Sep 2018 17:47:34 +0800 Subject: [PATCH v3 05/12] drm/mediatek: convert dpi driver to use drm_of_find_panel_or_bridge In-Reply-To: <20180921032822.30771-6-bibby.hsieh@mediatek.com> References: <20180921032822.30771-1-bibby.hsieh@mediatek.com> <20180921032822.30771-6-bibby.hsieh@mediatek.com> Message-ID: <1537523254.20660.9.camel@mtksdaap41> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, Bibby: On Fri, 2018-09-21 at 11:28 +0800, Bibby Hsieh wrote: > From: chunhui dai > > Convert dpi driver to use drm_of_find_panel_or_bridge. > This changes some error messages to debug messages (in the graph core). > Graph connections are often "no connects" depending on the particular > board, so we want to avoid spurious messages. Plus the kernel is not a > DT validator. > related links: > [1] https://lkml.org/lkml/2017/2/3/716 > [2] https://lkml.org/lkml/2017/2/3/719 > > Signed-off-by: chunhui dai > --- > drivers/gpu/drm/mediatek/mtk_dpi.c | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c > index 022ccec49cea..7a4868a0afec 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > @@ -14,6 +14,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -697,7 +698,6 @@ static int mtk_dpi_probe(struct platform_device *pdev) > struct device *dev = &pdev->dev; > struct mtk_dpi *dpi; > struct resource *mem; > - struct device_node *bridge_node; > int comp_id; > int ret; > > @@ -743,16 +743,14 @@ static int mtk_dpi_probe(struct platform_device *pdev) > return -EINVAL; > } > > - bridge_node = of_graph_get_remote_node(dev->of_node, 0, 0); > - if (!bridge_node) > - return -ENODEV; > - > - dev_info(dev, "Found bridge node: %pOF\n", bridge_node); > - > - dpi->bridge = of_drm_find_bridge(bridge_node); > - of_node_put(bridge_node); > - if (!dpi->bridge) > + ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0, > + NULL, &dpi->bridge); > + if (ret) { > + dev_err(dev, "Failed to find panel or bridge: %d\n", ret); > return -EPROBE_DEFER; I've traced into drm_of_find_panel_or_bridge(), it may return -ENODEV when device tree has error, why do you treat this error to -EPROBE_DEFER? I think you may modify this as if (ret) return ret; Regards, CK > + } > + > + dev_info(dev, "Found bridge node: %pOF\n", dpi->bridge->of_node); > > comp_id = mtk_ddp_comp_get_id(dev->of_node, MTK_DPI); > if (comp_id < 0) {