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

Matthias Brugger matthias.bgg at gmail.com
Sun Jan 31 06:38:25 EST 2021



On 30/01/2021 10:45, Chun-Kuang Hu wrote:
> 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.
> 

Applied now to v5.11-next/soc

Sorry for the delay.
Matthias

> 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 Linux-mediatek mailing list