On 30/01/2021 10:45, Chun-Kuang Hu wrote: > Hi, Matthias: > > Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx> 於 2021年1月10日 週日 上午6:59寫道: >> >> Hi, Matthias: >> >> Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx> 於 2020年12月3日 週四 上午7:59寫道: >>> >>> rx_callback is a standard mailbox callback mechanism and could >>> cover the function of proprietary cmdq_task_cb, so it is better >>> to use the standard one instead of the proprietary one. But >>> register rx_callback should before mbox_request_channel(), >>> so remove cmdq_pkt_flush() and let client driver implement >>> its own synchronous flush. >> >> How do you think about this patch? This patch is derived from [1] >> according to Jassi's suggestion [2]. >> >> [1] https://patchwork.kernel.org/project/linux-mediatek/patch/20200927230422.11610-3-chunkuang.hu@xxxxxxxxxx/ >> [2] https://patchwork.kernel.org/project/linux-mediatek/cover/20200927230422.11610-1-chunkuang.hu@xxxxxxxxxx/ > > Just a ping. > Applied now to v5.11-next/soc Sorry for the delay. Matthias > Regards, > Chun-Kuang. > >> >> Regards, >> Chun-Kuang. >> >>> >>> Signed-off-by: Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx> >>> --- >>> drivers/soc/mediatek/mtk-cmdq-helper.c | 32 -------------------------- >>> include/linux/soc/mediatek/mtk-cmdq.h | 12 ---------- >>> 2 files changed, 44 deletions(-) >>> >>> diff --git a/drivers/soc/mediatek/mtk-cmdq-helper.c b/drivers/soc/mediatek/mtk-cmdq-helper.c >>> index 505651b0d715..fd3bc39538a1 100644 >>> --- a/drivers/soc/mediatek/mtk-cmdq-helper.c >>> +++ b/drivers/soc/mediatek/mtk-cmdq-helper.c >>> @@ -502,36 +502,4 @@ int cmdq_pkt_flush_async(struct cmdq_pkt *pkt, cmdq_async_flush_cb cb, >>> } >>> EXPORT_SYMBOL(cmdq_pkt_flush_async); >>> >>> -struct cmdq_flush_completion { >>> - struct completion cmplt; >>> - bool err; >>> -}; >>> - >>> -static void cmdq_pkt_flush_cb(struct cmdq_cb_data data) >>> -{ >>> - struct cmdq_flush_completion *cmplt; >>> - >>> - cmplt = (struct cmdq_flush_completion *)data.data; >>> - if (data.sta != CMDQ_CB_NORMAL) >>> - cmplt->err = true; >>> - else >>> - cmplt->err = false; >>> - complete(&cmplt->cmplt); >>> -} >>> - >>> -int cmdq_pkt_flush(struct cmdq_pkt *pkt) >>> -{ >>> - struct cmdq_flush_completion cmplt; >>> - int err; >>> - >>> - init_completion(&cmplt.cmplt); >>> - err = cmdq_pkt_flush_async(pkt, cmdq_pkt_flush_cb, &cmplt); >>> - if (err < 0) >>> - return err; >>> - wait_for_completion(&cmplt.cmplt); >>> - >>> - return cmplt.err ? -EFAULT : 0; >>> -} >>> -EXPORT_SYMBOL(cmdq_pkt_flush); >>> - >>> MODULE_LICENSE("GPL v2"); >>> diff --git a/include/linux/soc/mediatek/mtk-cmdq.h b/include/linux/soc/mediatek/mtk-cmdq.h >>> index 960704d75994..2c6aa84c0e80 100644 >>> --- a/include/linux/soc/mediatek/mtk-cmdq.h >>> +++ b/include/linux/soc/mediatek/mtk-cmdq.h >>> @@ -288,16 +288,4 @@ int cmdq_pkt_finalize(struct cmdq_pkt *pkt); >>> int cmdq_pkt_flush_async(struct cmdq_pkt *pkt, cmdq_async_flush_cb cb, >>> void *data); >>> >>> -/** >>> - * cmdq_pkt_flush() - trigger CMDQ to execute the CMDQ packet >>> - * @pkt: the CMDQ packet >>> - * >>> - * Return: 0 for success; else the error code is returned >>> - * >>> - * Trigger CMDQ to execute the CMDQ packet. Note that this is a >>> - * synchronous flush function. When the function returned, the recorded >>> - * commands have been done. >>> - */ >>> -int cmdq_pkt_flush(struct cmdq_pkt *pkt); >>> - >>> #endif /* __MTK_CMDQ_H__ */ >>> -- >>> 2.17.1 >>> _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel