From: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com> To: Matthias Brugger <matthias.bgg@gmail.com>, Philipp Zabel <p.zabel@pengutronix.de>, David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, CK Hu <ck.hu@mediatek.com>, Bibby Hsieh <bibby.hsieh@mediatek.com>, Houlong Wei <houlong.wei@mediatek.com> Cc: <dri-devel@lists.freedesktop.org>, <linux-arm-kernel@lists.infradead.org>, <linux-mediatek@lists.infradead.org>, <linux-kernel@vger.kernel.org>, <wsd_upstream@mediatek.com>, HS Liao <hs.liao@mediatek.com>, Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com> Subject: [PATCH v1 08/11] soc: mediatek: cmdq: export finalize function Date: Sun, 21 Jun 2020 22:18:32 +0800 [thread overview] Message-ID: <1592749115-24158-9-git-send-email-dennis-yc.hsieh@mediatek.com> (raw) In-Reply-To: <1592749115-24158-1-git-send-email-dennis-yc.hsieh@mediatek.com> Export finalize function to client which helps append eoc and jump command to pkt. Let client decide call finalize or not. Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com> Reviewed-by: CK Hu <ck.hu@mediatek.com> Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 1 + drivers/soc/mediatek/mtk-cmdq-helper.c | 7 ++----- include/linux/soc/mediatek/mtk-cmdq.h | 8 ++++++++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c index 0dfcd1787e65..7daaabc26eb1 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -490,6 +490,7 @@ static void mtk_drm_crtc_hw_config(struct mtk_drm_crtc *mtk_crtc) cmdq_pkt_clear_event(cmdq_handle, mtk_crtc->cmdq_event); cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event); mtk_crtc_ddp_config(crtc, cmdq_handle); + cmdq_pkt_finalize(cmdq_handle); cmdq_pkt_flush_async(cmdq_handle, ddp_cmdq_cb, cmdq_handle); } #endif diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c index e372ae065240..248945108a36 100644 --- a/drivers/soc/mediatek/mtk-cmdq-helper.c +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c @@ -391,7 +391,7 @@ int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value) } EXPORT_SYMBOL(cmdq_pkt_assign); -static int cmdq_pkt_finalize(struct cmdq_pkt *pkt) +int cmdq_pkt_finalize(struct cmdq_pkt *pkt) { struct cmdq_instruction inst = { {0} }; int err; @@ -411,6 +411,7 @@ static int cmdq_pkt_finalize(struct cmdq_pkt *pkt) return err; } +EXPORT_SYMBOL(cmdq_pkt_finalize); static void cmdq_pkt_flush_async_cb(struct cmdq_cb_data data) { @@ -445,10 +446,6 @@ int cmdq_pkt_flush_async(struct cmdq_pkt *pkt, cmdq_async_flush_cb cb, unsigned long flags = 0; struct cmdq_client *client = (struct cmdq_client *)pkt->cl; - err = cmdq_pkt_finalize(pkt); - if (err < 0) - return err; - pkt->cb.cb = cb; pkt->cb.data = data; pkt->async_cb.cb = cmdq_pkt_flush_async_cb; diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h index 6e8caacedc80..eac1405e4872 100644 --- a/include/linux/soc/mediatek/mtk-cmdq.h +++ b/include/linux/soc/mediatek/mtk-cmdq.h @@ -244,6 +244,14 @@ int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys, int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value); /** + * cmdq_pkt_finalize() - Append EOC and jump command to pkt. + * @pkt: the CMDQ packet + * + * Return: 0 for success; else the error code is returned + */ +int cmdq_pkt_finalize(struct cmdq_pkt *pkt); + +/** * cmdq_pkt_flush_async() - trigger CMDQ to asynchronously execute the CMDQ * packet and call back at the end of done packet * @pkt: the CMDQ packet -- 1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com> To: Matthias Brugger <matthias.bgg@gmail.com>, Philipp Zabel <p.zabel@pengutronix.de>, David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, CK Hu <ck.hu@mediatek.com>, Bibby Hsieh <bibby.hsieh@mediatek.com>, Houlong Wei <houlong.wei@mediatek.com> Cc: wsd_upstream@mediatek.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, HS Liao <hs.liao@mediatek.com>, Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com>, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v1 08/11] soc: mediatek: cmdq: export finalize function Date: Sun, 21 Jun 2020 22:18:32 +0800 [thread overview] Message-ID: <1592749115-24158-9-git-send-email-dennis-yc.hsieh@mediatek.com> (raw) In-Reply-To: <1592749115-24158-1-git-send-email-dennis-yc.hsieh@mediatek.com> Export finalize function to client which helps append eoc and jump command to pkt. Let client decide call finalize or not. Signed-off-by: Dennis YC Hsieh <dennis-yc.hsieh@mediatek.com> Reviewed-by: CK Hu <ck.hu@mediatek.com> Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 1 + drivers/soc/mediatek/mtk-cmdq-helper.c | 7 ++----- include/linux/soc/mediatek/mtk-cmdq.h | 8 ++++++++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c index 0dfcd1787e65..7daaabc26eb1 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -490,6 +490,7 @@ static void mtk_drm_crtc_hw_config(struct mtk_drm_crtc *mtk_crtc) cmdq_pkt_clear_event(cmdq_handle, mtk_crtc->cmdq_event); cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event); mtk_crtc_ddp_config(crtc, cmdq_handle); + cmdq_pkt_finalize(cmdq_handle); cmdq_pkt_flush_async(cmdq_handle, ddp_cmdq_cb, cmdq_handle); } #endif diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c index e372ae065240..248945108a36 100644 --- a/drivers/soc/mediatek/mtk-cmdq-helper.c +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c @@ -391,7 +391,7 @@ int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value) } EXPORT_SYMBOL(cmdq_pkt_assign); -static int cmdq_pkt_finalize(struct cmdq_pkt *pkt) +int cmdq_pkt_finalize(struct cmdq_pkt *pkt) { struct cmdq_instruction inst = { {0} }; int err; @@ -411,6 +411,7 @@ static int cmdq_pkt_finalize(struct cmdq_pkt *pkt) return err; } +EXPORT_SYMBOL(cmdq_pkt_finalize); static void cmdq_pkt_flush_async_cb(struct cmdq_cb_data data) { @@ -445,10 +446,6 @@ int cmdq_pkt_flush_async(struct cmdq_pkt *pkt, cmdq_async_flush_cb cb, unsigned long flags = 0; struct cmdq_client *client = (struct cmdq_client *)pkt->cl; - err = cmdq_pkt_finalize(pkt); - if (err < 0) - return err; - pkt->cb.cb = cb; pkt->cb.data = data; pkt->async_cb.cb = cmdq_pkt_flush_async_cb; diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h index 6e8caacedc80..eac1405e4872 100644 --- a/include/linux/soc/mediatek/mtk-cmdq.h +++ b/include/linux/soc/mediatek/mtk-cmdq.h @@ -244,6 +244,14 @@ int cmdq_pkt_poll_mask(struct cmdq_pkt *pkt, u8 subsys, int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value); /** + * cmdq_pkt_finalize() - Append EOC and jump command to pkt. + * @pkt: the CMDQ packet + * + * Return: 0 for success; else the error code is returned + */ +int cmdq_pkt_finalize(struct cmdq_pkt *pkt); + +/** * cmdq_pkt_flush_async() - trigger CMDQ to asynchronously execute the CMDQ * packet and call back at the end of done packet * @pkt: the CMDQ packet -- 1.7.9.5 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2020-06-21 14:18 UTC|newest] Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-06-21 14:18 [PATCH v1 0/11] support cmdq helper function on mt6779 platform Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-21 14:18 ` [PATCH v1 01/11] soc: mediatek: cmdq: add address shift in jump Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-22 2:42 ` Bibby Hsieh 2020-06-22 2:42 ` Bibby Hsieh 2020-06-21 14:18 ` [PATCH v1 02/11] soc: mediatek: cmdq: add assign function Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-22 11:03 ` Matthias Brugger 2020-06-22 11:03 ` Matthias Brugger 2020-06-21 14:18 ` [PATCH v1 03/11] soc: mediatek: cmdq: add write_s function Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-22 11:07 ` Matthias Brugger 2020-06-22 11:07 ` Matthias Brugger 2020-06-22 15:36 ` Dennis-YC Hsieh 2020-06-22 15:36 ` Dennis-YC Hsieh 2020-06-22 15:54 ` Matthias Brugger 2020-06-22 15:54 ` Matthias Brugger 2020-06-22 16:12 ` Dennis-YC Hsieh 2020-06-22 16:12 ` Dennis-YC Hsieh 2020-06-22 17:08 ` Matthias Brugger 2020-06-22 17:08 ` Matthias Brugger 2020-06-23 0:54 ` Dennis-YC Hsieh 2020-06-23 0:54 ` Dennis-YC Hsieh 2020-06-21 14:18 ` [PATCH v1 04/11] soc: mediatek: cmdq: add write_s_mask function Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-21 14:18 ` [PATCH v1 05/11] soc: mediatek: cmdq: add read_s function Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-21 14:18 ` [PATCH v1 06/11] soc: mediatek: cmdq: add write_s value function Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-21 14:18 ` [PATCH v1 07/11] soc: mediatek: cmdq: add write_s_mask " Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh [this message] 2020-06-21 14:18 ` [PATCH v1 08/11] soc: mediatek: cmdq: export finalize function Dennis YC Hsieh 2020-06-22 11:13 ` Matthias Brugger 2020-06-22 11:13 ` Matthias Brugger 2020-06-21 14:18 ` [PATCH v1 09/11] soc: mediatek: cmdq: add jump function Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-21 14:18 ` [PATCH v1 10/11] soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-22 11:19 ` Matthias Brugger 2020-06-22 11:19 ` Matthias Brugger 2020-06-22 15:39 ` Dennis-YC Hsieh 2020-06-22 15:39 ` Dennis-YC Hsieh 2020-06-21 14:18 ` [PATCH v1 11/11] soc: mediatek: cmdq: add set event function Dennis YC Hsieh 2020-06-21 14:18 ` Dennis YC Hsieh 2020-06-22 11:22 ` Matthias Brugger 2020-06-22 11:22 ` Matthias Brugger 2020-06-22 2:40 ` [PATCH v1 0/11] support cmdq helper function on mt6779 platform Bibby Hsieh 2020-06-22 2:40 ` Bibby Hsieh 2020-06-22 15:20 ` Dennis-YC Hsieh 2020-06-22 15:20 ` Dennis-YC Hsieh
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=1592749115-24158-9-git-send-email-dennis-yc.hsieh@mediatek.com \ --to=dennis-yc.hsieh@mediatek.com \ --cc=airlied@linux.ie \ --cc=bibby.hsieh@mediatek.com \ --cc=ck.hu@mediatek.com \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=houlong.wei@mediatek.com \ --cc=hs.liao@mediatek.com \ --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=p.zabel@pengutronix.de \ --cc=wsd_upstream@mediatek.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.