mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Chun-Kuang Hu <chunkuang.hu@kernel.org>
To: Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org
Cc: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Subject: [PATCH 3/9] soc: mediatek: cmdq: Add cmdq_pkt_eoc() helper function
Date: Thu, 15 Feb 2024 00:49:25 +0000	[thread overview]
Message-ID: <20240215004931.3808-4-chunkuang.hu@kernel.org> (raw)
In-Reply-To: <20240215004931.3808-1-chunkuang.hu@kernel.org>

cmdq_pkt_eoc() append eoc command to CMDQ packet. eoc command
would ask GCE to generate IRQ. It's usually appended to the end
of packet to notify all command in the packet is done.

Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
---
 drivers/soc/mediatek/mtk-cmdq-helper.c | 10 ++++++++++
 include/linux/soc/mediatek/mtk-cmdq.h  | 15 +++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c
index ed4ef95adf5b..e982997117c2 100644
--- a/drivers/soc/mediatek/mtk-cmdq-helper.c
+++ b/drivers/soc/mediatek/mtk-cmdq-helper.c
@@ -359,6 +359,16 @@ int cmdq_pkt_jump(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_pa)
 }
 EXPORT_SYMBOL(cmdq_pkt_jump);
 
+int cmdq_pkt_eoc(struct cmdq_pkt *pkt)
+{
+	struct cmdq_instruction inst = { {0} };
+
+	inst.op = CMDQ_CODE_EOC;
+	inst.value = CMDQ_EOC_IRQ_EN;
+	return cmdq_pkt_append_command(pkt, inst);
+}
+EXPORT_SYMBOL(cmdq_pkt_eoc);
+
 int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
 {
 	struct cmdq_instruction inst = { {0} };
diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
index 6215191a328d..a67f719dec0b 100644
--- a/include/linux/soc/mediatek/mtk-cmdq.h
+++ b/include/linux/soc/mediatek/mtk-cmdq.h
@@ -245,6 +245,16 @@ int cmdq_pkt_assign(struct cmdq_pkt *pkt, u16 reg_idx, u32 value);
  */
 int cmdq_pkt_jump(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_pa);
 
+/**
+ * cmdq_pkt_eoc() - Append eoc command to the CMDQ packet, ask GCE
+ *		    to generate IRQ. It's usually appended to the end of
+ *		    packet to notify that all command in the packet is done.
+ * @pkt:	the CMDQ packet
+ *
+ * Return: 0 for success; else the error code is returned
+ */
+int cmdq_pkt_eoc(struct cmdq_pkt *pkt);
+
 /**
  * cmdq_pkt_finalize() - Append EOC and jump command to pkt.
  * @pkt:	the CMDQ packet
@@ -346,6 +356,11 @@ static inline int cmdq_pkt_jump(struct cmdq_pkt *pkt, dma_addr_t addr, u8 shift_
 	return -EINVAL;
 }
 
+static inline int cmdq_pkt_eoc(struct cmdq_pkt *pkt)
+{
+	return -EINVAL;
+}
+
 static inline int cmdq_pkt_finalize(struct cmdq_pkt *pkt)
 {
 	return -EINVAL;
-- 
2.34.1


  parent reply	other threads:[~2024-02-15  0:50 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-15  0:49 [PATCH 0/9] Remove cl in struct cmdq_pkt Chun-Kuang Hu
2024-02-15  0:49 ` [PATCH 1/9] soc: mediatek: cmdq: Remove unused helper funciton Chun-Kuang Hu
2024-02-15 10:40   ` AngeloGioacchino Del Regno
2024-02-16  2:11     ` CK Hu (胡俊光)
2024-02-15  0:49 ` [PATCH 2/9] soc: mediatek: cmdq: Add parameter shift_pa to cmdq_pkt_jump() Chun-Kuang Hu
2024-02-15 10:40   ` AngeloGioacchino Del Regno
2024-02-16  1:36     ` CK Hu (胡俊光)
2024-02-15  0:49 ` Chun-Kuang Hu [this message]
2024-02-15 10:40   ` [PATCH 3/9] soc: mediatek: cmdq: Add cmdq_pkt_eoc() helper function AngeloGioacchino Del Regno
2024-02-15  0:49 ` [PATCH 4/9] soc: mediatek: cmdq: Add cmdq_pkt_nop() " Chun-Kuang Hu
2024-02-15 10:40   ` AngeloGioacchino Del Regno
2024-02-16  1:39     ` CK Hu (胡俊光)
2024-02-15  0:49 ` [PATCH 5/9] drm/mediatek: Drop calling cmdq_pkt_finalize() Chun-Kuang Hu
2024-02-15 10:40   ` AngeloGioacchino Del Regno
2024-02-15  0:49 ` [PATCH 6/9] media: platform: mtk-mdp3: drop " Chun-Kuang Hu
2024-02-15 10:29   ` AngeloGioacchino Del Regno
2024-02-16  6:20     ` Moudy Ho (何宗原)
2024-02-16  7:56       ` AngeloGioacchino Del Regno
2024-02-22  3:11         ` CK Hu (胡俊光)
2024-02-15  0:49 ` [PATCH 7/9] soc: mediatek: cmdq: Remove cmdq_pkt_finalize() helper function Chun-Kuang Hu
2024-02-15  0:49 ` [PATCH 8/9] drm/mediatek: Do not store struct cmdq_client in struct cmdq_pkt Chun-Kuang Hu
2024-02-15 10:40   ` AngeloGioacchino Del Regno
2024-02-15  0:49 ` [PATCH 9/9] media: platform: mtk-mdp3: do " Chun-Kuang Hu

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=20240215004931.3808-4-chunkuang.hu@kernel.org \
    --to=chunkuang.hu@kernel.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=mchehab@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®