From: Jason-JH.Lin <jason-jh.lin@mediatek.com> To: Jassi Brar <jassisinghbrar@gmail.com>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Matthias Brugger <matthias.bgg@gmail.com>, AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>, Chun-Kuang Hu <chunkuang.hu@kernel.org> Cc: Conor Dooley <conor+dt@kernel.org>, Mauro Carvalho Chehab <mchehab@kernel.org>, <linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-media@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-mediatek@lists.infradead.org>, Jason-ch Chen <jason-ch.chen@mediatek.com>, Johnson Wang <johnson.wang@mediatek.com>, "Jason-JH . Lin" <jason-jh.lin@mediatek.com>, Singo Chang <singo.chang@mediatek.com>, Nancy Lin <nancy.lin@mediatek.com>, Shawn Sung <shawn.sung@mediatek.com>, <Project_Global_Chrome_Upstream_Group@mediatek.com> Subject: [PATCH v3 7/9] mailbox: mediatek: Move reuseable definition to header for secure driver Date: Fri, 22 Dec 2023 12:52:26 +0800 [thread overview] Message-ID: <20231222045228.27826-8-jason-jh.lin@mediatek.com> (raw) In-Reply-To: <20231222045228.27826-1-jason-jh.lin@mediatek.com> To support CMDQ secure driver, move some reuseable definition to header. - define: e.g. CMDQ_GCE_NUM_MAX, CMDQ_THR_BASE, CMDQ_THR_SIZE. - struct: e.g. cmdq_thread, cmdq, cmdq_task. - include: e.g. <linux/clk.h>. Add "#include <linux/mailbox_controller.h>" for the function that takes "struct mbox_chan * chan" as a parameter. That may occur a build error if secure driver header includes the mtk-cmdq-mailbox.h. - function: e.g. cmdq_get_shift_pa(struct mbox_chan *chan). Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com> --- drivers/mailbox/mtk-cmdq-mailbox.c | 30 --------------------- include/linux/mailbox/mtk-cmdq-mailbox.h | 33 ++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c index 5390b6488ebc..04321f7e10c3 100644 --- a/drivers/mailbox/mtk-cmdq-mailbox.c +++ b/drivers/mailbox/mtk-cmdq-mailbox.c @@ -3,7 +3,6 @@ // Copyright (c) 2018 MediaTek Inc. #include <linux/bitops.h> -#include <linux/clk.h> #include <linux/clk-provider.h> #include <linux/dma-mapping.h> #include <linux/errno.h> @@ -22,13 +21,10 @@ #define CMDQ_OP_CODE_MASK (0xff << CMDQ_OP_CODE_SHIFT) #define CMDQ_NUM_CMD(t) (t->cmd_buf_size / CMDQ_INST_SIZE) -#define CMDQ_GCE_NUM_MAX (2) #define CMDQ_CURR_IRQ_STATUS 0x10 #define CMDQ_SYNC_TOKEN_UPDATE 0x68 #define CMDQ_THR_SLOT_CYCLES 0x30 -#define CMDQ_THR_BASE 0x100 -#define CMDQ_THR_SIZE 0x80 #define CMDQ_THR_WARM_RESET 0x00 #define CMDQ_THR_ENABLE_TASK 0x04 #define CMDQ_THR_SUSPEND_TASK 0x08 @@ -59,32 +55,6 @@ #define CMDQ_JUMP_BY_OFFSET 0x10000000 #define CMDQ_JUMP_BY_PA 0x10000001 -struct cmdq_thread { - struct mbox_chan *chan; - void __iomem *base; - struct list_head task_busy_list; - u32 priority; -}; - -struct cmdq_task { - struct cmdq *cmdq; - struct list_head list_entry; - dma_addr_t pa_base; - struct cmdq_thread *thread; - struct cmdq_pkt *pkt; /* the packet sent from mailbox client */ -}; - -struct cmdq { - struct mbox_controller mbox; - void __iomem *base; - int irq; - u32 irq_mask; - const struct gce_plat *pdata; - struct cmdq_thread *thread; - struct clk_bulk_data clocks[CMDQ_GCE_NUM_MAX]; - bool suspended; -}; - struct gce_plat { u32 thread_nr; u8 shift; diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h index f78a08e7c6ed..43eae45a08c9 100644 --- a/include/linux/mailbox/mtk-cmdq-mailbox.h +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h @@ -7,10 +7,17 @@ #ifndef __MTK_CMDQ_MAILBOX_H__ #define __MTK_CMDQ_MAILBOX_H__ +#include <linux/clk.h> +#include <linux/mailbox_controller.h> #include <linux/platform_device.h> #include <linux/slab.h> #include <linux/types.h> +#define CMDQ_GCE_NUM_MAX 2 + +#define CMDQ_THR_BASE 0x100 +#define CMDQ_THR_SIZE 0x80 + #define CMDQ_INST_SIZE 8 /* instruction is 64-bit */ #define CMDQ_SUBSYS_SHIFT 16 #define CMDQ_OP_CODE_SHIFT 24 @@ -79,6 +86,32 @@ struct cmdq_pkt { bool loop; }; +struct cmdq_thread { + struct mbox_chan *chan; + void __iomem *base; + struct list_head task_busy_list; + u32 priority; +}; + +struct cmdq { + struct mbox_controller mbox; + void __iomem *base; + int irq; + u32 irq_mask; + const struct gce_plat *pdata; + struct cmdq_thread *thread; + struct clk_bulk_data clocks[CMDQ_GCE_NUM_MAX]; + bool suspended; +}; + +struct cmdq_task { + struct cmdq *cmdq; + struct list_head list_entry; + dma_addr_t pa_base; + struct cmdq_thread *thread; + struct cmdq_pkt *pkt; /* the packet sent from mailbox client */ +}; + u8 cmdq_get_shift_pa(struct mbox_chan *chan); #endif /* __MTK_CMDQ_MAILBOX_H__ */ -- 2.18.0
WARNING: multiple messages have this Message-ID (diff)
From: Jason-JH.Lin <jason-jh.lin@mediatek.com> To: Jassi Brar <jassisinghbrar@gmail.com>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Matthias Brugger <matthias.bgg@gmail.com>, AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>, Chun-Kuang Hu <chunkuang.hu@kernel.org> Cc: Conor Dooley <conor+dt@kernel.org>, Mauro Carvalho Chehab <mchehab@kernel.org>, <linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-media@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-mediatek@lists.infradead.org>, Jason-ch Chen <jason-ch.chen@mediatek.com>, Johnson Wang <johnson.wang@mediatek.com>, "Jason-JH . Lin" <jason-jh.lin@mediatek.com>, Singo Chang <singo.chang@mediatek.com>, Nancy Lin <nancy.lin@mediatek.com>, Shawn Sung <shawn.sung@mediatek.com>, <Project_Global_Chrome_Upstream_Group@mediatek.com> Subject: [PATCH v3 7/9] mailbox: mediatek: Move reuseable definition to header for secure driver Date: Fri, 22 Dec 2023 12:52:26 +0800 [thread overview] Message-ID: <20231222045228.27826-8-jason-jh.lin@mediatek.com> (raw) In-Reply-To: <20231222045228.27826-1-jason-jh.lin@mediatek.com> To support CMDQ secure driver, move some reuseable definition to header. - define: e.g. CMDQ_GCE_NUM_MAX, CMDQ_THR_BASE, CMDQ_THR_SIZE. - struct: e.g. cmdq_thread, cmdq, cmdq_task. - include: e.g. <linux/clk.h>. Add "#include <linux/mailbox_controller.h>" for the function that takes "struct mbox_chan * chan" as a parameter. That may occur a build error if secure driver header includes the mtk-cmdq-mailbox.h. - function: e.g. cmdq_get_shift_pa(struct mbox_chan *chan). Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com> --- drivers/mailbox/mtk-cmdq-mailbox.c | 30 --------------------- include/linux/mailbox/mtk-cmdq-mailbox.h | 33 ++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c index 5390b6488ebc..04321f7e10c3 100644 --- a/drivers/mailbox/mtk-cmdq-mailbox.c +++ b/drivers/mailbox/mtk-cmdq-mailbox.c @@ -3,7 +3,6 @@ // Copyright (c) 2018 MediaTek Inc. #include <linux/bitops.h> -#include <linux/clk.h> #include <linux/clk-provider.h> #include <linux/dma-mapping.h> #include <linux/errno.h> @@ -22,13 +21,10 @@ #define CMDQ_OP_CODE_MASK (0xff << CMDQ_OP_CODE_SHIFT) #define CMDQ_NUM_CMD(t) (t->cmd_buf_size / CMDQ_INST_SIZE) -#define CMDQ_GCE_NUM_MAX (2) #define CMDQ_CURR_IRQ_STATUS 0x10 #define CMDQ_SYNC_TOKEN_UPDATE 0x68 #define CMDQ_THR_SLOT_CYCLES 0x30 -#define CMDQ_THR_BASE 0x100 -#define CMDQ_THR_SIZE 0x80 #define CMDQ_THR_WARM_RESET 0x00 #define CMDQ_THR_ENABLE_TASK 0x04 #define CMDQ_THR_SUSPEND_TASK 0x08 @@ -59,32 +55,6 @@ #define CMDQ_JUMP_BY_OFFSET 0x10000000 #define CMDQ_JUMP_BY_PA 0x10000001 -struct cmdq_thread { - struct mbox_chan *chan; - void __iomem *base; - struct list_head task_busy_list; - u32 priority; -}; - -struct cmdq_task { - struct cmdq *cmdq; - struct list_head list_entry; - dma_addr_t pa_base; - struct cmdq_thread *thread; - struct cmdq_pkt *pkt; /* the packet sent from mailbox client */ -}; - -struct cmdq { - struct mbox_controller mbox; - void __iomem *base; - int irq; - u32 irq_mask; - const struct gce_plat *pdata; - struct cmdq_thread *thread; - struct clk_bulk_data clocks[CMDQ_GCE_NUM_MAX]; - bool suspended; -}; - struct gce_plat { u32 thread_nr; u8 shift; diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h index f78a08e7c6ed..43eae45a08c9 100644 --- a/include/linux/mailbox/mtk-cmdq-mailbox.h +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h @@ -7,10 +7,17 @@ #ifndef __MTK_CMDQ_MAILBOX_H__ #define __MTK_CMDQ_MAILBOX_H__ +#include <linux/clk.h> +#include <linux/mailbox_controller.h> #include <linux/platform_device.h> #include <linux/slab.h> #include <linux/types.h> +#define CMDQ_GCE_NUM_MAX 2 + +#define CMDQ_THR_BASE 0x100 +#define CMDQ_THR_SIZE 0x80 + #define CMDQ_INST_SIZE 8 /* instruction is 64-bit */ #define CMDQ_SUBSYS_SHIFT 16 #define CMDQ_OP_CODE_SHIFT 24 @@ -79,6 +86,32 @@ struct cmdq_pkt { bool loop; }; +struct cmdq_thread { + struct mbox_chan *chan; + void __iomem *base; + struct list_head task_busy_list; + u32 priority; +}; + +struct cmdq { + struct mbox_controller mbox; + void __iomem *base; + int irq; + u32 irq_mask; + const struct gce_plat *pdata; + struct cmdq_thread *thread; + struct clk_bulk_data clocks[CMDQ_GCE_NUM_MAX]; + bool suspended; +}; + +struct cmdq_task { + struct cmdq *cmdq; + struct list_head list_entry; + dma_addr_t pa_base; + struct cmdq_thread *thread; + struct cmdq_pkt *pkt; /* the packet sent from mailbox client */ +}; + u8 cmdq_get_shift_pa(struct mbox_chan *chan); #endif /* __MTK_CMDQ_MAILBOX_H__ */ -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-12-22 4:52 UTC|newest] Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-12-22 4:52 [PATCH v3 0/9] Add CMDQ secure driver for SVP Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin 2023-12-22 4:52 ` [PATCH v3 1/9] dt-bindings: gce: mt8195: Add CMDQ_SYNC_TOKEN_SECURE_THR_EOF event id Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin 2023-12-22 4:52 ` [PATCH v3 2/9] dt-bindings: mailbox: Add mboxes property for CMDQ secure driver Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin 2023-12-22 15:07 ` Conor Dooley 2023-12-22 15:07 ` Conor Dooley 2023-12-23 18:38 ` Jason-JH Lin (林睿祥) 2023-12-23 18:38 ` Jason-JH Lin (林睿祥) 2023-12-22 4:52 ` [PATCH v3 3/9] soc: mediatek: cmdq: Add cmdq_pkt_logic_command to support math operation Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin 2023-12-22 4:52 ` [PATCH v3 4/9] soc: mediatek: cmdq: Add cmdq_pkt_write_s_reg_value to support write value to reg Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin 2023-12-22 4:52 ` [PATCH v3 5/9] mailbox: mtk-cmdq: Support GCE loop packets in interrupt handler Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin 2023-12-22 4:52 ` [PATCH v3 6/9] soc: mediatek: cmdq: Add cmdq_pkt_finalize_loop for looping cmd with irq Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin [this message] 2023-12-22 4:52 ` [PATCH v3 7/9] mailbox: mediatek: Move reuseable definition to header for secure driver Jason-JH.Lin 2023-12-22 4:52 ` [PATCH v3 8/9] mailbox: mediatek: Add CMDQ secure mailbox driver Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin 2023-12-26 6:15 ` CK Hu (胡俊光) 2023-12-26 6:15 ` CK Hu (胡俊光) 2023-12-27 3:40 ` Jason-JH Lin (林睿祥) 2023-12-27 3:40 ` Jason-JH Lin (林睿祥) 2023-12-26 6:46 ` CK Hu (胡俊光) 2023-12-26 6:46 ` CK Hu (胡俊光) 2023-12-27 6:13 ` Jason-JH Lin (林睿祥) 2023-12-27 6:13 ` Jason-JH Lin (林睿祥) 2023-12-28 2:02 ` CK Hu (胡俊光) 2023-12-28 2:02 ` CK Hu (胡俊光) 2024-01-03 6:51 ` Jason-JH Lin (林睿祥) 2024-01-03 6:51 ` Jason-JH Lin (林睿祥) 2023-12-26 7:57 ` CK Hu (胡俊光) 2023-12-26 7:57 ` CK Hu (胡俊光) 2023-12-27 6:15 ` Jason-JH Lin (林睿祥) 2023-12-27 6:15 ` Jason-JH Lin (林睿祥) 2023-12-26 8:28 ` CK Hu (胡俊光) 2023-12-26 8:28 ` CK Hu (胡俊光) 2023-12-27 7:26 ` Jason-JH Lin (林睿祥) 2023-12-27 7:26 ` Jason-JH Lin (林睿祥) 2023-12-26 8:58 ` CK Hu (胡俊光) 2023-12-26 8:58 ` CK Hu (胡俊光) 2023-12-27 7:25 ` Jason-JH Lin (林睿祥) 2023-12-27 7:25 ` Jason-JH Lin (林睿祥) 2023-12-28 1:38 ` CK Hu (胡俊光) 2023-12-28 1:38 ` CK Hu (胡俊光) 2024-01-03 6:53 ` Jason-JH Lin (林睿祥) 2024-01-03 6:53 ` Jason-JH Lin (林睿祥) 2023-12-26 9:18 ` CK Hu (胡俊光) 2023-12-26 9:18 ` CK Hu (胡俊光) 2023-12-27 7:20 ` Jason-JH Lin (林睿祥) 2023-12-27 7:20 ` Jason-JH Lin (林睿祥) 2023-12-28 5:31 ` CK Hu (胡俊光) 2023-12-28 5:31 ` CK Hu (胡俊光) 2024-01-03 6:54 ` Jason-JH Lin (林睿祥) 2024-01-03 6:54 ` Jason-JH Lin (林睿祥) 2023-12-28 7:35 ` CK Hu (胡俊光) 2023-12-28 7:35 ` CK Hu (胡俊光) 2024-01-03 6:55 ` Jason-JH Lin (林睿祥) 2024-01-03 6:55 ` Jason-JH Lin (林睿祥) 2023-12-28 7:37 ` CK Hu (胡俊光) 2023-12-28 7:37 ` CK Hu (胡俊光) 2024-01-03 7:03 ` Jason-JH Lin (林睿祥) 2024-01-03 7:03 ` Jason-JH Lin (林睿祥) 2024-01-04 5:42 ` CK Hu (胡俊光) 2024-01-04 5:42 ` CK Hu (胡俊光) 2024-01-05 6:37 ` Jason-JH Lin (林睿祥) 2024-01-05 6:37 ` Jason-JH Lin (林睿祥) 2023-12-29 1:27 ` CK Hu (胡俊光) 2023-12-29 1:27 ` CK Hu (胡俊光) 2024-01-03 7:14 ` Jason-JH Lin (林睿祥) 2024-01-03 7:14 ` Jason-JH Lin (林睿祥) 2023-12-22 4:52 ` [PATCH v3 9/9] mailbox: mediatek: Add secure CMDQ driver support for CMDQ driver Jason-JH.Lin 2023-12-22 4:52 ` Jason-JH.Lin
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=20231222045228.27826-8-jason-jh.lin@mediatek.com \ --to=jason-jh.lin@mediatek.com \ --cc=Project_Global_Chrome_Upstream_Group@mediatek.com \ --cc=angelogioacchino.delregno@collabora.com \ --cc=chunkuang.hu@kernel.org \ --cc=conor+dt@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=jason-ch.chen@mediatek.com \ --cc=jassisinghbrar@gmail.com \ --cc=johnson.wang@mediatek.com \ --cc=krzysztof.kozlowski+dt@linaro.org \ --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 \ --cc=nancy.lin@mediatek.com \ --cc=robh+dt@kernel.org \ --cc=shawn.sung@mediatek.com \ --cc=singo.chang@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.