aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/soc/codecs/wm_adsp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c
index b38f3506418f..60b6b593c407 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/sound/soc/codecs/wm_adsp.c
@@ -1062,6 +1062,7 @@ static int wm_adsp_setup_algs(struct wm_adsp *dsp)
1062 if (i + 1 < algs) { 1062 if (i + 1 < algs) {
1063 region->len = be32_to_cpu(adsp1_alg[i + 1].dm); 1063 region->len = be32_to_cpu(adsp1_alg[i + 1].dm);
1064 region->len -= be32_to_cpu(adsp1_alg[i].dm); 1064 region->len -= be32_to_cpu(adsp1_alg[i].dm);
1065 region->len *= 4;
1065 wm_adsp_create_control(dsp, region); 1066 wm_adsp_create_control(dsp, region);
1066 } else { 1067 } else {
1067 adsp_warn(dsp, "Missing length info for region DM with ID %x\n", 1068 adsp_warn(dsp, "Missing length info for region DM with ID %x\n",
@@ -1079,6 +1080,7 @@ static int wm_adsp_setup_algs(struct wm_adsp *dsp)
1079 if (i + 1 < algs) { 1080 if (i + 1 < algs) {
1080 region->len = be32_to_cpu(adsp1_alg[i + 1].zm); 1081 region->len = be32_to_cpu(adsp1_alg[i + 1].zm);
1081 region->len -= be32_to_cpu(adsp1_alg[i].zm); 1082 region->len -= be32_to_cpu(adsp1_alg[i].zm);
1083 region->len *= 4;
1082 wm_adsp_create_control(dsp, region); 1084 wm_adsp_create_control(dsp, region);
1083 } else { 1085 } else {
1084 adsp_warn(dsp, "Missing length info for region ZM with ID %x\n", 1086 adsp_warn(dsp, "Missing length info for region ZM with ID %x\n",
@@ -1108,6 +1110,7 @@ static int wm_adsp_setup_algs(struct wm_adsp *dsp)
1108 if (i + 1 < algs) { 1110 if (i + 1 < algs) {
1109 region->len = be32_to_cpu(adsp2_alg[i + 1].xm); 1111 region->len = be32_to_cpu(adsp2_alg[i + 1].xm);
1110 region->len -= be32_to_cpu(adsp2_alg[i].xm); 1112 region->len -= be32_to_cpu(adsp2_alg[i].xm);
1113 region->len *= 4;
1111 wm_adsp_create_control(dsp, region); 1114 wm_adsp_create_control(dsp, region);
1112 } else { 1115 } else {
1113 adsp_warn(dsp, "Missing length info for region XM with ID %x\n", 1116 adsp_warn(dsp, "Missing length info for region XM with ID %x\n",
@@ -1125,6 +1128,7 @@ static int wm_adsp_setup_algs(struct wm_adsp *dsp)
1125 if (i + 1 < algs) { 1128 if (i + 1 < algs) {
1126 region->len = be32_to_cpu(adsp2_alg[i + 1].ym); 1129 region->len = be32_to_cpu(adsp2_alg[i + 1].ym);
1127 region->len -= be32_to_cpu(adsp2_alg[i].ym); 1130 region->len -= be32_to_cpu(adsp2_alg[i].ym);
1131 region->len *= 4;
1128 wm_adsp_create_control(dsp, region); 1132 wm_adsp_create_control(dsp, region);
1129 } else { 1133 } else {
1130 adsp_warn(dsp, "Missing length info for region YM with ID %x\n", 1134 adsp_warn(dsp, "Missing length info for region YM with ID %x\n",
@@ -1142,6 +1146,7 @@ static int wm_adsp_setup_algs(struct wm_adsp *dsp)
1142 if (i + 1 < algs) { 1146 if (i + 1 < algs) {
1143 region->len = be32_to_cpu(adsp2_alg[i + 1].zm); 1147 region->len = be32_to_cpu(adsp2_alg[i + 1].zm);
1144 region->len -= be32_to_cpu(adsp2_alg[i].zm); 1148 region->len -= be32_to_cpu(adsp2_alg[i].zm);
1149 region->len *= 4;
1145 wm_adsp_create_control(dsp, region); 1150 wm_adsp_create_control(dsp, region);
1146 } else { 1151 } else {
1147 adsp_warn(dsp, "Missing length info for region ZM with ID %x\n", 1152 adsp_warn(dsp, "Missing length info for region ZM with ID %x\n",