Lines Matching defs:module

120 static struct dsp_segment_desc * get_segment_desc (struct dsp_module_desc * module, int seg_type)
123 for (i = 0;i < module->nsegments; ++i) {
124 if (module->segments[i].segment_type == seg_type) {
125 return (module->segments + i);
146 static int add_symbols (struct snd_cs46xx * chip, struct dsp_module_desc * module)
151 if (module->symbol_table.nsymbols > 0) {
152 if (!strcmp(module->symbol_table.symbols[0].symbol_name, "OVERLAYBEGINADDRESS") &&
153 module->symbol_table.symbols[0].symbol_type == SYMBOL_CONSTANT ) {
154 module->overlay_begin_address = module->symbol_table.symbols[0].address;
158 for (i = 0;i < module->symbol_table.nsymbols; ++i) {
166 module->symbol_table.symbols[i].symbol_name,
167 module->symbol_table.symbols[i].symbol_type) == NULL) {
169 ins->symbol_table.symbols[ins->symbol_table.nsymbols] = module->symbol_table.symbols[i];
170 ins->symbol_table.symbols[ins->symbol_table.nsymbols].address += ((ins->code.offset / 2) - module->overlay_begin_address);
171 ins->symbol_table.symbols[ins->symbol_table.nsymbols].module = module;
180 module->symbol_table.symbols[i].symbol_name); */
211 ins->symbol_table.symbols[index].module = NULL;
308 snd_printdd("dsp_spos: module got no parameter segment\n");
332 snd_printdd("dsp_spos: module got no sample segment\n");
349 int cs46xx_dsp_load_module (struct snd_cs46xx * chip, struct dsp_module_desc * module)
352 struct dsp_segment_desc * code = get_segment_desc (module,SEGTYPE_SP_PROGRAM);
361 snd_printdd("dsp_spos: loading module %s into DSP\n", module->module_name);
368 err = dsp_load_parameter(chip, get_segment_desc(module,
378 err = dsp_load_sample(chip, get_segment_desc(module,
389 snd_printdd("dsp_spos: module got no code segment\n");
396 module->load_address = ins->code.offset;
397 module->overlay_begin_address = 0x000;
399 /* if module has a code segment it must have
401 if (snd_BUG_ON(!module->symbol_table.symbols))
403 if (add_symbols(chip,module)) {
413 module->nfixups = shadow_and_reallocate_code(chip,code->data,code->size,module->overlay_begin_address);
423 /* NOTE: module segments and symbol table must be
424 statically allocated. Case that module data is
426 ins->modules[ins->nmodules] = *module;
495 if (ins->symbol_table.symbols[i].module != NULL) {
496 module_str = ins->symbol_table.symbols[i].module->module_name;
1954 struct dsp_module_desc *module = &ins->modules[i];
1958 seg = get_segment_desc(module, SEGTYPE_SP_PARAMETER);
1963 seg = get_segment_desc(module, SEGTYPE_SP_SAMPLE);
1968 seg = get_segment_desc(module, SEGTYPE_SP_PROGRAM);
1972 doffset = seg->offset * 4 + module->load_address * 4
1976 ins->code.data + module->load_address,