Add cmdq_mbox_stop to disable GCE thread. To support the error handling or the stop flow of the GCE loopping thread, lopping thread user can call cmdq_mbox_stop to disable the GCE HW thread.
Signed-off-by: Jason-JH.Lin <jason-jh....@mediatek.com> --- drivers/mailbox/mtk-cmdq-mailbox.c | 6 ++++++ include/linux/mailbox/mtk-cmdq-mailbox.h | 1 + 2 files changed, 7 insertions(+) diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c index 4d62b07c1411..8bd39fecbf00 100644 --- a/drivers/mailbox/mtk-cmdq-mailbox.c +++ b/drivers/mailbox/mtk-cmdq-mailbox.c @@ -469,6 +469,12 @@ static void cmdq_mbox_shutdown(struct mbox_chan *chan) spin_unlock_irqrestore(&thread->chan->lock, flags); } +void cmdq_mbox_stop(struct mbox_chan *chan) +{ + cmdq_mbox_shutdown(chan); +} +EXPORT_SYMBOL(cmdq_mbox_stop); + static int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long timeout) { struct cmdq_thread *thread = (struct cmdq_thread *)chan->con_priv; diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h index a8f0070c7aa9..f3e577335acb 100644 --- a/include/linux/mailbox/mtk-cmdq-mailbox.h +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h @@ -79,5 +79,6 @@ struct cmdq_pkt { }; u8 cmdq_get_shift_pa(struct mbox_chan *chan); +void cmdq_mbox_stop(struct mbox_chan *chan); #endif /* __MTK_CMDQ_MAILBOX_H__ */ -- 2.18.0