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=-15.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 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 85E26C433E6 for ; Wed, 23 Dec 2020 01:32:04 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 22E5622242 for ; Wed, 23 Dec 2020 01:32:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 22E5622242 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:Reply-To:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ZkcXphHuT7Q1gMc6NM77rw22Qk2KMjKVt1vOkSNo0BA=; b=Zzb/psaaKKKrRofb2yYOA+FCOx fOg15JOoS9UGoJitdPsDj3dWumVnwvAQvlmHtDDJHCMgvYKeo83qqIXYI08u4X5kYoSSBkLk2o0MX bNBWBom8Y02vGI0Rq3s23tO5UsDNljqWn9FeYuL8Zud8TkzvkxcibKmlNvY8mWhD+RNEmL3tUxwh1 jcbICi8HnDMy6i0H8IVHFglhDrxr491NZC/hAEMkLCoFbZFkEKQ1fKlbxVL5jM6walxfdSIlLJgrq lADyhMaXyE5g0brB5tQuuo2Ixh3IRvGP14+YZB/np8F9+uv5o1/vxpTuOzOcbgBBYJBpZ+mAK0M/u doPw7BtA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1krt0O-0001qu-Jx; Wed, 23 Dec 2020 01:31:56 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1krt0H-0001ok-I0; Wed, 23 Dec 2020 01:31:51 +0000 X-UUID: c875dfb141884595a6df2d0693f9dd2f-20201222 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:Reply-To:From:Subject:Message-ID; bh=xZSMGNycrUGCDcc+7tKfKZ1TjnIFUd/ecXWYJopv86Q=; b=MuTzwgtTPxToCm+XYb+xNDDKmBwf6e6AcEaKd281ns+cFVWwPM+DZ5aNJ/VpSbpa+St5LwuoDMNFaLkcyTDj/aGf6oYI/Ye/uPAMqI6YUt56z2z0xu8ZGaKzahxVJhYgU5TFheDgDqk3DxRkBgmlDCYGsHtSApPpOVRqFo2ivtY=; X-UUID: c875dfb141884595a6df2d0693f9dd2f-20201222 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 304366369; Tue, 22 Dec 2020 17:31:44 -0800 Received: from mtkmbs05n2.mediatek.inc (172.21.101.140) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 22 Dec 2020 17:23:52 -0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 09:23:51 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 09:23:46 +0800 Message-ID: <1608686629.18252.8.camel@mhfsdcap03> Subject: Re: [PATCH v2, 07/17] drm/mediatek: add disp config and mm 26mhz clock into mutex device From: Yongqiang Niu To: Nicolas Boichat Date: Wed, 23 Dec 2020 09:23:49 +0800 In-Reply-To: References: <1607746317-4696-1-git-send-email-yongqiang.niu@mediatek.com> <1607746317-4696-8-git-send-email-yongqiang.niu@mediatek.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201222_203149_879294_55C1FD32 X-CRM114-Status: GOOD ( 27.38 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Yongqiang Niu Cc: Mark Rutland , Devicetree List , Daniel Vetter , David Airlie , lkml , dri-devel , Matthias Brugger , Rob Herring , "moderated list:ARM/Mediatek SoC support" , Philipp Zabel , CK Hu , linux-arm Mailing List Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Tue, 2020-12-15 at 21:37 +0800, Nicolas Boichat wrote: > On Sat, Dec 12, 2020 at 12:12 PM Yongqiang Niu > wrote: > > > > there are 2 more clock need enable for display. > > parser these clock when mutex device probe, > > enable and disable when mutex on/off > > > > Signed-off-by: Yongqiang Niu > > --- > > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 49 ++++++++++++++++++++++++++++------ > > 1 file changed, 41 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > index 60788c1..de618a1 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > @@ -118,7 +118,7 @@ struct mtk_ddp_data { > > > > struct mtk_ddp { > > struct device *dev; > > - struct clk *clk; > > + struct clk *clk[3]; > > void __iomem *regs; > > struct mtk_disp_mutex mutex[10]; > > const struct mtk_ddp_data *data; > > @@ -257,14 +257,39 @@ int mtk_disp_mutex_prepare(struct mtk_disp_mutex *mutex) > > { > > struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, > > mutex[mutex->id]); > > - return clk_prepare_enable(ddp->clk); > > + int ret; > > + int i; > > + > > + for (i = 0; i < ARRAY_SIZE(ddp->clk); i++) { > > + if (IS_ERR(ddp->clk[i])) > > + continue; > > + ret = clk_prepare_enable(ddp->clk[i]); > > + if (ret) { > > + pr_err("failed to enable clock, err %d. i:%d\n", > > + ret, i); > > + goto err; > > + } > > + } > > + > > + return 0; > > + > > +err: > > + while (--i >= 0) > > + clk_disable_unprepare(ddp->clk[i]); > > + return ret; > > } > > > > void mtk_disp_mutex_unprepare(struct mtk_disp_mutex *mutex) > > { > > struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, > > mutex[mutex->id]); > > - clk_disable_unprepare(ddp->clk); > > + int i; > > + > > + for (i = 0; i < ARRAY_SIZE(ddp->clk); i++) { > > + if (IS_ERR(ddp->clk[i])) > > + continue; > > + clk_disable_unprepare(ddp->clk[i]); > > + } > > } > > > > void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, > > @@ -415,11 +440,19 @@ static int mtk_ddp_probe(struct platform_device *pdev) > > ddp->data = of_device_get_match_data(dev); > > > > if (!ddp->data->no_clk) { > > - ddp->clk = devm_clk_get(dev, NULL); > > - if (IS_ERR(ddp->clk)) { > > - if (PTR_ERR(ddp->clk) != -EPROBE_DEFER) > > - dev_err(dev, "Failed to get clock\n"); > > - return PTR_ERR(ddp->clk); > > + int ret; > > + > > + for (i = 0; i < ARRAY_SIZE(ddp->clk); i++) { > > + ddp->clk[i] = of_clk_get(dev->of_node, i); > > + > > + if (IS_ERR(ddp->clk[i])) { > > + ret = PTR_ERR(ddp->clk[i]); > > + if (ret != EPROBE_DEFER) > > + dev_err(dev, "Failed to get clock %d\n", > > + ret); > > + > > + return ret; > > + } > > Use of_clk_bulk_get_all instead? > > ddp->num_clks = of_clk_bulk_get_all(dev->of_node, &ddp->clks); > ... > > Then the calls above can be clk_bulk_enable/clk_bulk_disable using > num_clks and clks. > will be fixed in next version > > > } > > } > > > > -- > > 1.8.1.1.dirty > > _______________________________________________ > > Linux-mediatek mailing list > > Linux-mediatek@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek 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=-15.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable 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 12E7CC433E0 for ; Wed, 23 Dec 2020 01:33:24 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A29032253D for ; Wed, 23 Dec 2020 01:33:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A29032253D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:Reply-To:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=T0HXvwkSYs5pqPuFX78A7dAEcpwFOdeUyPLdjuPLKRQ=; b=2PrFFFJLYLyOMb51e7PjtKT7pg DsWmiagO2eGo72guEjUSrcVulgkFFaeDXZB/6Jb3HMw3ExvGqwb+k5pnG2hqN6D0NCBCwSQwXp4Oq 133qkPiTAB8D7JIU26M6FyiBmXdoqQwvi9VPjrDrH+tjM7Be5uEbfzWKEyXD/KNJ+9K1UYCVWG0zN ggD8O+P0/VQrczA2X+WYqC0KzIn4YCjaonJ+Eq2sAGgY/2tPnNxjnFWAsH2AaPA14SBNp0u5fGmNj q7yK2Ji6dwzZjn7TwuLDvI6WSsP7NAwK+4UYWG7RxnflQIL89Qfl8AF8ZYm/ykp8LlDlJyqY8W3Hx 9YmqCF+Q==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1krt0M-0001qM-JX; Wed, 23 Dec 2020 01:31:54 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1krt0H-0001ok-I0; Wed, 23 Dec 2020 01:31:51 +0000 X-UUID: c875dfb141884595a6df2d0693f9dd2f-20201222 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:Reply-To:From:Subject:Message-ID; bh=xZSMGNycrUGCDcc+7tKfKZ1TjnIFUd/ecXWYJopv86Q=; b=MuTzwgtTPxToCm+XYb+xNDDKmBwf6e6AcEaKd281ns+cFVWwPM+DZ5aNJ/VpSbpa+St5LwuoDMNFaLkcyTDj/aGf6oYI/Ye/uPAMqI6YUt56z2z0xu8ZGaKzahxVJhYgU5TFheDgDqk3DxRkBgmlDCYGsHtSApPpOVRqFo2ivtY=; X-UUID: c875dfb141884595a6df2d0693f9dd2f-20201222 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 304366369; Tue, 22 Dec 2020 17:31:44 -0800 Received: from mtkmbs05n2.mediatek.inc (172.21.101.140) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 22 Dec 2020 17:23:52 -0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 09:23:51 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 09:23:46 +0800 Message-ID: <1608686629.18252.8.camel@mhfsdcap03> Subject: Re: [PATCH v2, 07/17] drm/mediatek: add disp config and mm 26mhz clock into mutex device From: Yongqiang Niu To: Nicolas Boichat Date: Wed, 23 Dec 2020 09:23:49 +0800 In-Reply-To: References: <1607746317-4696-1-git-send-email-yongqiang.niu@mediatek.com> <1607746317-4696-8-git-send-email-yongqiang.niu@mediatek.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201222_203149_879294_55C1FD32 X-CRM114-Status: GOOD ( 27.38 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Yongqiang Niu Cc: Mark Rutland , Devicetree List , Daniel Vetter , David Airlie , lkml , dri-devel , Matthias Brugger , Rob Herring , "moderated list:ARM/Mediatek SoC support" , Philipp Zabel , CK Hu , linux-arm Mailing List Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, 2020-12-15 at 21:37 +0800, Nicolas Boichat wrote: > On Sat, Dec 12, 2020 at 12:12 PM Yongqiang Niu > wrote: > > > > there are 2 more clock need enable for display. > > parser these clock when mutex device probe, > > enable and disable when mutex on/off > > > > Signed-off-by: Yongqiang Niu > > --- > > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 49 ++++++++++++++++++++++++++++------ > > 1 file changed, 41 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > index 60788c1..de618a1 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > @@ -118,7 +118,7 @@ struct mtk_ddp_data { > > > > struct mtk_ddp { > > struct device *dev; > > - struct clk *clk; > > + struct clk *clk[3]; > > void __iomem *regs; > > struct mtk_disp_mutex mutex[10]; > > const struct mtk_ddp_data *data; > > @@ -257,14 +257,39 @@ int mtk_disp_mutex_prepare(struct mtk_disp_mutex *mutex) > > { > > struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, > > mutex[mutex->id]); > > - return clk_prepare_enable(ddp->clk); > > + int ret; > > + int i; > > + > > + for (i = 0; i < ARRAY_SIZE(ddp->clk); i++) { > > + if (IS_ERR(ddp->clk[i])) > > + continue; > > + ret = clk_prepare_enable(ddp->clk[i]); > > + if (ret) { > > + pr_err("failed to enable clock, err %d. i:%d\n", > > + ret, i); > > + goto err; > > + } > > + } > > + > > + return 0; > > + > > +err: > > + while (--i >= 0) > > + clk_disable_unprepare(ddp->clk[i]); > > + return ret; > > } > > > > void mtk_disp_mutex_unprepare(struct mtk_disp_mutex *mutex) > > { > > struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, > > mutex[mutex->id]); > > - clk_disable_unprepare(ddp->clk); > > + int i; > > + > > + for (i = 0; i < ARRAY_SIZE(ddp->clk); i++) { > > + if (IS_ERR(ddp->clk[i])) > > + continue; > > + clk_disable_unprepare(ddp->clk[i]); > > + } > > } > > > > void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, > > @@ -415,11 +440,19 @@ static int mtk_ddp_probe(struct platform_device *pdev) > > ddp->data = of_device_get_match_data(dev); > > > > if (!ddp->data->no_clk) { > > - ddp->clk = devm_clk_get(dev, NULL); > > - if (IS_ERR(ddp->clk)) { > > - if (PTR_ERR(ddp->clk) != -EPROBE_DEFER) > > - dev_err(dev, "Failed to get clock\n"); > > - return PTR_ERR(ddp->clk); > > + int ret; > > + > > + for (i = 0; i < ARRAY_SIZE(ddp->clk); i++) { > > + ddp->clk[i] = of_clk_get(dev->of_node, i); > > + > > + if (IS_ERR(ddp->clk[i])) { > > + ret = PTR_ERR(ddp->clk[i]); > > + if (ret != EPROBE_DEFER) > > + dev_err(dev, "Failed to get clock %d\n", > > + ret); > > + > > + return ret; > > + } > > Use of_clk_bulk_get_all instead? > > ddp->num_clks = of_clk_bulk_get_all(dev->of_node, &ddp->clks); > ... > > Then the calls above can be clk_bulk_enable/clk_bulk_disable using > num_clks and clks. > will be fixed in next version > > > } > > } > > > > -- > > 1.8.1.1.dirty > > _______________________________________________ > > Linux-mediatek mailing list > > Linux-mediatek@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable 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 9705CC433DB for ; Wed, 23 Dec 2020 01:24:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5632D224D2 for ; Wed, 23 Dec 2020 01:24:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726313AbgLWBYh (ORCPT ); Tue, 22 Dec 2020 20:24:37 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:57124 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726361AbgLWBYh (ORCPT ); Tue, 22 Dec 2020 20:24:37 -0500 X-UUID: cd6e133c2ca74fb19d15eb2175488ee9-20201223 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:Reply-To:From:Subject:Message-ID; bh=xZSMGNycrUGCDcc+7tKfKZ1TjnIFUd/ecXWYJopv86Q=; b=MuTzwgtTPxToCm+XYb+xNDDKmBwf6e6AcEaKd281ns+cFVWwPM+DZ5aNJ/VpSbpa+St5LwuoDMNFaLkcyTDj/aGf6oYI/Ye/uPAMqI6YUt56z2z0xu8ZGaKzahxVJhYgU5TFheDgDqk3DxRkBgmlDCYGsHtSApPpOVRqFo2ivtY=; X-UUID: cd6e133c2ca74fb19d15eb2175488ee9-20201223 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 2041247052; Wed, 23 Dec 2020 09:23:53 +0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 09:23:51 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 09:23:46 +0800 Message-ID: <1608686629.18252.8.camel@mhfsdcap03> Subject: Re: [PATCH v2, 07/17] drm/mediatek: add disp config and mm 26mhz clock into mutex device From: Yongqiang Niu Reply-To: Yongqiang Niu To: Nicolas Boichat CC: CK Hu , Philipp Zabel , "Rob Herring" , Matthias Brugger , Mark Rutland , Devicetree List , David Airlie , lkml , dri-devel , "moderated list:ARM/Mediatek SoC support" , Daniel Vetter , linux-arm Mailing List Date: Wed, 23 Dec 2020 09:23:49 +0800 In-Reply-To: References: <1607746317-4696-1-git-send-email-yongqiang.niu@mediatek.com> <1607746317-4696-8-git-send-email-yongqiang.niu@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org T24gVHVlLCAyMDIwLTEyLTE1IGF0IDIxOjM3ICswODAwLCBOaWNvbGFzIEJvaWNoYXQgd3JvdGU6 DQo+IE9uIFNhdCwgRGVjIDEyLCAyMDIwIGF0IDEyOjEyIFBNIFlvbmdxaWFuZyBOaXUNCj4gPHlv bmdxaWFuZy5uaXVAbWVkaWF0ZWsuY29tPiB3cm90ZToNCj4gPg0KPiA+IHRoZXJlIGFyZSAyIG1v cmUgY2xvY2sgbmVlZCBlbmFibGUgZm9yIGRpc3BsYXkuDQo+ID4gcGFyc2VyIHRoZXNlIGNsb2Nr IHdoZW4gbXV0ZXggZGV2aWNlIHByb2JlLA0KPiA+IGVuYWJsZSBhbmQgZGlzYWJsZSB3aGVuIG11 dGV4IG9uL29mZg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogWW9uZ3FpYW5nIE5pdSA8eW9uZ3Fp YW5nLm5pdUBtZWRpYXRlay5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2RkcC5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LQ0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkN Cj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9k ZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jDQo+ID4gaW5kZXgg NjA3ODhjMS4uZGU2MThhMSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9kZHAuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2RkcC5jDQo+ID4gQEAgLTExOCw3ICsxMTgsNyBAQCBzdHJ1Y3QgbXRrX2RkcF9kYXRhIHsN Cj4gPg0KPiA+ICBzdHJ1Y3QgbXRrX2RkcCB7DQo+ID4gICAgICAgICBzdHJ1Y3QgZGV2aWNlICAg ICAgICAgICAgICAgICAgICpkZXY7DQo+ID4gLSAgICAgICBzdHJ1Y3QgY2xrICAgICAgICAgICAg ICAgICAgICAgICpjbGs7DQo+ID4gKyAgICAgICBzdHJ1Y3QgY2xrICAgICAgICAgICAgICAgICAg ICAgICpjbGtbM107DQo+ID4gICAgICAgICB2b2lkIF9faW9tZW0gICAgICAgICAgICAgICAgICAg ICpyZWdzOw0KPiA+ICAgICAgICAgc3RydWN0IG10a19kaXNwX211dGV4ICAgICAgICAgICBtdXRl eFsxMF07DQo+ID4gICAgICAgICBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9kYXRhICAgICAgICpkYXRh Ow0KPiA+IEBAIC0yNTcsMTQgKzI1NywzOSBAQCBpbnQgbXRrX2Rpc3BfbXV0ZXhfcHJlcGFyZShz dHJ1Y3QgbXRrX2Rpc3BfbXV0ZXggKm11dGV4KQ0KPiA+ICB7DQo+ID4gICAgICAgICBzdHJ1Y3Qg bXRrX2RkcCAqZGRwID0gY29udGFpbmVyX29mKG11dGV4LCBzdHJ1Y3QgbXRrX2RkcCwNCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXV0ZXhbbXV0ZXgtPmlk XSk7DQo+ID4gLSAgICAgICByZXR1cm4gY2xrX3ByZXBhcmVfZW5hYmxlKGRkcC0+Y2xrKTsNCj4g PiArICAgICAgIGludCByZXQ7DQo+ID4gKyAgICAgICBpbnQgaTsNCj4gPiArDQo+ID4gKyAgICAg ICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShkZHAtPmNsayk7IGkrKykgew0KPiA+ICsgICAg ICAgICAgICAgICBpZiAoSVNfRVJSKGRkcC0+Y2xrW2ldKSkNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICBjb250aW51ZTsNCj4gPiArICAgICAgICAgICAgICAgcmV0ID0gY2xrX3ByZXBhcmVf ZW5hYmxlKGRkcC0+Y2xrW2ldKTsNCj4gPiArICAgICAgICAgICAgICAgaWYgKHJldCkgew0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgIHByX2VycigiZmFpbGVkIHRvIGVuYWJsZSBjbG9jaywg ZXJyICVkLiBpOiVkXG4iLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0 LCBpKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsNCj4gPiArICAgICAg ICAgICAgICAgfQ0KPiA+ICsgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgIHJldHVybiAwOw0K PiA+ICsNCj4gPiArZXJyOg0KPiA+ICsgICAgICAgd2hpbGUgKC0taSA+PSAwKQ0KPiA+ICsgICAg ICAgICAgICAgICBjbGtfZGlzYWJsZV91bnByZXBhcmUoZGRwLT5jbGtbaV0pOw0KPiA+ICsgICAg ICAgcmV0dXJuIHJldDsNCj4gPiAgfQ0KPiA+DQo+ID4gIHZvaWQgbXRrX2Rpc3BfbXV0ZXhfdW5w cmVwYXJlKHN0cnVjdCBtdGtfZGlzcF9tdXRleCAqbXV0ZXgpDQo+ID4gIHsNCj4gPiAgICAgICAg IHN0cnVjdCBtdGtfZGRwICpkZHAgPSBjb250YWluZXJfb2YobXV0ZXgsIHN0cnVjdCBtdGtfZGRw LA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRleFtt dXRleC0+aWRdKTsNCj4gPiAtICAgICAgIGNsa19kaXNhYmxlX3VucHJlcGFyZShkZHAtPmNsayk7 DQo+ID4gKyAgICAgICBpbnQgaTsNCj4gPiArDQo+ID4gKyAgICAgICAgZm9yIChpID0gMDsgaSA8 IEFSUkFZX1NJWkUoZGRwLT5jbGspOyBpKyspIHsNCj4gPiArICAgICAgICAgICAgICAgaWYgKElT X0VSUihkZHAtPmNsa1tpXSkpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7 DQo+ID4gKyAgICAgICAgICAgICAgIGNsa19kaXNhYmxlX3VucHJlcGFyZShkZHAtPmNsa1tpXSk7 DQo+ID4gKyAgICAgICB9DQo+ID4gIH0NCj4gPg0KPiA+ICB2b2lkIG10a19kaXNwX211dGV4X2Fk ZF9jb21wKHN0cnVjdCBtdGtfZGlzcF9tdXRleCAqbXV0ZXgsDQo+ID4gQEAgLTQxNSwxMSArNDQw LDE5IEBAIHN0YXRpYyBpbnQgbXRrX2RkcF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQ0KPiA+ICAgICAgICAgZGRwLT5kYXRhID0gb2ZfZGV2aWNlX2dldF9tYXRjaF9kYXRhKGRl dik7DQo+ID4NCj4gPiAgICAgICAgIGlmICghZGRwLT5kYXRhLT5ub19jbGspIHsNCj4gPiAtICAg ICAgICAgICAgICAgZGRwLT5jbGsgPSBkZXZtX2Nsa19nZXQoZGV2LCBOVUxMKTsNCj4gPiAtICAg ICAgICAgICAgICAgaWYgKElTX0VSUihkZHAtPmNsaykpIHsNCj4gPiAtICAgICAgICAgICAgICAg ICAgICAgICBpZiAoUFRSX0VSUihkZHAtPmNsaykgIT0gLUVQUk9CRV9ERUZFUikNCj4gPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGdldCBj bG9ja1xuIik7DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFBUUl9FUlIoZGRw LT5jbGspOw0KPiA+ICsgICAgICAgICAgICAgICBpbnQgcmV0Ow0KPiA+ICsNCj4gPiArICAgICAg ICAgICAgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZGRwLT5jbGspOyBpKyspIHsNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICBkZHAtPmNsa1tpXSA9IG9mX2Nsa19nZXQoZGV2LT5v Zl9ub2RlLCBpKTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKElTX0VS UihkZHAtPmNsa1tpXSkpIHsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl dCA9IFBUUl9FUlIoZGRwLT5jbGtbaV0pOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHJldCAhPSBFUFJPQkVfREVGRVIpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGdldCBjbG9jayAlZFxu IiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZXQpOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBy ZXQ7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiANCj4gVXNlIG9mX2Nsa19idWxr X2dldF9hbGwgaW5zdGVhZD8NCj4gDQo+IGRkcC0+bnVtX2Nsa3MgPSBvZl9jbGtfYnVsa19nZXRf YWxsKGRldi0+b2Zfbm9kZSwgJmRkcC0+Y2xrcyk7DQo+IC4uLg0KPiANCj4gVGhlbiB0aGUgY2Fs bHMgYWJvdmUgY2FuIGJlIGNsa19idWxrX2VuYWJsZS9jbGtfYnVsa19kaXNhYmxlIHVzaW5nDQo+ IG51bV9jbGtzIGFuZCBjbGtzLg0KPiANCg0Kd2lsbCBiZSBmaXhlZCBpbiBuZXh0IHZlcnNpb24N Cj4gDQo+ID4gICAgICAgICAgICAgICAgIH0NCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+IC0tDQo+ ID4gMS44LjEuMS5kaXJ0eQ0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fDQo+ID4gTGludXgtbWVkaWF0ZWsgbWFpbGluZyBsaXN0DQo+ID4gTGludXgt bWVkaWF0ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZw0KPiA+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbWVkaWF0ZWsNCg0K 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=-15.0 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_SANE_2 autolearn=unavailable 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 22D49C433E6 for ; Wed, 23 Dec 2020 10:52:43 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E688B207F7 for ; Wed, 23 Dec 2020 10:52:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E688B207F7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1ABC86E8ED; Wed, 23 Dec 2020 10:52:03 +0000 (UTC) Received: from mailgw01.mediatek.com (unknown [210.61.82.183]) by gabe.freedesktop.org (Postfix) with ESMTP id 9E02B6E249 for ; Wed, 23 Dec 2020 01:23:55 +0000 (UTC) X-UUID: cd6e133c2ca74fb19d15eb2175488ee9-20201223 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:Reply-To:From:Subject:Message-ID; bh=xZSMGNycrUGCDcc+7tKfKZ1TjnIFUd/ecXWYJopv86Q=; b=MuTzwgtTPxToCm+XYb+xNDDKmBwf6e6AcEaKd281ns+cFVWwPM+DZ5aNJ/VpSbpa+St5LwuoDMNFaLkcyTDj/aGf6oYI/Ye/uPAMqI6YUt56z2z0xu8ZGaKzahxVJhYgU5TFheDgDqk3DxRkBgmlDCYGsHtSApPpOVRqFo2ivtY=; X-UUID: cd6e133c2ca74fb19d15eb2175488ee9-20201223 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 2041247052; Wed, 23 Dec 2020 09:23:53 +0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 09:23:51 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 09:23:46 +0800 Message-ID: <1608686629.18252.8.camel@mhfsdcap03> Subject: Re: [PATCH v2, 07/17] drm/mediatek: add disp config and mm 26mhz clock into mutex device From: Yongqiang Niu To: Nicolas Boichat Date: Wed, 23 Dec 2020 09:23:49 +0800 In-Reply-To: References: <1607746317-4696-1-git-send-email-yongqiang.niu@mediatek.com> <1607746317-4696-8-git-send-email-yongqiang.niu@mediatek.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N X-Mailman-Approved-At: Wed, 23 Dec 2020 10:51:31 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Yongqiang Niu Cc: Mark Rutland , Devicetree List , David Airlie , lkml , dri-devel , Matthias Brugger , Rob Herring , "moderated list:ARM/Mediatek SoC support" , linux-arm Mailing List Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Tue, 2020-12-15 at 21:37 +0800, Nicolas Boichat wrote: > On Sat, Dec 12, 2020 at 12:12 PM Yongqiang Niu > wrote: > > > > there are 2 more clock need enable for display. > > parser these clock when mutex device probe, > > enable and disable when mutex on/off > > > > Signed-off-by: Yongqiang Niu > > --- > > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 49 ++++++++++++++++++++++++++++------ > > 1 file changed, 41 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > index 60788c1..de618a1 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp.c > > @@ -118,7 +118,7 @@ struct mtk_ddp_data { > > > > struct mtk_ddp { > > struct device *dev; > > - struct clk *clk; > > + struct clk *clk[3]; > > void __iomem *regs; > > struct mtk_disp_mutex mutex[10]; > > const struct mtk_ddp_data *data; > > @@ -257,14 +257,39 @@ int mtk_disp_mutex_prepare(struct mtk_disp_mutex *mutex) > > { > > struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, > > mutex[mutex->id]); > > - return clk_prepare_enable(ddp->clk); > > + int ret; > > + int i; > > + > > + for (i = 0; i < ARRAY_SIZE(ddp->clk); i++) { > > + if (IS_ERR(ddp->clk[i])) > > + continue; > > + ret = clk_prepare_enable(ddp->clk[i]); > > + if (ret) { > > + pr_err("failed to enable clock, err %d. i:%d\n", > > + ret, i); > > + goto err; > > + } > > + } > > + > > + return 0; > > + > > +err: > > + while (--i >= 0) > > + clk_disable_unprepare(ddp->clk[i]); > > + return ret; > > } > > > > void mtk_disp_mutex_unprepare(struct mtk_disp_mutex *mutex) > > { > > struct mtk_ddp *ddp = container_of(mutex, struct mtk_ddp, > > mutex[mutex->id]); > > - clk_disable_unprepare(ddp->clk); > > + int i; > > + > > + for (i = 0; i < ARRAY_SIZE(ddp->clk); i++) { > > + if (IS_ERR(ddp->clk[i])) > > + continue; > > + clk_disable_unprepare(ddp->clk[i]); > > + } > > } > > > > void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, > > @@ -415,11 +440,19 @@ static int mtk_ddp_probe(struct platform_device *pdev) > > ddp->data = of_device_get_match_data(dev); > > > > if (!ddp->data->no_clk) { > > - ddp->clk = devm_clk_get(dev, NULL); > > - if (IS_ERR(ddp->clk)) { > > - if (PTR_ERR(ddp->clk) != -EPROBE_DEFER) > > - dev_err(dev, "Failed to get clock\n"); > > - return PTR_ERR(ddp->clk); > > + int ret; > > + > > + for (i = 0; i < ARRAY_SIZE(ddp->clk); i++) { > > + ddp->clk[i] = of_clk_get(dev->of_node, i); > > + > > + if (IS_ERR(ddp->clk[i])) { > > + ret = PTR_ERR(ddp->clk[i]); > > + if (ret != EPROBE_DEFER) > > + dev_err(dev, "Failed to get clock %d\n", > > + ret); > > + > > + return ret; > > + } > > Use of_clk_bulk_get_all instead? > > ddp->num_clks = of_clk_bulk_get_all(dev->of_node, &ddp->clks); > ... > > Then the calls above can be clk_bulk_enable/clk_bulk_disable using > num_clks and clks. > will be fixed in next version > > > } > > } > > > > -- > > 1.8.1.1.dirty > > _______________________________________________ > > Linux-mediatek mailing list > > Linux-mediatek@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel