Unverified Commit f71f59dd authored by Daniel Baluta's avatar Daniel Baluta Committed by Mark Brown
Browse files

ASoC: SOF: Introduce snd_sof_mailbox_read / snd_sof_mailbox_write callbacks



We need to introduce snd_sof_mailbox_{read/write} in order to provide
a generic way for mailbox access. These routines are optional, each
platform can implement their own specific routines.

So far, all platforms use mmapped I/O thus they can use custom made
routines sof_mailbox_read / sof_mailbox_write that use MMIO.

Signed-off-by: default avatarDaniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: default avatarBud Liviu-Alexandru <budliviu@gmail.com>
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarPéter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20211004152147.1268978-2-daniel.baluta@oss.nxp.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent dc1fad25
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -421,6 +421,10 @@ struct snd_sof_dsp_ops sof_imx8_ops = {
	.block_read	= sof_block_read,
	.block_write	= sof_block_write,

	/* Mailbox IO */
	.mailbox_read	= sof_mailbox_read,
	.mailbox_write	= sof_mailbox_write,

	/* ipc */
	.send_msg	= imx8_send_msg,
	.fw_ready	= sof_fw_ready,
@@ -468,6 +472,10 @@ struct snd_sof_dsp_ops sof_imx8x_ops = {
	.block_read	= sof_block_read,
	.block_write	= sof_block_write,

	/* Mailbox IO */
	.mailbox_read	= sof_mailbox_read,
	.mailbox_write	= sof_mailbox_write,

	/* ipc */
	.send_msg	= imx8_send_msg,
	.fw_ready	= sof_fw_ready,
+4 −0
Original line number Diff line number Diff line
@@ -284,6 +284,10 @@ struct snd_sof_dsp_ops sof_imx8m_ops = {
	.block_read	= sof_block_read,
	.block_write	= sof_block_write,

	/* Mailbox IO */
	.mailbox_read	= sof_mailbox_read,
	.mailbox_write	= sof_mailbox_write,

	/* ipc */
	.send_msg	= imx8m_send_msg,
	.fw_ready	= sof_fw_ready,
+4 −0
Original line number Diff line number Diff line
@@ -42,6 +42,10 @@ const struct snd_sof_dsp_ops sof_apl_ops = {
	.block_read	= sof_block_read,
	.block_write	= sof_block_write,

	/* Mailbox IO */
	.mailbox_read	= sof_mailbox_read,
	.mailbox_write	= sof_mailbox_write,

	/* doorbell */
	.irq_thread	= hda_dsp_ipc_irq_thread,

+4 −0
Original line number Diff line number Diff line
@@ -616,6 +616,10 @@ static const struct snd_sof_dsp_ops sof_bdw_ops = {
	.block_read	= sof_block_read,
	.block_write	= sof_block_write,

	/* Mailbox IO */
	.mailbox_read	= sof_mailbox_read,
	.mailbox_write	= sof_mailbox_write,

	/* ipc */
	.send_msg	= bdw_send_msg,
	.fw_ready	= sof_fw_ready,
+8 −0
Original line number Diff line number Diff line
@@ -226,6 +226,10 @@ static const struct snd_sof_dsp_ops sof_byt_ops = {
	.block_read	= sof_block_read,
	.block_write	= sof_block_write,

	/* Mailbox IO */
	.mailbox_read	= sof_mailbox_read,
	.mailbox_write	= sof_mailbox_write,

	/* doorbell */
	.irq_handler	= atom_irq_handler,
	.irq_thread	= atom_irq_thread,
@@ -304,6 +308,10 @@ static const struct snd_sof_dsp_ops sof_cht_ops = {
	.block_read	= sof_block_read,
	.block_write	= sof_block_write,

	/* Mailbox IO */
	.mailbox_read	= sof_mailbox_read,
	.mailbox_write	= sof_mailbox_write,

	/* doorbell */
	.irq_handler	= atom_irq_handler,
	.irq_thread	= atom_irq_thread,
Loading