Commit 472f8a3f authored by Sakari Ailus's avatar Sakari Ailus Committed by Jassi Brar
Browse files

mailbox: mtk-cmdq: Switch to pm_runtime_put_autosuspend()



__pm_runtime_put_autosuspend() was meant to be used by callers that needed
to put the Runtime PM usage_count without marking the device's last busy
timestamp. It was however seen that the Runtime PM autosuspend related
functions should include that call. Thus switch the driver to
use pm_runtime_put_autosuspend().

Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarJassi Brar <jassisinghbrar@gmail.com>
parent 4df9c0a2
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -390,7 +390,7 @@ static int cmdq_mbox_send_data(struct mbox_chan *chan, void *data)

	task = kzalloc(sizeof(*task), GFP_ATOMIC);
	if (!task) {
		__pm_runtime_put_autosuspend(cmdq->mbox.dev);
		pm_runtime_put_autosuspend(cmdq->mbox.dev);
		return -ENOMEM;
	}

@@ -440,7 +440,7 @@ static int cmdq_mbox_send_data(struct mbox_chan *chan, void *data)
	list_move_tail(&task->list_entry, &thread->task_busy_list);

	pm_runtime_mark_last_busy(cmdq->mbox.dev);
	__pm_runtime_put_autosuspend(cmdq->mbox.dev);
	pm_runtime_put_autosuspend(cmdq->mbox.dev);

	return 0;
}
@@ -488,7 +488,7 @@ static void cmdq_mbox_shutdown(struct mbox_chan *chan)
	spin_unlock_irqrestore(&thread->chan->lock, flags);

	pm_runtime_mark_last_busy(cmdq->mbox.dev);
	__pm_runtime_put_autosuspend(cmdq->mbox.dev);
	pm_runtime_put_autosuspend(cmdq->mbox.dev);
}

static int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long timeout)
@@ -528,7 +528,7 @@ static int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long timeout)
out:
	spin_unlock_irqrestore(&thread->chan->lock, flags);
	pm_runtime_mark_last_busy(cmdq->mbox.dev);
	__pm_runtime_put_autosuspend(cmdq->mbox.dev);
	pm_runtime_put_autosuspend(cmdq->mbox.dev);

	return 0;

@@ -543,7 +543,7 @@ static int cmdq_mbox_flush(struct mbox_chan *chan, unsigned long timeout)
		return -EFAULT;
	}
	pm_runtime_mark_last_busy(cmdq->mbox.dev);
	__pm_runtime_put_autosuspend(cmdq->mbox.dev);
	pm_runtime_put_autosuspend(cmdq->mbox.dev);
	return 0;
}