Skip to content

Commit d411288

Browse files
kv2019ikartben
authored andcommitted
dma: intel_adsp_hda: re-enable interrupts upon resume
Commit fa4a9db ("dma: intel_adsp_hda: Fix invalid init sequence and register use") moved intel_adsp_hda_channels_init() out from resume path. This causes a regression to CONFIG_DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT as without irq_config() call the interrupt configuration may be partial. Address this by calling irq_config() unconditionally on resume path. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
1 parent a3f6584 commit d411288

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

drivers/dma/dma_intel_adsp_hda.c

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,17 @@ int intel_adsp_hda_dma_stop(const struct device *dev, uint32_t channel)
359359
return pm_device_runtime_put(dev);
360360
}
361361

362+
static void intel_adsp_hda_enable_irqs(const struct device *dev)
363+
{
364+
#if CONFIG_DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT
365+
const struct intel_adsp_hda_dma_cfg *const cfg = dev->config;
366+
367+
if (cfg->irq_config) {
368+
cfg->irq_config();
369+
}
370+
#endif
371+
}
372+
362373
static void intel_adsp_hda_channels_init(const struct device *dev)
363374
{
364375
const struct intel_adsp_hda_dma_cfg *const cfg = dev->config;
@@ -375,19 +386,15 @@ static void intel_adsp_hda_channels_init(const struct device *dev)
375386
}
376387
}
377388

378-
#if CONFIG_DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT
379-
/* Configure interrupts */
380-
if (cfg->irq_config) {
381-
cfg->irq_config();
382-
}
383-
#endif
389+
intel_adsp_hda_enable_irqs(dev);
384390
}
385391

386392
int intel_adsp_hda_dma_pm_action(const struct device *dev, enum pm_device_action action)
387393
{
388-
ARG_UNUSED(dev);
389394
switch (action) {
390395
case PM_DEVICE_ACTION_RESUME:
396+
intel_adsp_hda_enable_irqs(dev);
397+
break;
391398
case PM_DEVICE_ACTION_SUSPEND:
392399
case PM_DEVICE_ACTION_TURN_ON:
393400
case PM_DEVICE_ACTION_TURN_OFF:

0 commit comments

Comments
 (0)