Lines Matching refs:region
232 struct wm_adsp_alg_region region; member
343 static unsigned int wm_adsp_region_to_reg(struct wm_adsp_region const *region, in wm_adsp_region_to_reg() argument
346 if (WARN_ON(!region)) in wm_adsp_region_to_reg()
348 switch (region->type) { in wm_adsp_region_to_reg()
350 return region->base + (offset * 3); in wm_adsp_region_to_reg()
352 return region->base + (offset * 2); in wm_adsp_region_to_reg()
354 return region->base + (offset * 2); in wm_adsp_region_to_reg()
356 return region->base + (offset * 2); in wm_adsp_region_to_reg()
358 return region->base + (offset * 2); in wm_adsp_region_to_reg()
379 struct wm_adsp_alg_region *region = &ctl->region; in wm_coeff_write_control() local
386 mem = wm_adsp_find_region(adsp, region->type); in wm_coeff_write_control()
389 region->type); in wm_coeff_write_control()
393 reg = ctl->region.base; in wm_coeff_write_control()
434 struct wm_adsp_alg_region *region = &ctl->region; in wm_coeff_read_control() local
441 mem = wm_adsp_find_region(adsp, region->type); in wm_coeff_read_control()
444 region->type); in wm_coeff_read_control()
448 reg = ctl->region.base; in wm_coeff_read_control()
533 const struct wmfw_region *region; in wm_adsp_load() local
626 pos - firmware->size > sizeof(*region)) { in wm_adsp_load()
627 region = (void *)&(firmware->data[pos]); in wm_adsp_load()
631 offset = le32_to_cpu(region->offset) & 0xffffff; in wm_adsp_load()
632 type = be32_to_cpu(region->type) & 0xff; in wm_adsp_load()
638 text = kzalloc(le32_to_cpu(region->len) + 1, in wm_adsp_load()
643 text = kzalloc(le32_to_cpu(region->len) + 1, in wm_adsp_load()
678 regions, le32_to_cpu(region->len), offset, in wm_adsp_load()
682 memcpy(text, region->data, le32_to_cpu(region->len)); in wm_adsp_load()
688 buf = wm_adsp_buf_alloc(region->data, in wm_adsp_load()
689 le32_to_cpu(region->len), in wm_adsp_load()
698 le32_to_cpu(region->len)); in wm_adsp_load()
703 le32_to_cpu(region->len), offset, in wm_adsp_load()
709 pos += le32_to_cpu(region->len) + sizeof(*region); in wm_adsp_load()
782 const struct wm_adsp_alg_region *region) in wm_adsp_create_control() argument
795 switch (region->type) { in wm_adsp_create_control()
817 dsp->num, region_name, region->alg); in wm_adsp_create_control()
833 ctl->region = *region; in wm_adsp_create_control()
845 ctl->len = region->len; in wm_adsp_create_control()
887 struct wm_adsp_alg_region *region; in wm_adsp_setup_algs() local
931 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
932 if (!region) in wm_adsp_setup_algs()
934 region->type = WMFW_ADSP1_ZM; in wm_adsp_setup_algs()
935 region->alg = be32_to_cpu(adsp1_id.fw.id); in wm_adsp_setup_algs()
936 region->base = be32_to_cpu(adsp1_id.zm); in wm_adsp_setup_algs()
937 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
939 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
940 if (!region) in wm_adsp_setup_algs()
942 region->type = WMFW_ADSP1_DM; in wm_adsp_setup_algs()
943 region->alg = be32_to_cpu(adsp1_id.fw.id); in wm_adsp_setup_algs()
944 region->base = be32_to_cpu(adsp1_id.dm); in wm_adsp_setup_algs()
945 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
972 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
973 if (!region) in wm_adsp_setup_algs()
975 region->type = WMFW_ADSP2_XM; in wm_adsp_setup_algs()
976 region->alg = be32_to_cpu(adsp2_id.fw.id); in wm_adsp_setup_algs()
977 region->base = be32_to_cpu(adsp2_id.xm); in wm_adsp_setup_algs()
978 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
980 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
981 if (!region) in wm_adsp_setup_algs()
983 region->type = WMFW_ADSP2_YM; in wm_adsp_setup_algs()
984 region->alg = be32_to_cpu(adsp2_id.fw.id); in wm_adsp_setup_algs()
985 region->base = be32_to_cpu(adsp2_id.ym); in wm_adsp_setup_algs()
986 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
988 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
989 if (!region) in wm_adsp_setup_algs()
991 region->type = WMFW_ADSP2_ZM; in wm_adsp_setup_algs()
992 region->alg = be32_to_cpu(adsp2_id.fw.id); in wm_adsp_setup_algs()
993 region->base = be32_to_cpu(adsp2_id.zm); in wm_adsp_setup_algs()
994 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
1054 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
1055 if (!region) { in wm_adsp_setup_algs()
1059 region->type = WMFW_ADSP1_DM; in wm_adsp_setup_algs()
1060 region->alg = be32_to_cpu(adsp1_alg[i].alg.id); in wm_adsp_setup_algs()
1061 region->base = be32_to_cpu(adsp1_alg[i].dm); in wm_adsp_setup_algs()
1062 region->len = 0; in wm_adsp_setup_algs()
1063 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
1065 region->len = be32_to_cpu(adsp1_alg[i + 1].dm); in wm_adsp_setup_algs()
1066 region->len -= be32_to_cpu(adsp1_alg[i].dm); in wm_adsp_setup_algs()
1067 region->len *= 4; in wm_adsp_setup_algs()
1068 wm_adsp_create_control(dsp, region); in wm_adsp_setup_algs()
1074 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
1075 if (!region) { in wm_adsp_setup_algs()
1079 region->type = WMFW_ADSP1_ZM; in wm_adsp_setup_algs()
1080 region->alg = be32_to_cpu(adsp1_alg[i].alg.id); in wm_adsp_setup_algs()
1081 region->base = be32_to_cpu(adsp1_alg[i].zm); in wm_adsp_setup_algs()
1082 region->len = 0; in wm_adsp_setup_algs()
1083 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
1085 region->len = be32_to_cpu(adsp1_alg[i + 1].zm); in wm_adsp_setup_algs()
1086 region->len -= be32_to_cpu(adsp1_alg[i].zm); in wm_adsp_setup_algs()
1087 region->len *= 4; in wm_adsp_setup_algs()
1088 wm_adsp_create_control(dsp, region); in wm_adsp_setup_algs()
1106 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
1107 if (!region) { in wm_adsp_setup_algs()
1111 region->type = WMFW_ADSP2_XM; in wm_adsp_setup_algs()
1112 region->alg = be32_to_cpu(adsp2_alg[i].alg.id); in wm_adsp_setup_algs()
1113 region->base = be32_to_cpu(adsp2_alg[i].xm); in wm_adsp_setup_algs()
1114 region->len = 0; in wm_adsp_setup_algs()
1115 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
1117 region->len = be32_to_cpu(adsp2_alg[i + 1].xm); in wm_adsp_setup_algs()
1118 region->len -= be32_to_cpu(adsp2_alg[i].xm); in wm_adsp_setup_algs()
1119 region->len *= 4; in wm_adsp_setup_algs()
1120 wm_adsp_create_control(dsp, region); in wm_adsp_setup_algs()
1126 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
1127 if (!region) { in wm_adsp_setup_algs()
1131 region->type = WMFW_ADSP2_YM; in wm_adsp_setup_algs()
1132 region->alg = be32_to_cpu(adsp2_alg[i].alg.id); in wm_adsp_setup_algs()
1133 region->base = be32_to_cpu(adsp2_alg[i].ym); in wm_adsp_setup_algs()
1134 region->len = 0; in wm_adsp_setup_algs()
1135 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
1137 region->len = be32_to_cpu(adsp2_alg[i + 1].ym); in wm_adsp_setup_algs()
1138 region->len -= be32_to_cpu(adsp2_alg[i].ym); in wm_adsp_setup_algs()
1139 region->len *= 4; in wm_adsp_setup_algs()
1140 wm_adsp_create_control(dsp, region); in wm_adsp_setup_algs()
1146 region = kzalloc(sizeof(*region), GFP_KERNEL); in wm_adsp_setup_algs()
1147 if (!region) { in wm_adsp_setup_algs()
1151 region->type = WMFW_ADSP2_ZM; in wm_adsp_setup_algs()
1152 region->alg = be32_to_cpu(adsp2_alg[i].alg.id); in wm_adsp_setup_algs()
1153 region->base = be32_to_cpu(adsp2_alg[i].zm); in wm_adsp_setup_algs()
1154 region->len = 0; in wm_adsp_setup_algs()
1155 list_add_tail(®ion->list, &dsp->alg_regions); in wm_adsp_setup_algs()
1157 region->len = be32_to_cpu(adsp2_alg[i + 1].zm); in wm_adsp_setup_algs()
1158 region->len -= be32_to_cpu(adsp2_alg[i].zm); in wm_adsp_setup_algs()
1159 region->len *= 4; in wm_adsp_setup_algs()
1160 wm_adsp_create_control(dsp, region); in wm_adsp_setup_algs()