]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ASoC: SOF: sof-client-probes-ipc4: Set param_size extension bits
authorJyri Sarha <jyri.sarha@linux.intel.com>
Thu, 7 Nov 2024 13:28:40 +0000 (15:28 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 7 Nov 2024 15:35:52 +0000 (15:35 +0000)
Write the size of the optional payload of SOF_IPC4_MOD_INIT_INSTANCE
message to extension param_size-bits.

The previous IPC4 version does not set these bits that should indicate
the size of the optional payload (struct sof_ipc4_probe_cfg). The old
firmware side component code works well without these bits, but when
the probes are converted to use the generic module API, this does not
work anymore.

Fixes: f5623593060f ("ASoC: SOF: IPC4: probes: Implement IPC4 ops for probes client device")
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20241107132840.17386-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/sof-client-probes-ipc4.c

index 796eac0a2e74f743e0d32850fd1c2ada58debaef..603aed222480ff27531f21a9cf6573b5e726359f 100644 (file)
@@ -125,6 +125,7 @@ static int ipc4_probes_init(struct sof_client_dev *cdev, u32 stream_tag,
        msg.primary |= SOF_IPC4_MSG_TARGET(SOF_IPC4_MODULE_MSG);
        msg.extension = SOF_IPC4_MOD_EXT_DST_MOD_INSTANCE(INVALID_PIPELINE_ID);
        msg.extension |= SOF_IPC4_MOD_EXT_CORE_ID(0);
+       msg.extension |= SOF_IPC4_MOD_EXT_PARAM_SIZE(sizeof(cfg) / sizeof(uint32_t));
 
        msg.data_size = sizeof(cfg);
        msg.data_ptr = &cfg;