[PATCH] soc: mediatek: cmdq: Remove cmdq_pkt_flush()

Chun-Kuang Hu chunkuang.hu at kernel.org
Sat Jan 30 09:45:37 UTC 2021


Hi, Matthias:

Chun-Kuang Hu <chunkuang.hu at kernel.org> 於 2021年1月10日 週日 上午6:59寫道:
>
> Hi, Matthias:
>
> Chun-Kuang Hu <chunkuang.hu at kernel.org> 於 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@kernel.org/
> [2] https://patchwork.kernel.org/project/linux-mediatek/cover/20200927230422.11610-1-chunkuang.hu@kernel.org/

Just a ping.

Regards,
Chun-Kuang.

>
> Regards,
> Chun-Kuang.
>
> >
> > Signed-off-by: Chun-Kuang Hu <chunkuang.hu at kernel.org>
> > ---
> >  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
> >


More information about the dri-devel mailing list