aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm_adsp.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2019-11-13 23:10:52 +0100
committerLinus Walleij <linus.walleij@linaro.org>2019-11-13 23:10:52 +0100
commit1566a6a30bf4d85849bab7e389392d6d3de1530e (patch)
treebbc979f430cb07d41f7b35524027e25e7a4b9fe6 /sound/soc/codecs/wm_adsp.c
parentdt-bindings: pinctrl: Convert generic pin mux and config properties to schema (diff)
parentLinux 5.4-rc5 (diff)
downloadlinux-dev-1566a6a30bf4d85849bab7e389392d6d3de1530e.tar.xz
linux-dev-1566a6a30bf4d85849bab7e389392d6d3de1530e.zip
Merge tag 'v5.4-rc5' into devel
Linux 5.4-rc5
Diffstat (limited to 'sound/soc/codecs/wm_adsp.c')
-rw-r--r--sound/soc/codecs/wm_adsp.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c
index ae28d9907c30..9b8bb7bbe945 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/sound/soc/codecs/wm_adsp.c
@@ -1259,8 +1259,7 @@ static unsigned int wmfw_convert_flags(unsigned int in, unsigned int len)
}
if (in) {
- if (in & WMFW_CTL_FLAG_READABLE)
- out |= rd;
+ out |= rd;
if (in & WMFW_CTL_FLAG_WRITEABLE)
out |= wr;
if (in & WMFW_CTL_FLAG_VOLATILE)
@@ -3697,11 +3696,16 @@ static int wm_adsp_buffer_parse_legacy(struct wm_adsp *dsp)
u32 xmalg, addr, magic;
int i, ret;
+ alg_region = wm_adsp_find_alg_region(dsp, WMFW_ADSP2_XM, dsp->fw_id);
+ if (!alg_region) {
+ adsp_err(dsp, "No algorithm region found\n");
+ return -EINVAL;
+ }
+
buf = wm_adsp_buffer_alloc(dsp);
if (!buf)
return -ENOMEM;
- alg_region = wm_adsp_find_alg_region(dsp, WMFW_ADSP2_XM, dsp->fw_id);
xmalg = dsp->ops->sys_config_size / sizeof(__be32);
addr = alg_region->base + xmalg + ALG_XM_FIELD(magic);