ASoC: SOF: Intel: hda: remove unnecessary ROM IPC filter function
authorAmery Song <chao.song@intel.com>
Thu, 12 Mar 2020 20:06:20 +0000 (15:06 -0500)
committerMark Brown <broonie@kernel.org>
Fri, 13 Mar 2020 15:13:24 +0000 (15:13 +0000)
The HDA_DSP_IPC_PURGE_FW IPC from ROM is already handled in
cl_dsp_init(), and as IPC IRQ is disabled at this stage, this
IPC will be never received in the IRQ thread. The function
hda_dsp_ipc_is_sof for filtering the ROM IPC can be removed
safely.

Signed-off-by: Amery Song <chao.song@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Keyon <yang.jie@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20200312200622.24477-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-ipc.c

index 922052883b0ad50b69e6239c793b292a6c3aab77..a6052849555196b2b6099116d7f178cf117557f1 100644 (file)
@@ -125,12 +125,6 @@ out:
 
 }
 
-static bool hda_dsp_ipc_is_sof(uint32_t msg)
-{
-       return (msg & (HDA_DSP_IPC_PURGE_FW | 0xf << 9)) != msg ||
-               (msg & HDA_DSP_IPC_PURGE_FW) != HDA_DSP_IPC_PURGE_FW;
-}
-
 /* IPC handler thread */
 irqreturn_t hda_dsp_ipc_irq_thread(int irq, void *context)
 {
@@ -176,11 +170,9 @@ irqreturn_t hda_dsp_ipc_irq_thread(int irq, void *context)
                 */
                spin_lock_irq(&sdev->ipc_lock);
 
-               /* handle immediate reply from DSP core - ignore ROM messages */
-               if (hda_dsp_ipc_is_sof(msg)) {
-                       hda_dsp_ipc_get_reply(sdev);
-                       snd_sof_ipc_reply(sdev, msg);
-               }
+               /* handle immediate reply from DSP core */
+               hda_dsp_ipc_get_reply(sdev);
+               snd_sof_ipc_reply(sdev, msg);
 
                /* wake up sleeper if we are loading code */
                if (sdev->code_loading) {