summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-Kuang Hu <chunkuang.hu@kernel.org>2021-03-15 07:33:23 +0800
committerJassi Brar <jaswinder.singh@linaro.org>2021-06-26 11:40:20 -0500
commit8ebc3b5aa4cfafd8b9d58e2595a12f0715594619 (patch)
treeb1f07829b2126209721a9b92ac9514236aa986f2
parent1b6b0ce2240e717bd5839cc106a0bf6cdbac9abc (diff)
mailbox: mtk-cmdq: Add struct cmdq_pkt in struct cmdq_cb_data
Current client use 'struct cmdq_pkt' as callback data, so change 'void *data' to 'struct cmdq_pkt *pkt'. Keep data until client use pkt instead of data. Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> Reviewed-by: Yongqiang Niu <yongqiang.niu@mediatek.com> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
-rw-r--r--drivers/mailbox/mtk-cmdq-mailbox.c2
-rw-r--r--include/linux/mailbox/mtk-cmdq-mailbox.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
index 7dfd0c9d7bbd..301e65b9527a 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -188,6 +188,7 @@ static void cmdq_task_exec_done(struct cmdq_task *task, int sta)
WARN_ON(cb->cb == (cmdq_async_flush_cb)NULL);
data.sta = sta;
data.data = cb->data;
+ data.pkt = task->pkt;
if (cb->cb)
cb->cb(data);
@@ -456,6 +457,7 @@ static int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long timeout)
list_entry) {
data.sta = -ECONNABORTED;
data.data = cb->data;
+ data.pkt = task->pkt;
cb = &task->pkt->async_cb;
if (cb->cb)
cb->cb(data);
diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
index 2f7d9a37d611..44365aab043c 100644
--- a/include/linux/mailbox/mtk-cmdq-mailbox.h
+++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
@@ -68,6 +68,7 @@ enum cmdq_code {
struct cmdq_cb_data {
int sta;
void *data;
+ struct cmdq_pkt *pkt;
};
typedef void (*cmdq_async_flush_cb)(struct cmdq_cb_data data);