@@ -60,6 +60,9 @@ bool mtl_dsp_check_ipc_irq(struct snd_sof_dev *sdev)
6060 u32 irq_status ;
6161 u32 hfintipptr ;
6262
63+ if (sdev -> dspless_mode_selected )
64+ return false;
65+
6366 /* read Interrupt IP Pointer */
6467 hfintipptr = snd_sof_dsp_read (sdev , HDA_DSP_BAR , MTL_HFINTIPPTR ) & MTL_HFINTIPPTR_PTR_MASK ;
6568 irq_status = snd_sof_dsp_read (sdev , HDA_DSP_BAR , hfintipptr + MTL_DSP_IRQSTS );
@@ -120,6 +123,9 @@ void mtl_enable_ipc_interrupts(struct snd_sof_dev *sdev)
120123 struct sof_intel_hda_dev * hda = sdev -> pdata -> hw_pdata ;
121124 const struct sof_intel_dsp_desc * chip = hda -> desc ;
122125
126+ if (sdev -> dspless_mode_selected )
127+ return ;
128+
123129 /* enable IPC DONE and BUSY interrupts */
124130 snd_sof_dsp_update_bits (sdev , HDA_DSP_BAR , chip -> ipc_ctl ,
125131 MTL_DSP_REG_HFIPCXCTL_BUSY | MTL_DSP_REG_HFIPCXCTL_DONE ,
@@ -131,6 +137,9 @@ void mtl_disable_ipc_interrupts(struct snd_sof_dev *sdev)
131137 struct sof_intel_hda_dev * hda = sdev -> pdata -> hw_pdata ;
132138 const struct sof_intel_dsp_desc * chip = hda -> desc ;
133139
140+ if (sdev -> dspless_mode_selected )
141+ return ;
142+
134143 /* disable IPC DONE and BUSY interrupts */
135144 snd_sof_dsp_update_bits (sdev , HDA_DSP_BAR , chip -> ipc_ctl ,
136145 MTL_DSP_REG_HFIPCXCTL_BUSY | MTL_DSP_REG_HFIPCXCTL_DONE , 0 );
@@ -143,6 +152,9 @@ static void mtl_enable_sdw_irq(struct snd_sof_dev *sdev, bool enable)
143152 u32 val ;
144153 int ret ;
145154
155+ if (sdev -> dspless_mode_selected )
156+ return ;
157+
146158 /* Enable/Disable SoundWire interrupt */
147159 mask = MTL_DSP_REG_HfSNDWIE_IE_MASK ;
148160 if (enable )
@@ -170,6 +182,9 @@ int mtl_enable_interrupts(struct snd_sof_dev *sdev, bool enable)
170182 u32 val ;
171183 int ret ;
172184
185+ if (sdev -> dspless_mode_selected )
186+ return 0 ;
187+
173188 /* read Interrupt IP Pointer */
174189 hfintipptr = snd_sof_dsp_read (sdev , HDA_DSP_BAR , MTL_HFINTIPPTR ) & MTL_HFINTIPPTR_PTR_MASK ;
175190
0 commit comments