summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason-JH.Lin <jason-jh.lin@mediatek.com>2024-03-07 09:34:55 +0800
committerAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>2024-04-23 12:16:55 +0200
commit49ddaa495f8b60c8c4022ebe540024dd870e4dd1 (patch)
tree15110c3c08e83d97cbdbedd619399938d866bb96
parentb81b2d5534fc72f70d808c72b19f0e3f9df32a90 (diff)
soc: mediatek: mtk-cmdq: Add specific purpose register definitions for GCE
Add specific purpose register definitions for GCE, so CMDQ users can use them as a buffer to store data. Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20240307013458.23550-2-jason-jh.lin@mediatek.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
-rw-r--r--include/linux/soc/mediatek/mtk-cmdq.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h
index e5335fb22a3b..042c61f29dc1 100644
--- a/include/linux/soc/mediatek/mtk-cmdq.h
+++ b/include/linux/soc/mediatek/mtk-cmdq.h
@@ -14,6 +14,15 @@
#define CMDQ_ADDR_HIGH(addr) ((u32)(((addr) >> 16) & GENMASK(31, 0)))
#define CMDQ_ADDR_LOW(addr) ((u16)(addr) | BIT(1))
+/*
+ * Every cmdq thread has its own SPRs (Specific Purpose Registers),
+ * so there are 4 * N (threads) SPRs in GCE that shares the same indexes below.
+ */
+#define CMDQ_THR_SPR_IDX0 (0)
+#define CMDQ_THR_SPR_IDX1 (1)
+#define CMDQ_THR_SPR_IDX2 (2)
+#define CMDQ_THR_SPR_IDX3 (3)
+
struct cmdq_pkt;
struct cmdq_client_reg {