OSDN Git Service

ASoC: SOF: Intel: hda-loader: Use the FSR state definitions during bootup
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Tue, 12 Jul 2022 12:57:33 +0000 (15:57 +0300)
committerMark Brown <broonie@kernel.org>
Tue, 23 Aug 2022 13:10:01 +0000 (14:10 +0100)
Switch to use the newly added FSR (Firmware State Register) definitions
for DSP state handling and targeting.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20220712125734.30512-3-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-loader.c

index eb22eb3..98812d5 100644 (file)
@@ -177,14 +177,13 @@ int cl_dsp_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot)
         * - IMR boot: wait for ROM firmware entered (firmware booted up from IMR)
         */
        if (imr_boot)
-               target_status = HDA_DSP_ROM_FW_ENTERED;
+               target_status = FSR_STATE_FW_ENTERED;
        else
-               target_status = HDA_DSP_ROM_INIT;
+               target_status = FSR_STATE_INIT_DONE;
 
        ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR,
                                        chip->rom_status_reg, status,
-                                       ((status & HDA_DSP_ROM_STS_MASK)
-                                               == target_status),
+                                       (FSR_TO_STATE_CODE(status) == target_status),
                                        HDA_DSP_REG_POLL_INTERVAL_US,
                                        chip->rom_init_timeout *
                                        USEC_PER_MSEC);
@@ -292,8 +291,7 @@ int hda_cl_copy_fw(struct snd_sof_dev *sdev, struct hdac_ext_stream *hext_stream
 
        status = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR,
                                        chip->rom_status_reg, reg,
-                                       ((reg & HDA_DSP_ROM_STS_MASK)
-                                               == HDA_DSP_ROM_FW_ENTERED),
+                                       (FSR_TO_STATE_CODE(reg) == FSR_STATE_FW_ENTERED),
                                        HDA_DSP_REG_POLL_INTERVAL_US,
                                        HDA_DSP_BASEFW_TIMEOUT_US);