Lines Matching refs:module
113 static struct dsp_segment_desc * get_segment_desc (struct dsp_module_desc * module, int seg_type) in get_segment_desc() argument
116 for (i = 0;i < module->nsegments; ++i) { in get_segment_desc()
117 if (module->segments[i].segment_type == seg_type) { in get_segment_desc()
118 return (module->segments + i); in get_segment_desc()
139 static int add_symbols (struct snd_cs46xx * chip, struct dsp_module_desc * module) in add_symbols() argument
144 if (module->symbol_table.nsymbols > 0) { in add_symbols()
145 if (!strcmp(module->symbol_table.symbols[0].symbol_name, "OVERLAYBEGINADDRESS") && in add_symbols()
146 module->symbol_table.symbols[0].symbol_type == SYMBOL_CONSTANT ) { in add_symbols()
147 module->overlay_begin_address = module->symbol_table.symbols[0].address; in add_symbols()
151 for (i = 0;i < module->symbol_table.nsymbols; ++i) { in add_symbols()
160 module->symbol_table.symbols[i].symbol_name, in add_symbols()
161 module->symbol_table.symbols[i].symbol_type) == NULL) { in add_symbols()
163 ins->symbol_table.symbols[ins->symbol_table.nsymbols] = module->symbol_table.symbols[i]; in add_symbols()
164 …symbols[ins->symbol_table.nsymbols].address += ((ins->code.offset / 2) - module->overlay_begin_add… in add_symbols()
165 ins->symbol_table.symbols[ins->symbol_table.nsymbols].module = module; in add_symbols()
176 module->symbol_table.symbols[i].symbol_name); */ in add_symbols()
209 ins->symbol_table.symbols[index].module = NULL; in add_symbol()
354 int cs46xx_dsp_load_module (struct snd_cs46xx * chip, struct dsp_module_desc * module) in cs46xx_dsp_load_module() argument
357 struct dsp_segment_desc * code = get_segment_desc (module,SEGTYPE_SP_PROGRAM); in cs46xx_dsp_load_module()
368 "dsp_spos: loading module %s into DSP\n", module->module_name); in cs46xx_dsp_load_module()
375 err = dsp_load_parameter(chip, get_segment_desc(module, in cs46xx_dsp_load_module()
385 err = dsp_load_sample(chip, get_segment_desc(module, in cs46xx_dsp_load_module()
405 module->load_address = ins->code.offset; in cs46xx_dsp_load_module()
406 module->overlay_begin_address = 0x000; in cs46xx_dsp_load_module()
410 if (snd_BUG_ON(!module->symbol_table.symbols)) in cs46xx_dsp_load_module()
412 if (add_symbols(chip,module)) { in cs46xx_dsp_load_module()
424 …module->nfixups = shadow_and_reallocate_code(chip,code->data,code->size,module->overlay_begin_addr… in cs46xx_dsp_load_module()
438 ins->modules[ins->nmodules] = *module; in cs46xx_dsp_load_module()
507 if (ins->symbol_table.symbols[i].module != NULL) { in cs46xx_dsp_proc_symbol_table_read()
508 module_str = ins->symbol_table.symbols[i].module->module_name; in cs46xx_dsp_proc_symbol_table_read()
1920 struct dsp_module_desc *module = &ins->modules[i]; in cs46xx_dsp_resume() local
1924 seg = get_segment_desc(module, SEGTYPE_SP_PARAMETER); in cs46xx_dsp_resume()
1929 seg = get_segment_desc(module, SEGTYPE_SP_SAMPLE); in cs46xx_dsp_resume()
1934 seg = get_segment_desc(module, SEGTYPE_SP_PROGRAM); in cs46xx_dsp_resume()
1938 doffset = seg->offset * 4 + module->load_address * 4 in cs46xx_dsp_resume()
1942 ins->code.data + module->load_address, in cs46xx_dsp_resume()