]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: SOF: Intel: hda-sdw-bpt: Add support for on-demand DSP boot
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Mon, 15 Dec 2025 13:29:43 +0000 (15:29 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 15 Dec 2025 14:07:43 +0000 (23:07 +0900)
If on-demand DSP boot is used we need to make sure that the DSP is booted
up - which might not be the case - since we need ChainDMA in normal, non
DSPless mode for the BRA to work.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Link: https://patch.msgid.link/20251215132946.2155-6-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-sdw-bpt.c

index e45dd051ab8c2639e358ccad1373214fdb1cd905..ae2f8d55dbd087e6cecf8079739bd92b210d687e 100644 (file)
@@ -98,6 +98,17 @@ static int hda_sdw_bpt_dma_prepare(struct device *dev, struct hdac_ext_stream **
        struct hdac_ext_stream *bpt_stream;
        unsigned int format = HDA_CL_STREAM_FORMAT;
 
+       if (!sdev->dspless_mode_selected) {
+               int ret;
+
+               /*
+                * Make sure that the DSP is booted up, which might not be the
+                * case if the on-demand DSP boot is used
+                */
+               ret = snd_sof_boot_dsp_firmware(sdev);
+               if (ret)
+                       return ret;
+       }
        /*
         * the baseline format needs to be adjusted to
         * bandwidth requirements