From: "CK Hu (胡俊光)" <ck.hu@mediatek.com>
To: "Shawn Sung (宋孝謙)" <Shawn.Sung@mediatek.com>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"angelogioacchino.delregno@collabora.com"
<angelogioacchino.delregno@collabora.com>,
"robh+dt@kernel.org" <robh+dt@kernel.org>,
"krzysztof.kozlowski+dt@linaro.org"
<krzysztof.kozlowski+dt@linaro.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"Singo Chang (張興國)" <Singo.Chang@mediatek.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"Jason-JH Lin (林睿祥)" <Jason-JH.Lin@mediatek.com>,
"Nancy Lin (林欣螢)" <Nancy.Lin@mediatek.com>,
"daniel@ffwll.ch" <daniel@ffwll.ch>,
"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
Project_Global_Chrome_Upstream_Group
<Project_Global_Chrome_Upstream_Group@mediatek.com>,
"airlied@gmail.com" <airlied@gmail.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"nfraprado@collabora.com" <nfraprado@collabora.com>
Subject: Re: [RESEND PATCH v6 16/20] drm/mediatek: Make sure the power-on sequence of LARB and RDMA
Date: Thu, 28 Sep 2023 02:32:07 +0000 [thread overview]
Message-ID: <701804230d4de3dacf7028c60afbc73f4f7167fa.camel@mediatek.com> (raw)
In-Reply-To: <20230911074233.31556-17-shawn.sung@mediatek.com>
Hi, Hsiao-chien:
On Mon, 2023-09-11 at 15:42 +0800, Hsiao Chien Sung wrote:
> Since LARBs (Local ARBiter) have to be powered on before its users,
> to ensure the power-on sequence, we created a device link between
> RDMA and its LARB, and when pm_runtime_get_sync is called in RDMA,
> system will guarantee the LARB is powered on before the RDMA.
OVL is one of LARB user, but OVL have no device link with LARB, but it
works for years. If all DMA component need device link with LARB, add
to all of them not only mdp_rdma.
Regards,
CK
>
> Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com>
> ---
> drivers/gpu/drm/mediatek/mtk_mdp_rdma.c | 20 ++++++++++++++++++--
> 1 file changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> index c3adaeefd551..fce6fbb534b1 100644
> --- a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> +++ b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> @@ -244,10 +244,23 @@ size_t mtk_mdp_rdma_get_num_formats(struct
> device *dev)
>
> int mtk_mdp_rdma_clk_enable(struct device *dev)
> {
> + int ret;
> struct mtk_mdp_rdma *rdma = dev_get_drvdata(dev);
>
> - clk_prepare_enable(rdma->clk);
> - return 0;
> + /*
> + * Since LARBs (Local ARBiter) have to be powered on before its
> users,
> + * to ensure the power-on sequence, we created a device link
> between
> + * RDMA and its LARB, and when pm_runtime_get_sync is called in
> RDMA,
> + * system will make sure the LARB is powered on before the RDMA
> + */
> + ret = pm_runtime_get_sync(dev);
> +
> + if (ret < 0)
> + dev_err(dev, "pm_runtime_get_sync failed: %d\n", ret);
> + else
> + ret = clk_prepare_enable(rdma->clk);
> +
> + return ret;
> }
>
> void mtk_mdp_rdma_clk_disable(struct device *dev)
> @@ -255,6 +268,9 @@ void mtk_mdp_rdma_clk_disable(struct device *dev)
> struct mtk_mdp_rdma *rdma = dev_get_drvdata(dev);
>
> clk_disable_unprepare(rdma->clk);
> +
> + /* Same reason as when enabling clock, turn the LARB off */
> + pm_runtime_put(dev);
> }
>
> static int mtk_mdp_rdma_bind(struct device *dev, struct device
> *master,
> --
> 2.18.0
>
next prev parent reply other threads:[~2023-09-28 2:32 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-11 7:42 [RESEND PATCH v6 00/20] Add display driver for MT8188 VDOSYS1 Hsiao Chien Sung
2023-09-11 7:42 ` [RESEND PATCH v6 01/20] dt-bindings: display: mediatek: ethdr: Add compatible for MT8188 Hsiao Chien Sung
2023-09-20 6:00 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 02/20] dt-bindings: display: mediatek: mdp-rdma: " Hsiao Chien Sung
2023-09-20 6:05 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 03/20] dt-bindings: display: mediatek: merge: " Hsiao Chien Sung
2023-09-20 6:10 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 04/20] dt-bindings: display: mediatek: padding: Add MT8188 Hsiao Chien Sung
2023-09-20 6:16 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 05/20] dt-bindings: arm: mediatek: Add compatible for MT8188 Hsiao Chien Sung
2023-09-11 7:42 ` [RESEND PATCH v6 06/20] dt-bindings: reset: mt8188: Add VDOSYS reset control bits Hsiao Chien Sung
2023-09-11 7:42 ` [RESEND PATCH v6 07/20] soc: mediatek: Support MT8188 VDOSYS1 in mtk-mmsys Hsiao Chien Sung
2023-09-11 7:42 ` [RESEND PATCH v6 08/20] soc: mediatek: Support MT8188 VDOSYS1 Padding " Hsiao Chien Sung
2023-09-11 7:42 ` [RESEND PATCH v6 09/20] soc: mediatek: Support reset bit mapping in mmsys driver Hsiao Chien Sung
2023-09-11 7:42 ` [RESEND PATCH v6 10/20] soc: mediatek: Add MT8188 VDOSYS reset bit map Hsiao Chien Sung
2023-09-11 7:42 ` [RESEND PATCH v6 11/20] drm/mediatek: Rename OVL_ADAPTOR_TYPE_RDMA Hsiao Chien Sung
2023-09-27 10:20 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 12/20] drm/mediatek: Refine device table of OVL adaptor Hsiao Chien Sung
2023-09-20 6:48 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 13/20] drm/mediatek: Sort OVL adaptor components Hsiao Chien Sung
2023-09-27 10:29 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 14/20] drm/mediatek: Add component ID to component match structure Hsiao Chien Sung
2023-09-27 10:42 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 15/20] drm/mediatek: Manage component's clock with function pointers Hsiao Chien Sung
2023-09-28 1:26 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 16/20] drm/mediatek: Make sure the power-on sequence of LARB and RDMA Hsiao Chien Sung
2023-09-28 2:32 ` CK Hu (胡俊光) [this message]
2023-09-11 7:42 ` [RESEND PATCH v6 17/20] drm/mediatek: Support MT8188 Padding in display driver Hsiao Chien Sung
2023-09-28 3:05 ` CK Hu (胡俊光)
2023-09-28 3:39 ` Shawn Sung (宋孝謙)
2023-09-28 10:24 ` AngeloGioacchino Del Regno
2023-10-03 1:29 ` Shawn Sung (宋孝謙)
2023-09-11 7:42 ` [RESEND PATCH v6 18/20] drm/mediatek: Add Padding to OVL adaptor Hsiao Chien Sung
2023-09-28 6:17 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 19/20] drm/mediatek: Support MT8188 VDOSYS1 in display driver Hsiao Chien Sung
2023-09-28 6:47 ` CK Hu (胡俊光)
2023-09-11 7:42 ` [RESEND PATCH v6 20/20] drm/mediatek: Set DPI input to 1T2P mode Hsiao Chien Sung
2023-09-11 11:28 ` AngeloGioacchino Del Regno
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=701804230d4de3dacf7028c60afbc73f4f7167fa.camel@mediatek.com \
--to=ck.hu@mediatek.com \
--cc=Jason-JH.Lin@mediatek.com \
--cc=Nancy.Lin@mediatek.com \
--cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
--cc=Shawn.Sung@mediatek.com \
--cc=Singo.Chang@mediatek.com \
--cc=airlied@gmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=nfraprado@collabora.com \
--cc=p.zabel@pengutronix.de \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®