ASoC: SOF: sof-of-dev: Add .arch_ops field
authorIulian Olaru <iulianolaru249@yahoo.com>
Tue, 25 Aug 2020 23:50:40 +0000 (16:50 -0700)
committerMark Brown <broonie@kernel.org>
Wed, 26 Aug 2020 12:19:16 +0000 (13:19 +0100)
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: Iulian Olaru <iulianolaru249@yahoo.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20200825235040.1586478-8-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/imx/Kconfig
sound/soc/sof/imx/imx8.c
sound/soc/sof/imx/imx8m.c

index 8230285baa435728ecf9b5be34c648c329a08ad7..23bfd79d09c31692d24382235dd32e92c2d04e48 100644 (file)
@@ -30,6 +30,7 @@ config SND_SOC_SOF_IMX8_SUPPORT
 
 config SND_SOC_SOF_IMX8
        tristate
+       select SND_SOC_SOF_XTENSA
        help
          This option is not user-selectable but automagically handled by
          'select' statements at a higher level
@@ -44,6 +45,7 @@ config SND_SOC_SOF_IMX8M_SUPPORT
 
 config SND_SOC_SOF_IMX8M
        tristate
+       select SND_SOC_SOF_XTENSA
        help
          This option is not user-selectable but automagically handled by
          'select' statements at a higher level
index 325bf59e27c1d3aa7a2f6e36eaa984937c127d19..3b9ffc760cb5771ff88b034c24c322796dc1f9c4 100644 (file)
@@ -424,6 +424,9 @@ struct snd_sof_dsp_ops sof_imx8_ops = {
        /* firmware loading */
        .load_firmware  = snd_sof_load_firmware_memcpy,
 
+       /* Firmware ops */
+       .arch_ops = &sof_xtensa_arch_ops,
+
        /* DAI drivers */
        .drv = imx8_dai,
        .num_drv = ARRAY_SIZE(imx8_dai),
@@ -464,6 +467,9 @@ struct snd_sof_dsp_ops sof_imx8x_ops = {
        /* firmware loading */
        .load_firmware  = snd_sof_load_firmware_memcpy,
 
+       /* Firmware ops */
+       .arch_ops = &sof_xtensa_arch_ops,
+
        /* DAI drivers */
        .drv = imx8_dai,
        .num_drv = ARRAY_SIZE(imx8_dai),
@@ -477,4 +483,5 @@ struct snd_sof_dsp_ops sof_imx8x_ops = {
 };
 EXPORT_SYMBOL(sof_imx8x_ops);
 
+MODULE_IMPORT_NS(SND_SOC_SOF_XTENSA);
 MODULE_LICENSE("Dual BSD/GPL");
index c4f1ca939068b051c4c427b818fcb57df551e987..ca23ac99a63d115a03fec7364da223280862d7e2 100644 (file)
@@ -277,6 +277,9 @@ struct snd_sof_dsp_ops sof_imx8m_ops = {
        /* firmware loading */
        .load_firmware  = snd_sof_load_firmware_memcpy,
 
+       /* Firmware ops */
+       .arch_ops = &sof_xtensa_arch_ops,
+
        /* DAI drivers */
        .drv = imx8m_dai,
        .num_drv = ARRAY_SIZE(imx8m_dai),
@@ -289,4 +292,5 @@ struct snd_sof_dsp_ops sof_imx8m_ops = {
 };
 EXPORT_SYMBOL(sof_imx8m_ops);
 
+MODULE_IMPORT_NS(SND_SOC_SOF_XTENSA);
 MODULE_LICENSE("Dual BSD/GPL");