soc: mediatek: cmdq: Remove cmdq_pkt_flush()
authorChun-Kuang Hu <chunkuang.hu@kernel.org>
Wed, 2 Dec 2020 23:58:55 +0000 (07:58 +0800)
committerMatthias Brugger <matthias.bgg@gmail.com>
Sun, 31 Jan 2021 11:35:46 +0000 (12:35 +0100)
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.

Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Link: https://lore.kernel.org/r/20201202235856.7652-1-chunkuang.hu@kernel.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
drivers/soc/mediatek/mtk-cmdq-helper.c
include/linux/soc/mediatek/mtk-cmdq.h

index 280d3bd..3c8e421 100644 (file)
@@ -463,36 +463,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");
index 8e99966..ac6b5f3 100644 (file)
@@ -280,16 +280,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__ */