[PATCH] mailbox: mtk-cmdq: Remove proprietary cmdq_task_cb

moudy.ho moudy.ho at mediatek.com
Thu Jun 9 19:49:49 PDT 2022


On Wed, 2022-06-08 at 22:40 +0800, Chun-Kuang Hu wrote:
> rx_callback is a standard mailbox callback mechanism and could cover
> the
> function of proprietary cmdq_task_cb, so use the standard one instead
> of
> the proprietary one. Client driver has changed to use standard
> rx_callback, so remove proprietary cmdq_task_cb.
> 
> Signed-off-by: Chun-Kuang Hu <chunkuang.hu at kernel.org>

Depends on: 

https://patchwork.kernel.org/project/linux-mediatek/patch/1650102868-26219-1-git-send-email-chunkuang.hu@kernel.org/

Tested-by: Moudy Ho <Moudy.Ho at mediatek.com>

> ---
>  drivers/mailbox/mtk-cmdq-mailbox.c       | 11 -----------
>  include/linux/mailbox/mtk-cmdq-mailbox.h | 10 ----------
>  2 files changed, 21 deletions(-)
> 
> diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c
> b/drivers/mailbox/mtk-cmdq-mailbox.c
> index 2578e5aaa935..9465f9081515 100644
> --- a/drivers/mailbox/mtk-cmdq-mailbox.c
> +++ b/drivers/mailbox/mtk-cmdq-mailbox.c
> @@ -192,15 +192,10 @@ static bool cmdq_thread_is_in_wfe(struct
> cmdq_thread *thread)
>  
>  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;
>  
>  	data.sta = sta;
> -	data.data = cb->data;
>  	data.pkt = task->pkt;
> -	if (cb->cb)
> -		cb->cb(data);
> -
>  	mbox_chan_received_data(task->thread->chan, &data);
>  
>  	list_del(&task->list_entry);
> @@ -448,7 +443,6 @@ static void cmdq_mbox_shutdown(struct mbox_chan
> *chan)
>  static int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long
> timeout)
>  {
>  	struct cmdq_thread *thread = (struct cmdq_thread *)chan-
> >con_priv;
> -	struct cmdq_task_cb *cb;
>  	struct cmdq_cb_data data;
>  	struct cmdq *cmdq = dev_get_drvdata(chan->mbox->dev);
>  	struct cmdq_task *task, *tmp;
> @@ -465,13 +459,8 @@ static int cmdq_mbox_flush(struct mbox_chan
> *chan, unsigned long timeout)
>  
>  	list_for_each_entry_safe(task, tmp, &thread->task_busy_list,
>  				 list_entry) {
> -		cb = &task->pkt->async_cb;
>  		data.sta = -ECONNABORTED;
> -		data.data = cb->data;
>  		data.pkt = task->pkt;
> -		if (cb->cb)
> -			cb->cb(data);
> -
>  		mbox_chan_received_data(task->thread->chan, &data);
>  		list_del(&task->list_entry);
>  		kfree(task);
> diff --git a/include/linux/mailbox/mtk-cmdq-mailbox.h
> b/include/linux/mailbox/mtk-cmdq-mailbox.h
> index 44365aab043c..a8f0070c7aa9 100644
> --- a/include/linux/mailbox/mtk-cmdq-mailbox.h
> +++ b/include/linux/mailbox/mtk-cmdq-mailbox.h
> @@ -67,24 +67,14 @@ 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);
> -
> -struct cmdq_task_cb {
> -	cmdq_async_flush_cb	cb;
> -	void			*data;
> -};
> -
>  struct cmdq_pkt {
>  	void			*va_base;
>  	dma_addr_t		pa_base;
>  	size_t			cmd_buf_size; /* command occupied
> size */
>  	size_t			buf_size; /* real buffer size */
> -	struct cmdq_task_cb	cb;
> -	struct cmdq_task_cb	async_cb;
>  	void			*cl;
>  };
>  




More information about the Linux-mediatek mailing list