--- Begin Message ---
- To: <broonie@xxxxxxxxxx>, <pierre-louis.bossart@xxxxxxxxxxxxxxx>
- Subject: [PATCH v3 3/8] firmware: cs_dsp: Support DSPs that don't require firmware download
- From: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 20 Mar 2023 11:22:40 +0000
- Cc: peter.ujfalusi@xxxxxxxxxxxxxxx, yung-chuan.liao@xxxxxxxxxxxxxxx, alsa-devel@xxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx, Simon Trimmer <simont@xxxxxxxxxxxxxxxxxxxxx>, Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
- In-reply-to: <20230320112245.115720-1-rf@opensource.cirrus.com>
- References: <20230320112245.115720-1-rf@opensource.cirrus.com>
From: Simon Trimmer <simont@xxxxxxxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
---
drivers/firmware/cirrus/cs_dsp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/firmware/cirrus/cs_dsp.c b/drivers/firmware/cirrus/cs_dsp.c
index 97b73a254380..513136a924cf 100644
--- a/drivers/firmware/cirrus/cs_dsp.c
+++ b/drivers/firmware/cirrus/cs_dsp.c
@@ -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);
--
2.30.2
--- End Message ---