ASoC: SOF: Intel: mtl: Correct rom_status_reg
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Wed, 3 Apr 2024 10:52:05 +0000 (13:52 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 3 Apr 2024 11:04:23 +0000 (12:04 +0100)
ACE1 architecture changed the place where the ROM updates the status code
from the shared SRAM window to HFFLGP1QW0 register for the status and
HFFLGP1QW0 + 4 for the error code.

The rom_status_reg is not used on MTL because it was wrongly assigned based
on older platform convention (SRAM window) and it was giving inconsistent
readings.

Fixes: 064520e8aeaa ("ASoC: SOF: Intel: Add support for MeteorLake (MTL)")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Link: https://msgid.link/r/20240403105210.17949-3-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/mtl.c
sound/soc/sof/intel/mtl.h

index 8a55d5a2703e44f781426735e36f499de330180b..34a0707086c5af70b8e495f32413b7bd7cb3178a 100644 (file)
@@ -746,7 +746,7 @@ const struct sof_intel_dsp_desc mtl_chip_info = {
        .ipc_ack = MTL_DSP_REG_HFIPCXIDA,
        .ipc_ack_mask = MTL_DSP_REG_HFIPCXIDA_DONE,
        .ipc_ctl = MTL_DSP_REG_HFIPCXCTL,
-       .rom_status_reg = MTL_DSP_ROM_STS,
+       .rom_status_reg = MTL_DSP_REG_HFFLGPXQWY,
        .rom_init_timeout       = 300,
        .ssp_count = MTL_SSP_COUNT,
        .ssp_base_offset = CNL_SSP_BASE_OFFSET,
@@ -774,7 +774,7 @@ const struct sof_intel_dsp_desc arl_s_chip_info = {
        .ipc_ack = MTL_DSP_REG_HFIPCXIDA,
        .ipc_ack_mask = MTL_DSP_REG_HFIPCXIDA_DONE,
        .ipc_ctl = MTL_DSP_REG_HFIPCXCTL,
-       .rom_status_reg = MTL_DSP_ROM_STS,
+       .rom_status_reg = MTL_DSP_REG_HFFLGPXQWY,
        .rom_init_timeout       = 300,
        .ssp_count = MTL_SSP_COUNT,
        .ssp_base_offset = CNL_SSP_BASE_OFFSET,
index cc5a1f46fd09560e9fefc10d6b4775b82294bfd4..82dd6b8c485929741eb437722695231330690f5c 100644 (file)
@@ -76,8 +76,8 @@
 #define MTL_DSP_ROM_STS                        MTL_SRAM_WINDOW_OFFSET(0) /* ROM status */
 #define MTL_DSP_ROM_ERROR              (MTL_SRAM_WINDOW_OFFSET(0) + 0x4) /* ROM error code */
 
-#define MTL_DSP_REG_HFFLGPXQWY         0x163200 /* ROM debug status */
-#define MTL_DSP_REG_HFFLGPXQWY_ERROR   0x163204 /* ROM debug error code */
+#define MTL_DSP_REG_HFFLGPXQWY         0x163200 /* DSP core0 status */
+#define MTL_DSP_REG_HFFLGPXQWY_ERROR   0x163204 /* DSP core0 error */
 #define MTL_DSP_REG_HfIMRIS1           0x162088
 #define MTL_DSP_REG_HfIMRIS1_IU_MASK   BIT(0)