* [PATCH v4 0/4] Add CMDQ driver support for 8189
@ 2025-08-20 9:38 Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 1/4] dt-bindings: mailbox: add cmdq yaml for MT8189 Xiandong Wang
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Xiandong Wang @ 2025-08-20 9:38 UTC (permalink / raw)
To: Jassi Brar, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Yongqiang Niu
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
sirius.wang, vince-wl.liu, jh.hsu,
Project_Global_Chrome_Upstream_Group, Xiandong Wang
The patches are based on the series:
https://lore.kernel.org/all/20250601173355.1731140-3-jason-jh.lin@mediatek.com/
https://lore.kernel.org/all/20250601173355.1731140-4-jason-jh.lin@mediatek.com/
https://lore.kernel.org/all/20250601173355.1731140-7-jason-jh.lin@mediatek.com/
https://lore.kernel.org/all/20250601173355.1731140-8-jason-jh.lin@mediatek.com/
Changes in v4:
-Modify the order of driver data for 8189.
-All uppercase characters in the GCE header have been converted to lowercase characters.
-Link to v3: https://lore.kernel.org/all/20250819033746.16405-2-xiandong.wang@mediatek.com/
Changes in v3:
-Modify unused property of 8189 driver data
-Link to v3: https://lore.kernel.org/all/20250819033746.16405-4-xiandong.wang@mediatek.com/
Changes in v2:
-Modify the title for series.
-Link to v2: https://lore.kernel.org/all/20250819015948.15450-2-xiandong.wang@mediatek.com/
Changes in v1:
-Add GCE driver data for 8189.
-Modify the clk api for 8189 gce suspend/resume.
-Link to v1: https://lore.kernel.org/all/20250814070401.13432-1-xiandong.wang@mediatek.com/
Xiandong Wang (4):
[v4,01/04] dt-bindings: mailbox: add cmdq yaml for MT8189
[v4,02/04] arm64: dts: mediatek: Add GCE header for mt8189
[v4,03/04] mailbox: mtk-cmdq: Add CMDQ driver support for mt8189
[v4,04/04] mailbox: mtk-cmdq: Fix clock handling using clk_bulk_prepare_enable
.../mailbox/mediatek,gce-mailbox.yaml | 1 +
arch/arm64/boot/dts/mediatek/mt8189-gce.h | 870 ++++++++++++++++++
drivers/mailbox/mtk-cmdq-mailbox.c | 24 +-
3 files changed, 885 insertions(+), 10 deletions(-)
create mode 100644 arch/arm64/boot/dts/mediatek/mt8189-gce.h
--
2.46.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v4 1/4] dt-bindings: mailbox: add cmdq yaml for MT8189
2025-08-20 9:38 [PATCH v4 0/4] Add CMDQ driver support for 8189 Xiandong Wang
@ 2025-08-20 9:38 ` Xiandong Wang
2025-08-20 19:46 ` Conor Dooley
2025-08-20 9:38 ` [PATCH v4 2/4] arm64: dts: mediatek: Add GCE header for mt8189 Xiandong Wang
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Xiandong Wang @ 2025-08-20 9:38 UTC (permalink / raw)
To: Jassi Brar, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Yongqiang Niu
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
sirius.wang, vince-wl.liu, jh.hsu,
Project_Global_Chrome_Upstream_Group, Xiandong Wang
Add compatible string to support cmdq for MT8189.
Signed-off-by: Xiandong Wang <xiandong.wang@mediatek.com>
---
.../devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml b/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
index 73d6db34d64a..f9718b90d36a 100644
--- a/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
+++ b/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
@@ -23,6 +23,7 @@ properties:
- mediatek,mt8183-gce
- mediatek,mt8186-gce
- mediatek,mt8188-gce
+ - mediatek,mt8189-gce
- mediatek,mt8192-gce
- mediatek,mt8195-gce
- mediatek,mt8196-gce
--
2.46.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 2/4] arm64: dts: mediatek: Add GCE header for mt8189
2025-08-20 9:38 [PATCH v4 0/4] Add CMDQ driver support for 8189 Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 1/4] dt-bindings: mailbox: add cmdq yaml for MT8189 Xiandong Wang
@ 2025-08-20 9:38 ` Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 3/4] mailbox: mtk-cmdq: Add CMDQ driver support " Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 4/4] mailbox: mtk-cmdq: Fix clock handling using clk_bulk_prepare_enable Xiandong Wang
3 siblings, 0 replies; 6+ messages in thread
From: Xiandong Wang @ 2025-08-20 9:38 UTC (permalink / raw)
To: Jassi Brar, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Yongqiang Niu
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
sirius.wang, vince-wl.liu, jh.hsu,
Project_Global_Chrome_Upstream_Group, Xiandong Wang
Add CGE header define for GCE Thread Priority and GCE Event IDs
that used in MT8189 dtsi.
Signed-off-by: Xiandong Wang <xiandong.wang@mediatek.com>
---
arch/arm64/boot/dts/mediatek/mt8189-gce.h | 870 ++++++++++++++++++++++
1 file changed, 870 insertions(+)
create mode 100644 arch/arm64/boot/dts/mediatek/mt8189-gce.h
diff --git a/arch/arm64/boot/dts/mediatek/mt8189-gce.h b/arch/arm64/boot/dts/mediatek/mt8189-gce.h
new file mode 100644
index 000000000000..a270013b3455
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt8189-gce.h
@@ -0,0 +1,870 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
+
+/*
+ * Copyright (c) 2025 MediaTek Inc.
+ *
+ */
+
+#ifndef _DT_GCE_MT8189_H
+#define _DT_GCE_MT8189_H
+
+/* assign timeout 0 also means default */
+#define CMDQ_NO_TIMEOUT 0xffffffff
+#define CMDQ_TIMEOUT_DEFAULT 1000
+
+/* GCE thread priority */
+#define CMDQ_THR_PRIO_LOWEST 0
+#define CMDQ_THR_PRIO_1 1
+#define CMDQ_THR_PRIO_2 2
+#define CMDQ_THR_PRIO_3 3
+#define CMDQ_THR_PRIO_4 4
+#define CMDQ_THR_PRIO_5 5
+#define CMDQ_THR_PRIO_6 6
+#define CMDQ_THR_PRIO_HIGHEST 7
+
+/* CPR count in 32bit register */
+#define GCE_CPR_COUNT 1312
+
+/* GCE subsys table */
+//#define SUBSYS_1300XXXX 0
+#define SUBSYS_1400XXXX 0 //MMSYS
+#define SUBSYS_1401XXXX 1 //MMSYS
+#define SUBSYS_1402XXXX 2 //MMSYS
+#define SUBSYS_1F80XXXX 3 //MDP
+#define SUBSYS_1F81XXXX 4 //MDP
+#define SUBSYS_1600XXXX 5
+#define SUBSYS_1601XXXX 6
+#define SUBSYS_1602XXXX 7
+#define SUBSYS_1E80XXXX 8
+#define SUBSYS_1E90XXXX 9
+#define SUBSYS_1E98XXXX 10
+#define SUBSYS_1E99XXXX 11
+#define SUBSYS_1EA0XXXX 12
+#define SUBSYS_1501XXXX 13
+#define SUBSYS_1502XXXX 14
+#define SUBSYS_1581XXXX 15
+#define SUBSYS_1582XXXX 16
+#define SUBSYS_1700XXXX 17
+#define SUBSYS_1701XXXX 18
+#define SUBSYS_1702XXXX 19
+#define SUBSYS_1703XXXX 20
+#define SUBSYS_1706XXXX 21
+#define SUBSYS_1A00XXXX 22
+#define SUBSYS_1A01XXXX 23
+#define SUBSYS_1A03XXXX 24
+#define SUBSYS_1A04XXXX 25
+#define SUBSYS_1A05XXXX 26
+#define SUBSYS_1A06XXXX 27
+#define SUBSYS_1A09XXXX 28
+#define SUBSYS_1A0AXXXX 29
+#define SUBSYS_NO_SUPPORT 99
+
+/* GCE General Purpose Register (GPR) support
+ * Leave note for scenario usage here
+ */
+/* GCE: write mask */
+#define GCE_GPR_R00 0x00
+#define GCE_GPR_R01 0x01
+/* MDP: P1: JPEG dest */
+#define GCE_GPR_R02 0x02
+#define GCE_GPR_R03 0x03
+/* MDP: PQ color */
+#define GCE_GPR_R04 0x04
+/* MDP: 2D sharpness */
+#define GCE_GPR_R05 0x05
+/* DISP: poll esd */
+#define GCE_GPR_R06 0x06
+#define GCE_GPR_R07 0x07
+/* MDP: P4: 2D sharpness dst */
+#define GCE_GPR_R08 0x08
+#define GCE_GPR_R09 0x09
+/* VCU: poll with timeout for GPR timer */
+#define GCE_GPR_R10 0x0a
+#define GCE_GPR_R11 0x0b
+/* CMDQ: debug */
+#define GCE_GPR_R12 0x0c
+#define GCE_GPR_R13 0x0d
+/* CMDQ: P7: debug */
+#define GCE_GPR_R14 0x0e
+#define GCE_GPR_R15 0x0f
+
+/* GCE-D hardware events */
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA0_SOF 0
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA1_SOF 1
+#define CMDQ_EVENT_MMLSYS_MDP_WROT0_SOF 2
+#define CMDQ_EVENT_MMLSYS_MDP_WROT1_SOF 3
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA2_SOF 4
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA3_SOF 5
+#define CMDQ_EVENT_MMLSYS_MDP_DLI_ASYNC0_SOF 6
+#define CMDQ_EVENT_MMLSYS_MDP_DLI_ASYNC1_SOF 7
+#define CMDQ_EVENT_MMLSYS_MDP_DLO_ASYNC0_SOF 8
+#define CMDQ_EVENT_MMLSYS_MDP_DLO_ASYNC1_SOF 9
+#define CMDQ_EVENT_MMLSYS_MDP_WROT2_SOF 10
+#define CMDQ_EVENT_MMLSYS_MDP_WROT3_SOF 11
+#define CMDQ_EVENT_MMLSYS_MDP_DLI_ASYNC3_SOF 12
+#define CMDQ_EVENT_MMLSYS_MDP_DLO_ASYNC2_SOF 13
+#define CMDQ_EVENT_MMLSYS_MDP_DLO_ASYNC3_SOF 14
+#define CMDQ_EVENT_MMLSYS_MDP_WROT3_FRAME_DONE 15
+#define CMDQ_EVENT_MMLSYS_MDP_WROT2_FRAME_DONE 16
+#define CMDQ_EVENT_MMLSYS_MDP_WROT1_FRAME_DONE 17
+#define CMDQ_EVENT_MMLSYS_MDP_WROT0_FRAME_DONE 18
+#define CMDQ_EVENT_MMLSYS_MDP_TDSHP1_FRAME_DONE 19
+#define CMDQ_EVENT_MMLSYS_MDP_TDSHP0_FRAME_DONE 20
+#define CMDQ_EVENT_MMLSYS_MDP_RSZ3_FRAME_DONE 21
+#define CMDQ_EVENT_MMLSYS_MDP_RSZ2_FRAME_DONE 22
+#define CMDQ_EVENT_MMLSYS_MDP_RSZ1_FRAME_DONE 23
+#define CMDQ_EVENT_MMLSYS_MDP_RSZ0_FRAME_DONE 24
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA3_FRAME_DONE 25
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA2_FRAME_DONE 26
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA1_FRAME_DONE 27
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA0_FRAME_DONE 28
+#define CMDQ_EVENT_MMLSYS_MDP_HDR1_FRAME_DONE 29
+#define CMDQ_EVENT_MMLSYS_MDP_HDR0_FRAME_DONE 30
+#define CMDQ_EVENT_MMLSYS_MDP_FG1_FRAME_DONE 31
+#define CMDQ_EVENT_MMLSYS_MDP_FG0_FRAME_DONE 32
+#define CMDQ_EVENT_MMLSYS_MDP_COLOR1_FRAME_DONE 33
+#define CMDQ_EVENT_MMLSYS_MDP_COLOR0_FRAME_DONE 34
+#define CMDQ_EVENT_MMLSYS_MDP_BIRSZ1_FRAME_DONE 35
+#define CMDQ_EVENT_MMLSYS_MDP_BIRSZ0_FRAME_DONE 36
+#define CMDQ_EVENT_MMLSYS_MDP_AAL1_FRAME_DONE 37
+#define CMDQ_EVENT_MMLSYS_MDP_AAL0_FRAME_DONE 38
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_0 39
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_1 40
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_2 41
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_3 42
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_4 43
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_5 44
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_6 45
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_7 46
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_8 47
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_9 48
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_10 49
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_11 50
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_12 51
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_13 52
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_14 53
+#define CMDQ_EVENT_MMLSYS_STREAM_DONE_ENG_EVENT_15 54
+#define CMDQ_EVENT_MMLSYS_MDP_WROT3_SW_RST_DONE_ENG_EVENT 55
+#define CMDQ_EVENT_MMLSYS_MDP_WROT2_SW_RST_DONE_ENG_EVENT 56
+#define CMDQ_EVENT_MMLSYS_MDP_WROT1_SW_RST_DONE_ENG_EVENT 57
+#define CMDQ_EVENT_MMLSYS_MDP_WROT0_SW_RST_DONE_ENG_EVENT 58
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA3_SW_RST_DONE_ENG_EVENT 59
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA2_SW_RST_DONE_ENG_EVENT 60
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA1_SW_RST_DONE_ENG_EVENT 61
+#define CMDQ_EVENT_MMLSYS_MDP_RDMA0_SW_RST_DONE_ENG_EVENT 62
+#define CMDQ_EVENT_MMLSYS_BUF_UNDERRUN_ENG_EVENT_0 63
+#define CMDQ_EVENT_MMLSYS_BUF_UNDERRUN_ENG_EVENT_1 64
+#define CMDQ_EVENT_MMLSYS_BUF_UNDERRUN_ENG_EVENT_2 65
+#define CMDQ_EVENT_DISPSYS_DISP_OVL0_4L_SOF 256
+#define CMDQ_EVENT_DISPSYS_DISP_OVL1_4L_SOF 257
+#define CMDQ_EVENT_DISPSYS_VPP_RSZ0_SOF 258
+#define CMDQ_EVENT_DISPSYS_VPP_RSZ1_SOF 259
+#define CMDQ_EVENT_DISPSYS_DISP_RDMA0_SOF 260
+#define CMDQ_EVENT_DISPSYS_DISP_RDMA1_SOF 261
+#define CMDQ_EVENT_DISPSYS_DISP_COLOR0_SOF 262
+#define CMDQ_EVENT_DISPSYS_DISP_COLOR1_SOF 263
+#define CMDQ_EVENT_DISPSYS_DISP_CCORR0_SOF 264
+#define CMDQ_EVENT_DISPSYS_DISP_CCORR1_SOF 265
+#define CMDQ_EVENT_DISPSYS_DISP_CCORR2_SOF 266
+#define CMDQ_EVENT_DISPSYS_DISP_CCORR3_SOF 267
+#define CMDQ_EVENT_DISPSYS_DISP_AAL0_SOF 268
+#define CMDQ_EVENT_DISPSYS_DISP_AAL1_SOF 269
+#define CMDQ_EVENT_DISPSYS_DISP_GAMMA0_SOF 270
+#define CMDQ_EVENT_DISPSYS_DISP_GAMMA1_SOF 271
+#define CMDQ_EVENT_DISPSYS_DISP_DITHER0_SOF 272
+#define CMDQ_EVENT_DISPSYS_DISP_DITHER1_SOF 273
+#define CMDQ_EVENT_DISPSYS_VPP_MERGE0_SOF 274
+#define CMDQ_EVENT_DISPSYS_DISP_DSC_WRAP0_CORE0_SOF 275
+#define CMDQ_EVENT_DISPSYS_DISP_DSC_WRAP0_CORE1_SOF 276
+#define CMDQ_EVENT_DISPSYS_DISP_DVO0_SOF 277
+#define CMDQ_EVENT_DISPSYS_DISP_DSI0_SOF 278
+#define CMDQ_EVENT_DISPSYS_DP_INTF0_SOF 279
+#define CMDQ_EVENT_DISPSYS_DPI0_SOF 280
+#define CMDQ_EVENT_DISPSYS_DISP_WDMA0_SOF 281
+#define CMDQ_EVENT_DISPSYS_DISP_WDMA1_SOF 282
+#define CMDQ_EVENT_DISPSYS_DISP_PWM0_SOF 283
+#define CMDQ_EVENT_DISPSYS_DISP_PWM1_SOF 284
+#define CMDQ_EVENT_DISPSYS_DISP_OVL0_4L_FRAME_DONE 285
+#define CMDQ_EVENT_DISPSYS_DISP_OVL1_4L_FRAME_DONE 286
+#define CMDQ_EVENT_DISPSYS_VPP_RSZ0_FRAME_DONE 287
+#define CMDQ_EVENT_DISPSYS_VPP_RSZ1_FRAME_DONE 288
+#define CMDQ_EVENT_DISPSYS_DISP_RDMA0_FRAME_DONE 289
+#define CMDQ_EVENT_DISPSYS_DISP_RDMA1_FRAME_DONE 290
+#define CMDQ_EVENT_DISPSYS_DISP_COLOR0_FRAME_DONE 291
+#define CMDQ_EVENT_DISPSYS_DISP_COLOR1_FRAME_DONE 292
+#define CMDQ_EVENT_DISPSYS_DISP_CCORR0_FRAME_DONE 293
+#define CMDQ_EVENT_DISPSYS_DISP_CCORR1_FRAME_DONE 294
+#define CMDQ_EVENT_DISPSYS_DISP_CCORR2_FRAME_DONE 295
+#define CMDQ_EVENT_DISPSYS_DISP_CCORR3_FRAME_DONE 296
+#define CMDQ_EVENT_DISPSYS_DISP_AAL0_FRAME_DONE 297
+#define CMDQ_EVENT_DISPSYS_DISP_AAL1_FRAME_DONE 298
+#define CMDQ_EVENT_DISPSYS_DISP_GAMMA0_FRAME_DONE 299
+#define CMDQ_EVENT_DISPSYS_DISP_GAMMA1_FRAME_DONE 300
+#define CMDQ_EVENT_DISPSYS_DISP_DITHER0_FRAME_DONE 301
+#define CMDQ_EVENT_DISPSYS_DISP_DITHER1_FRAME_DONE 302
+#define CMDQ_EVENT_DISPSYS_VPP_MERGE0_FRAME_DONE 303
+#define CMDQ_EVENT_DISPSYS_DISP_DSC_WRAP0_CORE0_FRAME_DONE 304
+#define CMDQ_EVENT_DISPSYS_DISP_DSC_WRAP0_CORE1_FRAME_DONE 305
+#define CMDQ_EVENT_DISPSYS_DISP_DVO0_FRAME_DONE 306
+#define CMDQ_EVENT_DISPSYS_DISP_DSI0_FRAME_DONE 307
+#define CMDQ_EVENT_DISPSYS_DP_INTF0_FRAME_DONE 308
+#define CMDQ_EVENT_DISPSYS_DPI0_FRAME_DONE 309
+#define CMDQ_EVENT_DISPSYS_DISP_WDMA0_FRAME_DONE 310
+#define CMDQ_EVENT_DISPSYS_DISP_WDMA1_FRAME_DONE 311
+#define CMDQ_EVENT_DISPSYS_MUTEX0_BUF_UNDERRUN_EVENT0 326
+#define CMDQ_EVENT_DISPSYS_MUTEX0_BUF_UNDERRUN_EVENT1 327
+#define CMDQ_EVENT_DISPSYS_MUTEX0_BUF_UNDERRUN_EVENT2 328
+#define CMDQ_EVENT_DISPSYS_MUTEX0_BUF_UNDERRUN_EVENT3 329
+#define CMDQ_EVENT_DISPSYS_MUTEX0_BUF_UNDERRUN_EVENT4 330
+#define CMDQ_EVENT_DISPSYS_MUTEX0_BUF_UNDERRUN_EVENT5 331
+#define CMDQ_EVENT_DISPSYS_MUTEX0_BUF_UNDERRUN_EVENT6 332
+#define CMDQ_EVENT_DISPSYS_MUTEX0_BUF_UNDERRUN_EVENT7 333
+#define CMDQ_EVENT_VPP_MERGE0_ENG_EVENT 334
+#define CMDQ_EVENT_DISPSYS_DVO0_SEL_ENG_EVENT4 335
+#define CMDQ_EVENT_DISPSYS_DVO0_SEL_ENG_EVENT3 336
+#define CMDQ_EVENT_DISPSYS_DVO0_SEL_ENG_EVENT2 337
+#define CMDQ_EVENT_DISPSYS_DVO0_SEL_ENG_EVENT1 338
+#define CMDQ_EVENT_DISPSYS_DVO0_SEL_ENG_EVENT0 339
+#define CMDQ_EVENT_DISPSYS_DVO0_EXTERNAL_TARGET_VDE_END_EVENT 340
+#define CMDQ_EVENT_DISPSYS_DVO0_EXTERNAL_TARGET_VSYNC_START_EVENT 341
+#define CMDQ_EVENT_DISPSYS_DVO0_INTERNAL_TARGET_LINE0_EVENT 342
+#define CMDQ_EVENT_DISPSYS_DSI_TE_EVENT 343 /*DSI0*/
+#define CMDQ_EVENT_DISPSYS_DSI_DONE_EVENT 344 /*DSI0*/
+#define CMDQ_EVENT_DISPSYS_DSI_TARGET_LINE_EVENT 345 /*DSI0*/
+#define CMDQ_EVENT_DISPSYS_INTF0_SEL_ENG_EVENT4 346
+#define CMDQ_EVENT_DISPSYS_INTF0_SEL_ENG_EVENT3 347
+#define CMDQ_EVENT_DISPSYS_INTF0_SEL_ENG_EVENT2 348
+#define CMDQ_EVENT_DISPSYS_INTF0_SEL_ENG_EVENT1 349
+#define CMDQ_EVENT_DISPSYS_INTF0_SEL_ENG_EVENT0 350
+#define CMDQ_EVENT_DISPSYS_INTF0_EXTERNAL_TARGET_VDE_END_EVENT 351
+#define CMDQ_EVENT_DISPSYS_INTF0_EXTERNAL_TARGET_VSYNC_START_EVENT 352
+#define CMDQ_EVENT_DISPSYS_INTF0_INTERNAL_TARGET_LINE0_EVENT 353
+#define CMDQ_EVENT_DPI0_SEL_ENG_EVENT4 354
+#define CMDQ_EVENT_DPI0_SEL_ENG_EVENT3 355
+#define CMDQ_EVENT_DPI0_SEL_ENG_EVENT2 356
+#define CMDQ_EVENT_DPI0_SEL_ENG_EVENT1 357
+#define CMDQ_EVENT_DPI0_SEL_ENG_EVENT0 358
+#define CMDQ_EVENT_DPI0_EXTERNAL_TARGET_VDE_END_EVENT 359
+#define CMDQ_EVENT_DPI0_EXTERNAL_TARGET_VSYNC_START_EVENT 360
+#define CMDQ_EVENT_DPI0_INTERNAL_TARGET_LINE0_EVENT 361
+#define CMDQ_EVENT_DISPSYS_WDMA0_TARGET_LINE_EVENT 362
+#define CMDQ_EVENT_DISPSYS_WDMA0_SW_RESET_EVENT 363
+#define CMDQ_EVENT_DISPSYS_WDMA1_TARGET_LINE_EVENT 364
+#define CMDQ_EVENT_DISPSYS_WDMA1_SW_RESET_EVENT 365
+#define CMDQ_EVENT_DISPSYS_OVL0_4L_TARGET_LINE_EVENT0 366
+#define CMDQ_EVENT_DISPSYS_OVL0_4L_TARGET_LINE_EVENT1 367
+#define CMDQ_EVENT_DISPSYS_OVL0_4L_TARGET_LINE_EVENT2 368
+#define CMDQ_EVENT_DISPSYS_OVL0_4L_TARGET_LINE_EVENT3 369
+#define CMDQ_EVENT_DISPSYS_OVL0_4L_TARGET_LINE_EVENT4 370
+#define CMDQ_EVENT_DISPSYS_OVL0_4L_TARGET_LINE_EVENT5 371
+#define CMDQ_EVENT_DISPSYS_OVL0_4L_TARGET_LINE_EVENT6 372
+#define CMDQ_EVENT_DISPSYS_OVL0_4L_FRAME_RESET_DONE_EVENT 373
+#define CMDQ_EVENT_DISPSYS_OVL1_4L_TARGET_LINE_EVENT0 374
+#define CMDQ_EVENT_DISPSYS_OVL1_4L_TARGET_LINE_EVENT1 375
+#define CMDQ_EVENT_DISPSYS_OVL1_4L_TARGET_LINE_EVENT2 376
+#define CMDQ_EVENT_DISPSYS_OVL1_4L_TARGET_LINE_EVENT3 377
+#define CMDQ_EVENT_DISPSYS_OVL1_4L_TARGET_LINE_EVENT4 378
+#define CMDQ_EVENT_DISPSYS_OVL1_4L_TARGET_LINE_EVENT5 379
+#define CMDQ_EVENT_DISPSYS_OVL1_4L_TARGET_LINE_EVENT6 380
+#define CMDQ_EVENT_DISPSYS_OVL1_4L_FRAME_RESET_DONE_EVENT 381
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_0 382
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_1 383
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_2 384
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_3 385
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_4 386
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_5 387
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_6 388
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_7 389
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_8 390
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_9 391
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_10 392
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_11 393
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_12 394
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_13 395
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_14 396
+#define CMDQ_EVENT_DISPSYS_DISP_MUTEX0_ENG_EVENT_15 397
+#define CMDQ_EVENT_DISP_RDMA0_GCE_TARGET_LINE_EVENT 398
+#define CMDQ_EVENT_DISP_RDMA1_GCE_TARGET_LINE_EVENT 399
+
+#define CMDQ_EVENT_DISPSYS_DISP_OVL1_4L_ENG_EVENT_6 400
+#define CMDQ_EVENT_DISPSYS_DISP_OVL1_4L_RST_DONE_ENG_EVENT 401
+
+/* GCE-M hardware events */
+#define CMDQ_EVENT_VENC_EVENT_RESERVED 0
+#define CMDQ_EVENT_VENC_CMDQ_FRAME_DONE 1
+#define CMDQ_EVENT_VENC_CMDQ_PAUSE_DONE 2
+#define CMDQ_EVENT_VENC_JPGENC_CMDQ_DONE 3
+#define CMDQ_EVENT_VENC_CMDQ_MB_DONE 4
+#define CMDQ_EVENT_VENC_CMDQ_12BYTE_CNT_DONE 5
+#define CMDQ_EVENT_VENC_JPGDEC_CMDQ_DONE 6
+#define CMDQ_EVENT_VENC_JPGDEC_INSUFF_CMDQ_DONE 8
+#define CMDQ_EVENT_VENC_CMDQ_WP_2ND_STAGE_DONE 10
+#define CMDQ_EVENT_VENC_CMDQ_WP_3RD_STAGE_DONE 11
+#define CMDQ_EVENT_VENC_CMDQ_PPS_DONE 12
+#define CMDQ_EVENT_VENC_CMDQ_SPS_DONE 13
+#define CMDQ_EVENT_VENC_CMDQ_VPS_DONE 14
+#define CMDQ_EVENT_VENC_CMDQ_SLICE_DONE 15
+#define CMDQ_EVENT_VENC_EVENT_16 16
+#define CMDQ_EVENT_VENC_EVENT_17 17
+#define CMDQ_EVENT_VDEC_LINE_COUNT_THRESHOLD_INTERRUPT 32
+#define CMDQ_EVENT_VDEC_INT 33
+#define CMDQ_EVENT_VDEC_PAUSE 34
+#define CMDQ_EVENT_VDEC_DEC_ERROR 35
+#define CMDQ_EVENT_VDEC_MC_BUSY_OVERFLOW_OR_MDEC_TIMEOUT 36
+#define CMDQ_EVENT_VDEC_VDEC_DRAM_IDLE 37
+#define CMDQ_EVENT_VDEC_INI_FETCH_RDY 38
+#define CMDQ_EVENT_VDEC_PROCESS_FLAG 39
+#define CMDQ_EVENT_VDEC_SEARCH_START_CODE_DONE_OR_CTX_COUNT_DMA_RDY 40
+#define CMDQ_EVENT_VDEC_REF_REORDER_DONE_OR_UPDATE_PROBS_RDY 41
+#define CMDQ_EVENT_VDEC_WP_TBLE_DONE_OR_BOOL_INIT_RDY 42
+#define CMDQ_EVENT_VDEC_COUNT_SRAM_CLR_DONE_AND_CTX_SRAM_CLR_DONE 43
+#define CMDQ_EVENT_GCE_CNT_OP_THRESHOLD 47
+#define CMDQ_EVENT_CAM_EVENT_0 64
+#define CMDQ_EVENT_CAM_ISP_FRAME_DONE_A 65
+#define CMDQ_EVENT_CAM_ISP_FRAME_DONE_B 66
+#define CMDQ_EVENT_CAM_ISP_FRAME_DONE_C 67
+#define CMDQ_EVENT_CAM_CAMSV0_PASS1_DONE 68
+#define CMDQ_EVENT_CAM_CAMSV02_PASS1_DONE 69
+#define CMDQ_EVENT_CAM_CAMSV1_PASS1_DONE 70
+#define CMDQ_EVENT_CAM_CAMSV2_PASS1_DONE 71
+#define CMDQ_EVENT_CAM_CAMSV3_PASS1_DONE 72
+#define CMDQ_EVENT_CAM_CAMSV4_PASS1_DONE 73
+#define CMDQ_EVENT_CAM_CAMSV42_PASS1_DONE 74
+#define CMDQ_EVENT_CAM_MRAW_0_PASS1_DONE 75
+#define CMDQ_EVENT_CAM_MRAW_1_PASS1_DONE 76
+#define CMDQ_EVENT_CAM_SENINF_CAM0_FIFO_FULL 77
+#define CMDQ_EVENT_CAM_SENINF_CAM1_FIFO_FULL 78
+#define CMDQ_EVENT_CAM_SENINF_CAM2_FIFO_FULL 79
+#define CMDQ_EVENT_CAM_SENINF_CAM3_FIFO_FULL 80
+#define CMDQ_EVENT_CAM_SENINF_CAM4_FIFO_FULL 81
+#define CMDQ_EVENT_CAM_SENINF_CAM5_FIFO_FULL 82
+#define CMDQ_EVENT_CAM_SENINF_CAM6_FIFO_FULL 83
+#define CMDQ_EVENT_CAM_SENINF_CAM7_FIFO_FULL 84
+#define CMDQ_EVENT_CAM_SENINF_CAM8_FIFO_FULL 85
+#define CMDQ_EVENT_CAM_SENINF_CAM9_FIFO_FULL 86
+#define CMDQ_EVENT_CAM_SENINF_CAM10_FIFO_FULL 87
+#define CMDQ_EVENT_CAM_SENINF_CAM11_FIFO_FULL 88
+#define CMDQ_EVENT_CAM_SENINF_CAM12_FIFO_FULL 89
+#define CMDQ_EVENT_CAM_TG_OVRUN_A_INT 90
+#define CMDQ_EVENT_CAM_DMA_R1_ERROR_A_INT 91
+#define CMDQ_EVENT_CAM_TG_OVRUN_B_INT 92
+#define CMDQ_EVENT_CAM_DMA_R1_ERROR_B_INT 93
+#define CMDQ_EVENT_CAM_TG_OVRUN_C_INT 94
+#define CMDQ_EVENT_CAM_DMA_R1_ERROR_C_INT 95
+#define CMDQ_EVENT_CAM_TG_OVRUN_INT 96
+#define CMDQ_EVENT_CAM_DMA_R1_ERROR_M0_INT 97
+#define CMDQ_EVENT_CAM_TG_GRABERR_M0_INT 98
+#define CMDQ_EVENT_CAM_TG_GRABERR_M1_INT 99
+#define CMDQ_EVENT_CAM_TG_GRABERR_A_INT 100
+#define CMDQ_EVENT_CAM_CQ_VR_SNAP_A_INT 101
+#define CMDQ_EVENT_CAM_TG_GRABERR_B_INT 102
+#define CMDQ_EVENT_CAM_CQ_VR_SNAP_B_INT 103
+#define CMDQ_EVENT_CAM_TG_GRABERR_C_INT 104
+#define CMDQ_EVENT_CAM_CQ_VR_SNAP_C_INT 105
+#define CMDQ_EVENT_CAM_PDA_IRQO_EVENT_DONE_D1 106
+#define CMDQ_EVENT_CAM_SENINF_CAM13_FIFO_FULL 107
+#define CMDQ_EVENT_CAM_SENINF_CAM14_FIFO_FULL 108
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_0 129
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_1 130
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_2 131
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_3 132
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_4 133
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_5 134
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_6 135
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_7 136
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_8 137
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_9 138
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_10 139
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_11 140
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_12 141
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_13 142
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_14 143
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_15 144
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_16 145
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_17 146
+#define CMDQ_EVENT_IMG1_DIP_FRAME_DONE_P2_18 147
+#define CMDQ_EVENT_IMG1_DIP_DMA_ERR_EVENT 148
+#define CMDQ_EVENT_IMG1_AMD_FRAME_DONE 149
+#define CMDQ_EVENT_IMG1_MFB_DONE_LINK_MISC 150
+#define CMDQ_EVENT_IMG1_WPE_A_DONE_LINK_MISC 151
+#define CMDQ_EVENT_IMG1_MSS_DONE_LINK_MISC 152
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_0 161
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_1 162
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_2 163
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_3 164
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_4 165
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_5 166
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_6 167
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_7 168
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_8 169
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_9 170
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_10 171
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_11 172
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_12 173
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_13 174
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_14 175
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_15 176
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_16 177
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_17 178
+#define CMDQ_EVENT_IMG2_DIP_FRAME_DONE_P2_18 179
+#define CMDQ_EVENT_IMG2_DIP_DMA_ERR_EVENT 180
+#define CMDQ_EVENT_IMG2_AMD_FRAME_DONE 181
+#define CMDQ_EVENT_IMG2_MFB_DONE_LINK_MISC 182
+#define CMDQ_EVENT_IMG2_WPE_A_DONE_LINK_MISC 183
+#define CMDQ_EVENT_IMG2_MSS_DONE_LINK_MISC 184
+#define CMDQ_EVENT_IPE_FDVT_DONE 193
+#define CMDQ_EVENT_IPE_FE_DONE 194
+#define CMDQ_EVENT_IPE_RSC_DONE 195
+#define CMDQ_EVENT_IPE_DVS_DONE_ASYNC_SHOT 196
+#define CMDQ_EVENT_IPE_DVP_DONE_ASYNC_SHOT 197
+
+#define CMDQ_EVENT_GCE_SMI_ALL_EVENT_0 898
+#define CMDQ_EVENT_GCE_SMI_ALL_EVENT_1 899
+#define CMDQ_EVENT_GCE_SMI_ALL_EVENT_2 900
+
+/* end of hw event and begin of sw token */
+#define CMDQ_MAX_HW_EVENT 512
+
+/* CMDQ sw tokens
+ * Following definitions are gce sw token which may use by clients
+ * event operation API.
+ * Note that token 512 to 639 may set secure
+ */
+
+/* begin of GCE-D sw token */
+/* MML sw tokens */
+#define CMDQ_SYNC_TOKEN_MML_BUFA 661
+#define CMDQ_SYNC_TOKEN_MML_BUFB 662
+#define CMDQ_SYNC_TOKEN_MML_BUF_NEXT 663
+#define CMDQ_SYNC_TOKEN_MML_IR_MML_READY 664
+#define CMDQ_SYNC_TOKEN_MML_IR_DISP_READY 665
+#define CMDQ_SYNC_TOKEN_MML_MML_STOP 666
+#define CMDQ_SYNC_TOKEN_MML_PIPE0 667
+#define CMDQ_SYNC_TOKEN_MML_PIPE1 668
+#define CMDQ_SYNC_TOKEN_MML_PIPE1_NEXT 669
+#define CMDQ_SYNC_TOKEN_MML_APU_START 670
+
+/* Config thread notify trigger thread */
+#define CMDQ_SYNC_TOKEN_CONFIG_DIRTY 640
+/* Trigger thread notify config thread */
+#define CMDQ_SYNC_TOKEN_STREAM_EOF 641
+/* Block Trigger thread until the ESD check finishes. */
+#define CMDQ_SYNC_TOKEN_ESD_EOF 642
+#define CMDQ_SYNC_TOKEN_STREAM_BLOCK 643
+/* check CABC setup finish */
+#define CMDQ_SYNC_TOKEN_CABC_EOF 644
+
+/*VFP period token for Msync*/
+#define CMDQ_SYNC_TOKEN_VFP_PERIOD 645
+/* SW sync token for dual display */
+#define CMDQ_SYNC_TOKEN_CONFIG_DIRTY_1 694
+#define CMDQ_SYNC_TOKEN_STREAM_EOF_1 695
+#define CMDQ_SYNC_TOKEN_ESD_EOF_1 696
+#define CMDQ_SYNC_TOKEN_STREAM_BLOCK_1 697
+#define CMDQ_SYNC_TOKEN_CABC_EOF_1 698
+
+/* GPR access tokens (for HW register backup)
+ * There are 15 32-bit GPR, 3 GPR form a set
+ * (64-bit for address, 32-bit for value)
+ * MUST NOT CHANGE, these tokens sync with MDP
+ */
+#define CMDQ_SYNC_TOKEN_GPR_SET_0 700
+#define CMDQ_SYNC_TOKEN_GPR_SET_1 701
+#define CMDQ_SYNC_TOKEN_GPR_SET_2 702
+#define CMDQ_SYNC_TOKEN_GPR_SET_3 703
+#define CMDQ_SYNC_TOKEN_GPR_SET_4 704
+
+#define CMDQ_SYNC_TOKEN_TE_0 705
+#define CMDQ_SYNC_TOKEN_PREFETCH_TE_0 706
+#define CMDQ_SYNC_TOKEN_VIDLE_POWER_ON 707
+#define CMDQ_SYNC_TOKEN_CHECK_TRIGGER_MERGE 708
+
+/* Resource lock event to control resource in GCE thread */
+#define CMDQ_SYNC_RESOURCE_WROT0 710
+#define CMDQ_SYNC_RESOURCE_WROT1 711
+
+/* HW TRACE sw token */
+#define CMDQ_SYNC_TOKEN_HW_TRACE_WAIT 712
+#define CMDQ_SYNC_TOKEN_HW_TRACE_LOCK 713
+
+/* SW sync token for dual display */
+#define CMDQ_SYNC_TOKEN_CONFIG_DIRTY_3 714
+#define CMDQ_SYNC_TOKEN_STREAM_EOF_3 715
+#define CMDQ_SYNC_TOKEN_ESD_EOF_3 716
+#define CMDQ_SYNC_TOKEN_STREAM_BLOCK_3 717
+#define CMDQ_SYNC_TOKEN_CABC_EOF_3 718
+/* end of GCE-D sw token */
+
+/* begin of GCE-M sw token */
+/* IMGSYS_POOL */
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_1 514
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_2 515
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_3 516
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_4 517
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_5 518
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_6 519
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_7 520
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_8 521
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_9 522
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_10 523
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_11 524
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_12 525
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_13 526
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_14 527
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_15 528
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_16 529
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_17 530
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_18 531
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_19 532
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_20 533
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_21 534
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_22 535
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_23 536
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_24 537
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_25 538
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_26 539
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_27 540
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_28 541
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_29 542
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_30 543
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_31 544
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_32 545
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_33 546
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_34 547
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_35 548
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_36 549
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_37 550
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_38 551
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_39 552
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_40 553
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_41 554
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_42 555
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_43 556
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_44 557
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_45 558
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_46 559
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_47 560
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_48 561
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_49 562
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_50 563
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_51 564
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_52 565
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_53 566
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_54 567
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_55 568
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_56 569
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_57 570
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_58 571
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_59 572
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_60 573
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_61 574
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_62 575
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_63 576
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_64 577
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_65 578
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_66 579
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_67 580
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_68 581
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_69 582
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_70 583
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_71 584
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_72 585
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_73 586
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_74 587
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_75 588
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_76 589
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_77 590
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_78 591
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_79 592
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_80 593
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_81 594
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_82 595
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_83 596
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_84 597
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_85 598
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_86 599
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_87 600
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_88 601
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_89 602
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_90 603
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_91 604
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_92 605
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_93 606
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_94 607
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_95 608
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_96 609
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_97 610
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_98 611
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_99 612
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_100 613
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_101 614
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_102 615
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_103 616
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_104 617
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_105 618
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_106 619
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_107 620
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_108 621
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_109 622
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_110 623
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_111 624
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_112 625
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_113 626
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_114 627
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_115 628
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_116 629
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_117 630
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_118 631
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_119 632
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_120 633
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_121 634
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_122 635
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_123 636
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_124 637
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_125 638
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_126 639
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_127 640
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_128 641
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_129 642
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_130 643
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_131 644
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_132 645
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_133 646
+
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_134 694
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_135 695
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_136 696
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_137 697
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_138 698
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_139 699
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_140 700
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_141 701
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_142 702
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_143 703
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_144 704
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_145 705
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_146 706
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_147 707
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_148 708
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_149 709
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_150 710
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_151 711
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_152 714
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_153 715
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_154 716
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_155 717
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_156 718
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_157 719
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_158 720
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_159 721
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_160 722
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_161 723
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_162 724
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_163 725
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_164 726
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_165 727
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_166 728
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_167 729
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_168 730
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_169 731
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_170 732
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_171 733
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_172 734
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_173 735
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_174 736
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_175 737
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_176 738
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_177 739
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_178 740
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_179 741
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_180 742
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_181 743
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_182 744
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_183 745
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_184 746
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_185 747
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_186 748
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_187 749
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_188 750
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_189 751
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_190 752
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_191 753
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_192 754
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_193 755
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_194 756
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_195 757
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_196 758
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_197 759
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_198 760
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_199 761
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_200 762
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_201 763
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_202 764
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_203 765
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_204 766
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_205 767
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_206 784
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_207 785
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_208 786
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_209 787
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_210 788
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_211 789
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_212 790
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_213 791
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_214 792
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_215 793
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_216 794
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_217 795
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_218 796
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_219 797
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_220 798
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_221 799
+
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_222 833
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_223 834
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_224 835
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_225 836
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_226 837
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_227 838
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_228 839
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_229 840
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_230 841
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_231 842
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_232 843
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_233 844
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_234 845
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_235 846
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_236 847
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_237 848
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_238 849
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_239 850
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_240 851
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_241 852
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_242 853
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_243 854
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_244 855
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_245 856
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_246 857
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_247 858
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_248 859
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_249 860
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_250 861
+
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_251 901
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_252 902
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_253 903
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_254 904
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_255 905
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_256 906
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_257 907
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_258 908
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_259 909
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_260 910
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_261 911
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_262 912
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_263 913
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_264 914
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_265 915
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_266 916
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_267 917
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_268 918
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_269 919
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_270 920
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_271 921
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_272 922
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_273 923
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_274 924
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_275 925
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_276 926
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_277 927
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_278 928
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_279 929
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_280 930
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_281 931
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_282 932
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_283 933
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_284 934
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_285 935
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_286 936
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_287 937
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_288 938
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_289 939
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_290 940
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_291 941
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_292 942
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_293 943
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_294 944
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_295 945
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_296 946
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_297 947
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_298 948
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_299 949
+#define CMDQ_SYNC_TOKEN_IMGSYS_POOL_300 950
+
+/* ISP sw token */
+#define CMDQ_SYNC_TOKEN_MSS 665
+#define CMDQ_SYNC_TOKEN_MSF 666
+/* end of GCE-M sw token */
+
+/* begin of common sw token */
+
+/* Notify normal CMDQ there are some secure task done
+ * MUST NOT CHANGE, this token sync with secure world
+ */
+#define CMDQ_SYNC_SECURE_THR_EOF 647
+
+/* CMDQ use sw token */
+#define CMDQ_SYNC_TOKEN_USER_0 649
+#define CMDQ_SYNC_TOKEN_USER_1 650
+#define CMDQ_SYNC_TOKEN_POLL_MONITOR 651
+#define CMDQ_SYNC_TOKEN_TPR_LOCK 652
+
+/* TZMP sw token */
+#define CMDQ_SYNC_TOKEN_TZMP_DISP_WAIT 653
+#define CMDQ_SYNC_TOKEN_TZMP_DISP_SET 654
+#define CMDQ_SYNC_TOKEN_TZMP_ISP_WAIT 655
+#define CMDQ_SYNC_TOKEN_TZMP_ISP_SET 656
+#define CMDQ_SYNC_TOKEN_TZMP_AIE_WAIT 657
+#define CMDQ_SYNC_TOKEN_TZMP_AIE_SET 658
+#define CMDQ_SYNC_TOKEN_TZMP_ADL_WAIT 659
+#define CMDQ_SYNC_TOKEN_TZMP_ADL_SET 660
+
+/* PREBUILT sw token */
+#define CMDQ_SYNC_TOKEN_PREBUILT_MDP_LOCK 682
+#define CMDQ_SYNC_TOKEN_PREBUILT_MML_LOCK 685
+#define CMDQ_SYNC_TOKEN_PREBUILT_VFMT_LOCK 688
+#define CMDQ_SYNC_TOKEN_PREBUILT_DISP_LOCK 691
+#define CMDQ_SYNC_TOKEN_DISP_VA_START 692
+#define CMDQ_SYNC_TOKEN_DISP_VA_END 693
+
+/* Notify normal CMDQ there are some secure task done
+ * MUST NOT CHANGE, this token sync with secure world
+ */
+#define CMDQ_SYNC_TOKEN_SECURE_THR_EOF 855
+
+/* sw token should use the unused event id from 0 to 1023 */
+#define CMDQ_SYNC_TOKEN_INVALID (-1)
+
+/* event for gpr timer, used in sleep and poll with timeout */
+#define CMDQ_TOKEN_GPR_TIMER_R0 994
+#define CMDQ_TOKEN_GPR_TIMER_R1 995
+#define CMDQ_TOKEN_GPR_TIMER_R2 996
+#define CMDQ_TOKEN_GPR_TIMER_R3 997
+#define CMDQ_TOKEN_GPR_TIMER_R4 998
+#define CMDQ_TOKEN_GPR_TIMER_R5 999
+#define CMDQ_TOKEN_GPR_TIMER_R6 1000
+#define CMDQ_TOKEN_GPR_TIMER_R7 1001
+#define CMDQ_TOKEN_GPR_TIMER_R8 1002
+#define CMDQ_TOKEN_GPR_TIMER_R9 1003
+#define CMDQ_TOKEN_GPR_TIMER_R10 1004
+#define CMDQ_TOKEN_GPR_TIMER_R11 1005
+#define CMDQ_TOKEN_GPR_TIMER_R12 1006
+#define CMDQ_TOKEN_GPR_TIMER_R13 1007
+#define CMDQ_TOKEN_GPR_TIMER_R14 1008
+#define CMDQ_TOKEN_GPR_TIMER_R15 1009
+
+#define CMDQ_EVENT_MAX 0x3ff
+/* end of common sw token */
+/* CMDQ sw tokens END */
+
+#endif
--
2.46.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 3/4] mailbox: mtk-cmdq: Add CMDQ driver support for mt8189
2025-08-20 9:38 [PATCH v4 0/4] Add CMDQ driver support for 8189 Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 1/4] dt-bindings: mailbox: add cmdq yaml for MT8189 Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 2/4] arm64: dts: mediatek: Add GCE header for mt8189 Xiandong Wang
@ 2025-08-20 9:38 ` Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 4/4] mailbox: mtk-cmdq: Fix clock handling using clk_bulk_prepare_enable Xiandong Wang
3 siblings, 0 replies; 6+ messages in thread
From: Xiandong Wang @ 2025-08-20 9:38 UTC (permalink / raw)
To: Jassi Brar, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Yongqiang Niu
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
sirius.wang, vince-wl.liu, jh.hsu,
Project_Global_Chrome_Upstream_Group, Xiandong Wang
Add CMDQ driver support for mt8189 by adding its compatible and
driver data in CMDQ driver.
These changes ensure correct GCE operation for MT8189.
Signed-off-by: Xiandong Wang <xiandong.wang@mediatek.com>
---
drivers/mailbox/mtk-cmdq-mailbox.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
index a0f1616d9e42..54d008ebdf33 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -838,6 +838,15 @@ static const struct gce_plat gce_plat_mt8188 = {
.gce_num = 2
};
+static const struct gce_plat gce_plat_mt8189 = {
+ .thread_nr = 32,
+ .shift = 3,
+ .mminfra_offset = 0x40000000, /* 1GB */
+ .control_by_sw = false,
+ .sw_ddr_en = true,
+ .gce_num = 2
+};
+
static const struct gce_plat gce_plat_mt8192 = {
.thread_nr = 24,
.shift = 3,
@@ -858,6 +867,7 @@ static const struct of_device_id cmdq_of_ids[] = {
{.compatible = "mediatek,mt8183-gce", .data = (void *)&gce_plat_mt8183},
{.compatible = "mediatek,mt8186-gce", .data = (void *)&gce_plat_mt8186},
{.compatible = "mediatek,mt8188-gce", .data = (void *)&gce_plat_mt8188},
+ {.compatible = "mediatek,mt8189-gce", .data = (void *)&gce_plat_mt8189},
{.compatible = "mediatek,mt8192-gce", .data = (void *)&gce_plat_mt8192},
{.compatible = "mediatek,mt8195-gce", .data = (void *)&gce_plat_mt8195},
{}
--
2.46.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 4/4] mailbox: mtk-cmdq: Fix clock handling using clk_bulk_prepare_enable
2025-08-20 9:38 [PATCH v4 0/4] Add CMDQ driver support for 8189 Xiandong Wang
` (2 preceding siblings ...)
2025-08-20 9:38 ` [PATCH v4 3/4] mailbox: mtk-cmdq: Add CMDQ driver support " Xiandong Wang
@ 2025-08-20 9:38 ` Xiandong Wang
3 siblings, 0 replies; 6+ messages in thread
From: Xiandong Wang @ 2025-08-20 9:38 UTC (permalink / raw)
To: Jassi Brar, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Yongqiang Niu
Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
sirius.wang, vince-wl.liu, jh.hsu,
Project_Global_Chrome_Upstream_Group, Xiandong Wang
On MT8189, the GCE clock is mounted on the MMInfra clock, so it is
necessary to enable or disable the parent clock before handling the GCE
clock to ensure correct switching for GCE usage.
Replace clk_bulk_enable and clk_bulk_disable with
clk_bulk_prepare_enable and clk_bulk_disable_unprepare in suspend and
resume, so both the module clock and its parent clock can be enabled or
disabled properly.
This change modifies the clock API used for suspend and resume
to ensure correct module and parent clock handling on MT8189.
Signed-off-by: Xiandong Wang <xiandong.wang@mediatek.com>
---
drivers/mailbox/mtk-cmdq-mailbox.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
index 54d008ebdf33..98c9742ea6f4 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -211,7 +211,7 @@ static void cmdq_init(struct cmdq *cmdq)
{
int i;
- WARN_ON(clk_bulk_enable(cmdq->pdata->gce_num, cmdq->clocks));
+ WARN_ON(clk_bulk_prepare_enable(cmdq->pdata->gce_num, cmdq->clocks));
cmdq_vm_toggle(cmdq, true);
cmdq_gctl_value_toggle(cmdq, true);
@@ -219,7 +219,7 @@ static void cmdq_init(struct cmdq *cmdq)
writel(CMDQ_THR_ACTIVE_SLOT_CYCLES, cmdq->base + CMDQ_THR_SLOT_CYCLES);
for (i = 0; i <= CMDQ_MAX_EVENT; i++)
writel(i, cmdq->base + CMDQ_SYNC_TOKEN_UPDATE);
- clk_bulk_disable(cmdq->pdata->gce_num, cmdq->clocks);
+ clk_bulk_disable_unprepare(cmdq->pdata->gce_num, cmdq->clocks);
}
static int cmdq_thread_reset(struct cmdq *cmdq, struct cmdq_thread *thread)
@@ -383,7 +383,7 @@ static int cmdq_runtime_resume(struct device *dev)
struct cmdq *cmdq = dev_get_drvdata(dev);
int ret;
- ret = clk_bulk_enable(cmdq->pdata->gce_num, cmdq->clocks);
+ ret = clk_bulk_prepare_enable(cmdq->pdata->gce_num, cmdq->clocks);
if (ret)
return ret;
@@ -398,7 +398,7 @@ static int cmdq_runtime_suspend(struct device *dev)
cmdq_gctl_value_toggle(cmdq, false);
cmdq_vm_toggle(cmdq, false);
- clk_bulk_disable(cmdq->pdata->gce_num, cmdq->clocks);
+ clk_bulk_disable_unprepare(cmdq->pdata->gce_num, cmdq->clocks);
return 0;
}
@@ -437,12 +437,8 @@ static int cmdq_resume(struct device *dev)
static void cmdq_remove(struct platform_device *pdev)
{
- struct cmdq *cmdq = platform_get_drvdata(pdev);
-
if (!IS_ENABLED(CONFIG_PM))
cmdq_runtime_suspend(&pdev->dev);
-
- clk_bulk_unprepare(cmdq->pdata->gce_num, cmdq->clocks);
}
static int cmdq_mbox_send_data(struct mbox_chan *chan, void *data)
@@ -761,8 +757,6 @@ static int cmdq_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, cmdq);
- WARN_ON(clk_bulk_prepare(cmdq->pdata->gce_num, cmdq->clocks));
-
cmdq_init(cmdq);
err = devm_request_irq(dev, cmdq->irq, cmdq_irq_handler, IRQF_SHARED,
--
2.46.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v4 1/4] dt-bindings: mailbox: add cmdq yaml for MT8189
2025-08-20 9:38 ` [PATCH v4 1/4] dt-bindings: mailbox: add cmdq yaml for MT8189 Xiandong Wang
@ 2025-08-20 19:46 ` Conor Dooley
0 siblings, 0 replies; 6+ messages in thread
From: Conor Dooley @ 2025-08-20 19:46 UTC (permalink / raw)
To: Xiandong Wang
Cc: Jassi Brar, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, Yongqiang Niu,
linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
sirius.wang, vince-wl.liu, jh.hsu,
Project_Global_Chrome_Upstream_Group
[-- Attachment #1: Type: text/plain, Size: 1067 bytes --]
On Wed, Aug 20, 2025 at 05:38:20PM +0800, Xiandong Wang wrote:
> Add compatible string to support cmdq for MT8189.
>
> Signed-off-by: Xiandong Wang <xiandong.wang@mediatek.com>
Please look at https://lore.kernel.org/all/20250819-coliseum-unsheathe-0c12a58e65e0@spud/
and reply.
> ---
> .../devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml b/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
> index 73d6db34d64a..f9718b90d36a 100644
> --- a/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
> +++ b/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
> @@ -23,6 +23,7 @@ properties:
> - mediatek,mt8183-gce
> - mediatek,mt8186-gce
> - mediatek,mt8188-gce
> + - mediatek,mt8189-gce
> - mediatek,mt8192-gce
> - mediatek,mt8195-gce
> - mediatek,mt8196-gce
> --
> 2.46.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-08-20 19:46 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-20 9:38 [PATCH v4 0/4] Add CMDQ driver support for 8189 Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 1/4] dt-bindings: mailbox: add cmdq yaml for MT8189 Xiandong Wang
2025-08-20 19:46 ` Conor Dooley
2025-08-20 9:38 ` [PATCH v4 2/4] arm64: dts: mediatek: Add GCE header for mt8189 Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 3/4] mailbox: mtk-cmdq: Add CMDQ driver support " Xiandong Wang
2025-08-20 9:38 ` [PATCH v4 4/4] mailbox: mtk-cmdq: Fix clock handling using clk_bulk_prepare_enable Xiandong Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).