firmware: cs_dsp: Support DSPs that don't require firmware download
authorSimon Trimmer <simont@opensource.cirrus.com>
Mon, 20 Mar 2023 11:22:40 +0000 (11:22 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 21 Mar 2023 12:13:19 +0000 (12:13 +0000)
When a DSP can self-boot from ROM it is not necessary to download
firmware during the powering up sequence.

A DSP that required firmware download would fail in a previous
configuration step if firmware was not available.

Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230320112245.115720-4-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/firmware/cirrus/cs_dsp.c

index 97b73a2..513136a 100644 (file)
@@ -1301,6 +1301,9 @@ static int cs_dsp_load(struct cs_dsp *dsp, const struct firmware *firmware,
        int regions = 0;
        int ret, offset, type;
 
+       if (!firmware)
+               return 0;
+
        ret = -EINVAL;
 
        pos = sizeof(*header) + sizeof(*adsp1_sizes) + sizeof(*footer);