Lines Matching defs:module

113 static struct dsp_segment_desc * get_segment_desc (struct dsp_module_desc * module, int seg_type)
116 for (i = 0;i < module->nsegments; ++i) {
117 if (module->segments[i].segment_type == seg_type) {
118 return (module->segments + i);
139 static int add_symbols (struct snd_cs46xx * chip, struct dsp_module_desc * module)
144 if (module->symbol_table.nsymbols > 0) {
145 if (!strcmp(module->symbol_table.symbols[0].symbol_name, "OVERLAYBEGINADDRESS") &&
146 module->symbol_table.symbols[0].symbol_type == SYMBOL_CONSTANT ) {
147 module->overlay_begin_address = module->symbol_table.symbols[0].address;
151 for (i = 0;i < module->symbol_table.nsymbols; ++i) {
160 module->symbol_table.symbols[i].symbol_name,
161 module->symbol_table.symbols[i].symbol_type) == NULL) {
163 ins->symbol_table.symbols[ins->symbol_table.nsymbols] = module->symbol_table.symbols[i];
164 ins->symbol_table.symbols[ins->symbol_table.nsymbols].address += ((ins->code.offset / 2) - module->overlay_begin_address);
165 ins->symbol_table.symbols[ins->symbol_table.nsymbols].module = module;
176 module->symbol_table.symbols[i].symbol_name); */
209 ins->symbol_table.symbols[index].module = NULL;
310 "dsp_spos: module got no parameter segment\n");
335 "dsp_spos: module got no sample segment\n");
354 int cs46xx_dsp_load_module (struct snd_cs46xx * chip, struct dsp_module_desc * module)
357 struct dsp_segment_desc * code = get_segment_desc (module,SEGTYPE_SP_PROGRAM);
368 "dsp_spos: loading module %s into DSP\n", module->module_name);
375 err = dsp_load_parameter(chip, get_segment_desc(module,
385 err = dsp_load_sample(chip, get_segment_desc(module,
397 "dsp_spos: module got no code segment\n");
405 module->load_address = ins->code.offset;
406 module->overlay_begin_address = 0x000;
408 /* if module has a code segment it must have
410 if (snd_BUG_ON(!module->symbol_table.symbols))
412 if (add_symbols(chip,module)) {
424 module->nfixups = shadow_and_reallocate_code(chip,code->data,code->size,module->overlay_begin_address);
435 /* NOTE: module segments and symbol table must be
436 statically allocated. Case that module data is
438 ins->modules[ins->nmodules] = *module;
507 if (ins->symbol_table.symbols[i].module != NULL) {
508 module_str = ins->symbol_table.symbols[i].module->module_name;
1920 struct dsp_module_desc *module = &ins->modules[i];
1924 seg = get_segment_desc(module, SEGTYPE_SP_PARAMETER);
1929 seg = get_segment_desc(module, SEGTYPE_SP_SAMPLE);
1934 seg = get_segment_desc(module, SEGTYPE_SP_PROGRAM);
1938 doffset = seg->offset * 4 + module->load_address * 4
1942 ins->code.data + module->load_address,