OSDN Git Service

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 8230285..23bfd79 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 325bf59..3b9ffc7 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 c4f1ca9..ca23ac9 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");