ASoC: SOF: mediatek: mt8195: Add mailbox generic callbacks for IPC
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tue, 6 Sep 2022 09:27:25 +0000 (11:27 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 7 Sep 2022 11:40:50 +0000 (12:40 +0100)
Add the .mailbox_{read,write} generic callbacks for SOF IPC and, while
at it, also change the ipc_msg_data callback to use the SOF API
sof_ipc_msg_data() instead of the custom function mt8195_ipc_msg_data().

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220906092727.37324-4-angelogioacchino.delregno@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/mediatek/mt8195/mt8195.c

index ff575de..68747ee 100644 (file)
@@ -496,14 +496,6 @@ static int mt8195_get_bar_index(struct snd_sof_dev *sdev, u32 type)
        return type;
 }
 
-static int mt8195_ipc_msg_data(struct snd_sof_dev *sdev,
-                              struct snd_pcm_substream *substream,
-                              void *p, size_t sz)
-{
-       sof_mailbox_read(sdev, sdev->dsp_box.offset, p, sz);
-       return 0;
-}
-
 static void mt8195_adsp_dump(struct snd_sof_dev *sdev, u32 flags)
 {
        u32 dbg_pc, dbg_data, dbg_bus0, dbg_bus1, dbg_inst;
@@ -574,6 +566,10 @@ static struct snd_sof_dsp_ops sof_mt8195_ops = {
        .block_read     = sof_block_read,
        .block_write    = sof_block_write,
 
+       /* Mailbox IO */
+       .mailbox_read   = sof_mailbox_read,
+       .mailbox_write  = sof_mailbox_write,
+
        /* Register IO */
        .write          = sof_io_write,
        .read           = sof_io_read,
@@ -584,7 +580,7 @@ static struct snd_sof_dsp_ops sof_mt8195_ops = {
        .send_msg               = mt8195_send_msg,
        .get_mailbox_offset     = mt8195_get_mailbox_offset,
        .get_window_offset      = mt8195_get_window_offset,
-       .ipc_msg_data           = mt8195_ipc_msg_data,
+       .ipc_msg_data           = sof_ipc_msg_data,
        .set_stream_data_offset = sof_set_stream_data_offset,
 
        /* misc */