Commit 5a1fa00a authored by Iulian Olaru's avatar Iulian Olaru Committed by Mark Brown

ASoC: SOF: sof-of-dev: Add .arch_ops field

Add .arch_ops field in the sof_imx8x_ops structure.
The inclusion of this field will allow the usage of functions from
sof/core.c in order to print debug information such as the registers and
a stack dump in case of a firmware ops.

The SND_SOC_SOF_XTENSA is added in the imx/Kconfig file so the compilation
is successful.
Signed-off-by: default avatarIulian Olaru <iulianolaru249@yahoo.com>
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarDaniel Baluta <daniel.baluta@gmail.com>
Signed-off-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20200825235040.1586478-8-ranjani.sridharan@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 17b3f99a
...@@ -30,6 +30,7 @@ config SND_SOC_SOF_IMX8_SUPPORT ...@@ -30,6 +30,7 @@ config SND_SOC_SOF_IMX8_SUPPORT
config SND_SOC_SOF_IMX8 config SND_SOC_SOF_IMX8
tristate tristate
select SND_SOC_SOF_XTENSA
help help
This option is not user-selectable but automagically handled by This option is not user-selectable but automagically handled by
'select' statements at a higher level 'select' statements at a higher level
...@@ -44,6 +45,7 @@ config SND_SOC_SOF_IMX8M_SUPPORT ...@@ -44,6 +45,7 @@ config SND_SOC_SOF_IMX8M_SUPPORT
config SND_SOC_SOF_IMX8M config SND_SOC_SOF_IMX8M
tristate tristate
select SND_SOC_SOF_XTENSA
help help
This option is not user-selectable but automagically handled by This option is not user-selectable but automagically handled by
'select' statements at a higher level 'select' statements at a higher level
......
...@@ -424,6 +424,9 @@ struct snd_sof_dsp_ops sof_imx8_ops = { ...@@ -424,6 +424,9 @@ struct snd_sof_dsp_ops sof_imx8_ops = {
/* firmware loading */ /* firmware loading */
.load_firmware = snd_sof_load_firmware_memcpy, .load_firmware = snd_sof_load_firmware_memcpy,
/* Firmware ops */
.arch_ops = &sof_xtensa_arch_ops,
/* DAI drivers */ /* DAI drivers */
.drv = imx8_dai, .drv = imx8_dai,
.num_drv = ARRAY_SIZE(imx8_dai), .num_drv = ARRAY_SIZE(imx8_dai),
...@@ -464,6 +467,9 @@ struct snd_sof_dsp_ops sof_imx8x_ops = { ...@@ -464,6 +467,9 @@ struct snd_sof_dsp_ops sof_imx8x_ops = {
/* firmware loading */ /* firmware loading */
.load_firmware = snd_sof_load_firmware_memcpy, .load_firmware = snd_sof_load_firmware_memcpy,
/* Firmware ops */
.arch_ops = &sof_xtensa_arch_ops,
/* DAI drivers */ /* DAI drivers */
.drv = imx8_dai, .drv = imx8_dai,
.num_drv = ARRAY_SIZE(imx8_dai), .num_drv = ARRAY_SIZE(imx8_dai),
...@@ -477,4 +483,5 @@ struct snd_sof_dsp_ops sof_imx8x_ops = { ...@@ -477,4 +483,5 @@ struct snd_sof_dsp_ops sof_imx8x_ops = {
}; };
EXPORT_SYMBOL(sof_imx8x_ops); EXPORT_SYMBOL(sof_imx8x_ops);
MODULE_IMPORT_NS(SND_SOC_SOF_XTENSA);
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");
...@@ -277,6 +277,9 @@ struct snd_sof_dsp_ops sof_imx8m_ops = { ...@@ -277,6 +277,9 @@ struct snd_sof_dsp_ops sof_imx8m_ops = {
/* firmware loading */ /* firmware loading */
.load_firmware = snd_sof_load_firmware_memcpy, .load_firmware = snd_sof_load_firmware_memcpy,
/* Firmware ops */
.arch_ops = &sof_xtensa_arch_ops,
/* DAI drivers */ /* DAI drivers */
.drv = imx8m_dai, .drv = imx8m_dai,
.num_drv = ARRAY_SIZE(imx8m_dai), .num_drv = ARRAY_SIZE(imx8m_dai),
...@@ -289,4 +292,5 @@ struct snd_sof_dsp_ops sof_imx8m_ops = { ...@@ -289,4 +292,5 @@ struct snd_sof_dsp_ops sof_imx8m_ops = {
}; };
EXPORT_SYMBOL(sof_imx8m_ops); EXPORT_SYMBOL(sof_imx8m_ops);
MODULE_IMPORT_NS(SND_SOC_SOF_XTENSA);
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment