Re: [PATCH 1/3] mailbox: mtk-cmdq: Remove cmdq_cb_status
From: Yongqiang Niu
Date: Wed May 26 2021 - 02:51:35 EST
Reviewed-by: Yongqiang Niu <yongqiang.niu@xxxxxxxxxxxx>
On Wed, 2021-05-26 at 14:15 +0800, Chun-Kuang Hu wrote:
> + Yongqiang
>
> Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx> 於 2021年3月15日 週一 上午7:33寫道:
> >
> > cmdq_cb_status is an error status. Use the standard error number
> > instead of cmdq_cb_status to prevent status duplication.
> >
> > Cc: Jassi Brar <jassisinghbrar@xxxxxxxxx>
> > Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx>
> > Cc: Houlong Wei <houlong.wei@xxxxxxxxxxxx>
> > Cc: Bibby Hsieh <bibby.hsieh@xxxxxxxxxxxx>
> > Cc: Dennis YC Hsieh <dennis-yc.hsieh@xxxxxxxxxxxx>
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> > Cc: linux-mediatek@xxxxxxxxxxxxxxxxxxx
> > Signed-off-by: Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx>
> > ---
> > drivers/mailbox/mtk-cmdq-mailbox.c | 10 +++++-----
> > include/linux/mailbox/mtk-cmdq-mailbox.h | 7 +------
> > 2 files changed, 6 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
> > index 5665b6ea8119..3d37c1cd40f1 100644
> > --- a/drivers/mailbox/mtk-cmdq-mailbox.c
> > +++ b/drivers/mailbox/mtk-cmdq-mailbox.c
> > @@ -180,7 +180,7 @@ static bool cmdq_thread_is_in_wfe(struct cmdq_thread *thread)
> > return readl(thread->base + CMDQ_THR_WAIT_TOKEN) & CMDQ_THR_IS_WAITING;
> > }
> >
> > -static void cmdq_task_exec_done(struct cmdq_task *task, enum cmdq_cb_status sta)
> > +static void cmdq_task_exec_done(struct cmdq_task *task, int sta)
> > {
> > struct cmdq_task_cb *cb = &task->pkt->async_cb;
> > struct cmdq_cb_data data;
> > @@ -244,10 +244,10 @@ static void cmdq_thread_irq_handler(struct cmdq *cmdq,
> > curr_task = task;
> >
> > if (!curr_task || curr_pa == task_end_pa - CMDQ_INST_SIZE) {
> > - cmdq_task_exec_done(task, CMDQ_CB_NORMAL);
> > + cmdq_task_exec_done(task, 0);
> > kfree(task);
> > } else if (err) {
> > - cmdq_task_exec_done(task, CMDQ_CB_ERROR);
> > + cmdq_task_exec_done(task, -ENOEXEC);
> > cmdq_task_handle_error(curr_task);
> > kfree(task);
> > }
> > @@ -415,7 +415,7 @@ static void cmdq_mbox_shutdown(struct mbox_chan *chan)
> >
> > list_for_each_entry_safe(task, tmp, &thread->task_busy_list,
> > list_entry) {
> > - cmdq_task_exec_done(task, CMDQ_CB_ERROR);
> > + cmdq_task_exec_done(task, -ECONNABORTED);
> > kfree(task);
> > }
> >
> > @@ -453,7 +453,7 @@ static int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long timeout)
> > list_entry) {
> > cb = &task->pkt->async_cb;
> > if (cb->cb) {
> > - data.sta = CMDQ_CB_ERROR;
> > + data.sta = -ECONNABORTED;
> > data.data = cb->data;
> > cb->cb(data);
> > }
> > diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > index d5a983d65f05..2f7d9a37d611 100644
> > --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> > +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> > @@ -65,13 +65,8 @@ enum cmdq_code {
> > CMDQ_CODE_LOGIC = 0xa0,
> > };
> >
> > -enum cmdq_cb_status {
> > - CMDQ_CB_NORMAL = 0,
> > - CMDQ_CB_ERROR
> > -};
> > -
> > struct cmdq_cb_data {
> > - enum cmdq_cb_status sta;
> > + int sta;
> > void *data;
> > };
> >
> > --
> > 2.17.1
> >