Skip to content

Commit a140000

Browse files
Jason-JH Linpull[bot]
authored andcommitted
drm/mediatek: Add pm_runtime support for GCE power control
Call pm_runtime_resume_and_get() before accessing GCE hardware in mbox_send_message(), and invoke pm_runtime_put_autosuspend() in the cmdq callback to release the PM reference and start autosuspend for GCE. This ensures correct power management for the GCE device. Fixes: 8afe816 ("mailbox: mtk-cmdq-mailbox: Implement Runtime PM with autosuspend") Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com> Reviewed-by: CK Hu <ck.hu@mediatek.com> Link: https://patchwork.kernel.org/project/dri-devel/patch/20250829091727.3745415-3-jason-jh.lin@mediatek.com/ Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
1 parent ca8e438 commit a140000

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

drivers/gpu/drm/mediatek/mtk_crtc.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,10 @@ static void ddp_cmdq_cb(struct mbox_client *cl, void *mssg)
283283
unsigned int i;
284284
unsigned long flags;
285285

286+
/* release GCE HW usage and start autosuspend */
287+
pm_runtime_mark_last_busy(cmdq_cl->chan->mbox->dev);
288+
pm_runtime_put_autosuspend(cmdq_cl->chan->mbox->dev);
289+
286290
if (data->sta < 0)
287291
return;
288292

@@ -618,6 +622,9 @@ static void mtk_crtc_update_config(struct mtk_crtc *mtk_crtc, bool needs_vblank)
618622
mtk_crtc->config_updating = false;
619623
spin_unlock_irqrestore(&mtk_crtc->config_lock, flags);
620624

625+
if (pm_runtime_resume_and_get(mtk_crtc->cmdq_client.chan->mbox->dev) < 0)
626+
goto update_config_out;
627+
621628
mbox_send_message(mtk_crtc->cmdq_client.chan, cmdq_handle);
622629
mbox_client_txdone(mtk_crtc->cmdq_client.chan, 0);
623630
goto update_config_out;

0 commit comments

Comments
 (0)