Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: qdsp6: audioreach: simplify module_list sz calculation

Simplify module_list size calculation by doing inside modules loop.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20221027102710.21407-6-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Srinivas Kandagatla and committed by
Mark Brown
4efb98e9 e4977b91

+6 -4
+6 -4
sound/soc/qcom/qdsp6/audioreach.c
··· 430 430 struct audioreach_sub_graph *sgs; 431 431 struct apm_mod_list_obj *mlobj; 432 432 struct list_head *sg_list; 433 - int num_modules_per_list; 434 433 int num_connections = 0; 435 434 int num_containers = 0; 436 435 int num_sub_graphs = 0; ··· 450 451 list_for_each_entry(container, &sgs->container_list, node) { 451 452 num_containers++; 452 453 num_modules += container->num_modules; 454 + ml_sz = ml_sz + sizeof(struct apm_module_list_params) + 455 + APM_MOD_LIST_OBJ_PSIZE(mlobj, container->num_modules); 456 + 453 457 list_for_each_entry(module, &container->modules_list, node) { 454 458 if (module->src_mod_inst_id) 455 459 num_connections++; ··· 461 459 } 462 460 463 461 num_modules_list = num_containers; 464 - num_modules_per_list = num_modules/num_containers; 465 462 sg_sz = APM_SUB_GRAPH_PSIZE(sg_params, num_sub_graphs); 466 463 cont_sz = APM_CONTAINER_PSIZE(cont_params, num_containers); 467 - ml_sz = ALIGN(sizeof(struct apm_module_list_params) + 468 - num_modules_list * APM_MOD_LIST_OBJ_PSIZE(mlobj, num_modules_per_list), 8); 464 + 465 + ml_sz = ALIGN(ml_sz, 8); 466 + 469 467 mp_sz = APM_MOD_PROP_PSIZE(mprop, num_modules); 470 468 mc_sz = APM_MOD_CONN_PSIZE(mcon, num_connections); 471 469