mailbox: mtk-cmdq: Remove proprietary cmdq_task_cb
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@kernel.org> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
This commit is contained in:
parent
e0dccc3b76
commit
d9c26e0a58
|
@ -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)
|
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;
|
struct cmdq_cb_data data;
|
||||||
|
|
||||||
data.sta = sta;
|
data.sta = sta;
|
||||||
data.data = cb->data;
|
|
||||||
data.pkt = task->pkt;
|
data.pkt = task->pkt;
|
||||||
if (cb->cb)
|
|
||||||
cb->cb(data);
|
|
||||||
|
|
||||||
mbox_chan_received_data(task->thread->chan, &data);
|
mbox_chan_received_data(task->thread->chan, &data);
|
||||||
|
|
||||||
list_del(&task->list_entry);
|
list_del(&task->list_entry);
|
||||||
|
@ -448,7 +443,6 @@ done:
|
||||||
static int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long timeout)
|
static int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long timeout)
|
||||||
{
|
{
|
||||||
struct cmdq_thread *thread = (struct cmdq_thread *)chan->con_priv;
|
struct cmdq_thread *thread = (struct cmdq_thread *)chan->con_priv;
|
||||||
struct cmdq_task_cb *cb;
|
|
||||||
struct cmdq_cb_data data;
|
struct cmdq_cb_data data;
|
||||||
struct cmdq *cmdq = dev_get_drvdata(chan->mbox->dev);
|
struct cmdq *cmdq = dev_get_drvdata(chan->mbox->dev);
|
||||||
struct cmdq_task *task, *tmp;
|
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_for_each_entry_safe(task, tmp, &thread->task_busy_list,
|
||||||
list_entry) {
|
list_entry) {
|
||||||
cb = &task->pkt->async_cb;
|
|
||||||
data.sta = -ECONNABORTED;
|
data.sta = -ECONNABORTED;
|
||||||
data.data = cb->data;
|
|
||||||
data.pkt = task->pkt;
|
data.pkt = task->pkt;
|
||||||
if (cb->cb)
|
|
||||||
cb->cb(data);
|
|
||||||
|
|
||||||
mbox_chan_received_data(task->thread->chan, &data);
|
mbox_chan_received_data(task->thread->chan, &data);
|
||||||
list_del(&task->list_entry);
|
list_del(&task->list_entry);
|
||||||
kfree(task);
|
kfree(task);
|
||||||
|
|
|
@ -67,24 +67,14 @@ enum cmdq_code {
|
||||||
|
|
||||||
struct cmdq_cb_data {
|
struct cmdq_cb_data {
|
||||||
int sta;
|
int sta;
|
||||||
void *data;
|
|
||||||
struct cmdq_pkt *pkt;
|
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 {
|
struct cmdq_pkt {
|
||||||
void *va_base;
|
void *va_base;
|
||||||
dma_addr_t pa_base;
|
dma_addr_t pa_base;
|
||||||
size_t cmd_buf_size; /* command occupied size */
|
size_t cmd_buf_size; /* command occupied size */
|
||||||
size_t buf_size; /* real buffer size */
|
size_t buf_size; /* real buffer size */
|
||||||
struct cmdq_task_cb cb;
|
|
||||||
struct cmdq_task_cb async_cb;
|
|
||||||
void *cl;
|
void *cl;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue