|
@@ -1062,6 +1062,7 @@ static int wm_adsp_setup_algs(struct wm_adsp *dsp)
|
|
|
if (i + 1 < algs) {
|
|
|
region->len = be32_to_cpu(adsp1_alg[i + 1].dm);
|
|
|
region->len -= be32_to_cpu(adsp1_alg[i].dm);
|
|
|
+ region->len *= 4;
|
|
|
wm_adsp_create_control(dsp, region);
|
|
|
} else {
|
|
|
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)
|
|
|
if (i + 1 < algs) {
|
|
|
region->len = be32_to_cpu(adsp1_alg[i + 1].zm);
|
|
|
region->len -= be32_to_cpu(adsp1_alg[i].zm);
|
|
|
+ region->len *= 4;
|
|
|
wm_adsp_create_control(dsp, region);
|
|
|
} else {
|
|
|
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)
|
|
|
if (i + 1 < algs) {
|
|
|
region->len = be32_to_cpu(adsp2_alg[i + 1].xm);
|
|
|
region->len -= be32_to_cpu(adsp2_alg[i].xm);
|
|
|
+ region->len *= 4;
|
|
|
wm_adsp_create_control(dsp, region);
|
|
|
} else {
|
|
|
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)
|
|
|
if (i + 1 < algs) {
|
|
|
region->len = be32_to_cpu(adsp2_alg[i + 1].ym);
|
|
|
region->len -= be32_to_cpu(adsp2_alg[i].ym);
|
|
|
+ region->len *= 4;
|
|
|
wm_adsp_create_control(dsp, region);
|
|
|
} else {
|
|
|
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)
|
|
|
if (i + 1 < algs) {
|
|
|
region->len = be32_to_cpu(adsp2_alg[i + 1].zm);
|
|
|
region->len -= be32_to_cpu(adsp2_alg[i].zm);
|
|
|
+ region->len *= 4;
|
|
|
wm_adsp_create_control(dsp, region);
|
|
|
} else {
|
|
|
adsp_warn(dsp, "Missing length info for region ZM with ID %x\n",
|