cl in struct cmdq_pkt is used to store struct cmdq_client, but every client driver has the struct cmdq_client information, so it's not necessary to store struct cmdq_client in struct cmdq_pkt. Because mailbox maintainer do not like to mix mailbox patch with other patches in a series, so mailbox patch [1] would be sent independently. Changes in v2: 1. Fix typo of CMDQ_JUMP_RELATIVE 2. Refine cmdq_pkt_create() and cmdq_pkt_destroy() 3. Rename cmdq_pkt_jump() to cmdq_pkt_jump_abs() 4. Add cmdq_pkt_jump_rel() helper function 5. drm/mediatek: Use cmdq_pkt_create() and cmdq_pkt_destroy() 6. mtk-mdp3: Get fine-grain control of cmdq_pkt_finalize() 7. mtk-mdp3: Use cmdq_pkt_create() and cmdq_pkt_destroy() [1] https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux.git/commit/?h=mediatek-cmdq8&id=a1b2f7a7488285975c1f439086f1c4cc51a13bb9 Chun-Kuang Hu (12): soc: mediatek: cmdq: Fix typo of CMDQ_JUMP_RELATIVE soc: mediatek: cmdq: Add parameter shift_pa to cmdq_pkt_jump() soc: mediatek: cmdq: Rename cmdq_pkt_jump() to cmdq_pkt_jump_abs() soc: mediatek: cmdq: Add cmdq_pkt_jump_rel() helper function soc: mediatek: cmdq: Add cmdq_pkt_eoc() helper function soc: mediatek: cmdq: Remove cmdq_pkt_flush_async() helper function soc: mediatek: cmdq: Refine cmdq_pkt_create() and cmdq_pkt_destroy() drm/mediatek: Use cmdq_pkt_eoc() instead of cmdq_pkt_finalize() drm/mediatek: Use cmdq_pkt_create() and cmdq_pkt_destroy() media: platform: mtk-mdp3: Get fine-grain control of cmdq_pkt_finalize() media: platform: mtk-mdp3: Use cmdq_pkt_create() and cmdq_pkt_destroy() soc: mediatek: cmdq: Remove cmdq_pkt_finalize() helper function drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 48 ++---------- .../platform/mediatek/mdp3/mtk-mdp3-cmdq.c | 48 ++---------- .../platform/mediatek/mdp3/mtk-mdp3-core.c | 2 + .../platform/mediatek/mdp3/mtk-mdp3-core.h | 1 + drivers/soc/mediatek/mtk-cmdq-helper.c | 73 ++++++------------- include/linux/soc/mediatek/mtk-cmdq.h | 60 +++++++++------ 6 files changed, 73 insertions(+), 159 deletions(-) -- 2.34.1