Lines Matching refs:ins
64 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in shadow_and_reallocate_code() local
73 if (ins->code.offset > 0) { in shadow_and_reallocate_code()
93 address += (ins->code.offset / 2) - overlay_begin_address; in shadow_and_reallocate_code()
117 ins->code.data[ins->code.size++] = loval; in shadow_and_reallocate_code()
118 ins->code.data[ins->code.size++] = hival; in shadow_and_reallocate_code()
138 static int find_free_symbol_index (struct dsp_spos_instance * ins) in find_free_symbol_index() argument
140 int index = ins->symbol_table.nsymbols,i; in find_free_symbol_index()
142 for (i = ins->symbol_table.highest_frag_index; i < ins->symbol_table.nsymbols; ++i) { in find_free_symbol_index()
143 if (ins->symbol_table.symbols[i].deleted) { in find_free_symbol_index()
155 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in add_symbols() local
165 if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { in add_symbols()
176 ins->symbol_table.symbols[ins->symbol_table.nsymbols] = module->symbol_table.symbols[i]; in add_symbols()
177 …ins->symbol_table.symbols[ins->symbol_table.nsymbols].address += ((ins->code.offset / 2) - module-… in add_symbols()
178 ins->symbol_table.symbols[ins->symbol_table.nsymbols].module = module; in add_symbols()
179 ins->symbol_table.symbols[ins->symbol_table.nsymbols].deleted = 0; in add_symbols()
181 if (ins->symbol_table.nsymbols > ins->symbol_table.highest_frag_index) in add_symbols()
182 ins->symbol_table.highest_frag_index = ins->symbol_table.nsymbols; in add_symbols()
184 ins->symbol_table.nsymbols++; in add_symbols()
200 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in add_symbol() local
204 if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { in add_symbol()
217 index = find_free_symbol_index (ins); in add_symbol()
219 strcpy (ins->symbol_table.symbols[index].symbol_name, symbol_name); in add_symbol()
220 ins->symbol_table.symbols[index].address = address; in add_symbol()
221 ins->symbol_table.symbols[index].symbol_type = type; in add_symbol()
222 ins->symbol_table.symbols[index].module = NULL; in add_symbol()
223 ins->symbol_table.symbols[index].deleted = 0; in add_symbol()
224 symbol = (ins->symbol_table.symbols + index); in add_symbol()
226 if (index > ins->symbol_table.highest_frag_index) in add_symbol()
227 ins->symbol_table.highest_frag_index = index; in add_symbol()
229 if (index == ins->symbol_table.nsymbols) in add_symbol()
230 ins->symbol_table.nsymbols++; /* no frag. in list */ in add_symbol()
237 struct dsp_spos_instance * ins = kzalloc(sizeof(struct dsp_spos_instance), GFP_KERNEL); in cs46xx_dsp_spos_create() local
239 if (ins == NULL) in cs46xx_dsp_spos_create()
243 ins->symbol_table.symbols = vmalloc(sizeof(struct dsp_symbol_entry) * in cs46xx_dsp_spos_create()
245 ins->code.data = kmalloc(DSP_CODE_BYTE_SIZE, GFP_KERNEL); in cs46xx_dsp_spos_create()
246 ins->modules = kmalloc(sizeof(struct dsp_module_desc) * DSP_MAX_MODULES, GFP_KERNEL); in cs46xx_dsp_spos_create()
247 if (!ins->symbol_table.symbols || !ins->code.data || !ins->modules) { in cs46xx_dsp_spos_create()
251 ins->symbol_table.nsymbols = 0; in cs46xx_dsp_spos_create()
252 ins->symbol_table.highest_frag_index = 0; in cs46xx_dsp_spos_create()
253 ins->code.offset = 0; in cs46xx_dsp_spos_create()
254 ins->code.size = 0; in cs46xx_dsp_spos_create()
255 ins->nscb = 0; in cs46xx_dsp_spos_create()
256 ins->ntask = 0; in cs46xx_dsp_spos_create()
257 ins->nmodules = 0; in cs46xx_dsp_spos_create()
261 ins->spdif_in_sample_rate = 48000; in cs46xx_dsp_spos_create()
264 ins->dac_volume_right = 0x8000; in cs46xx_dsp_spos_create()
265 ins->dac_volume_left = 0x8000; in cs46xx_dsp_spos_create()
266 ins->spdif_input_volume_right = 0x8000; in cs46xx_dsp_spos_create()
267 ins->spdif_input_volume_left = 0x8000; in cs46xx_dsp_spos_create()
271 ins->spdif_csuv_default = in cs46xx_dsp_spos_create()
272 ins->spdif_csuv_stream = in cs46xx_dsp_spos_create()
278 return ins; in cs46xx_dsp_spos_create()
281 kfree(ins->modules); in cs46xx_dsp_spos_create()
282 kfree(ins->code.data); in cs46xx_dsp_spos_create()
283 vfree(ins->symbol_table.symbols); in cs46xx_dsp_spos_create()
284 kfree(ins); in cs46xx_dsp_spos_create()
291 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_spos_destroy() local
293 if (snd_BUG_ON(!ins)) in cs46xx_dsp_spos_destroy()
297 for (i = 0; i < ins->nscb; ++i) { in cs46xx_dsp_spos_destroy()
298 if (ins->scbs[i].deleted) continue; in cs46xx_dsp_spos_destroy()
300 cs46xx_dsp_proc_free_scb_desc ( (ins->scbs + i) ); in cs46xx_dsp_spos_destroy()
302 kfree(ins->scbs[i].data); in cs46xx_dsp_spos_destroy()
306 kfree(ins->code.data); in cs46xx_dsp_spos_destroy()
307 vfree(ins->symbol_table.symbols); in cs46xx_dsp_spos_destroy()
308 kfree(ins->modules); in cs46xx_dsp_spos_destroy()
309 kfree(ins); in cs46xx_dsp_spos_destroy()
366 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_load_module() local
371 if (ins->nmodules == DSP_MAX_MODULES - 1) { in cs46xx_dsp_load_module()
380 if (ins->nmodules == 0) { in cs46xx_dsp_load_module()
390 if (ins->nmodules == 0) { in cs46xx_dsp_load_module()
400 if (ins->nmodules == 0) { in cs46xx_dsp_load_module()
409 if (ins->code.offset + code->size > DSP_CODE_BYTE_SIZE) { in cs46xx_dsp_load_module()
415 module->load_address = ins->code.offset; in cs46xx_dsp_load_module()
428 doffset = (code->offset * 4 + ins->code.offset * 4 + DSP_CODE_BYTE_OFFSET); in cs46xx_dsp_load_module()
436 if (snd_cs46xx_download (chip,(ins->code.data + ins->code.offset),doffset,dsize)) { in cs46xx_dsp_load_module()
442 ins->code.offset += code->size; in cs46xx_dsp_load_module()
448 ins->modules[ins->nmodules] = *module; in cs46xx_dsp_load_module()
449 ins->nmodules++; in cs46xx_dsp_load_module()
458 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_lookup_symbol() local
460 for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { in cs46xx_dsp_lookup_symbol()
462 if (ins->symbol_table.symbols[i].deleted) in cs46xx_dsp_lookup_symbol()
465 if (!strcmp(ins->symbol_table.symbols[i].symbol_name,symbol_name) && in cs46xx_dsp_lookup_symbol()
466 ins->symbol_table.symbols[i].symbol_type == symbol_type) { in cs46xx_dsp_lookup_symbol()
467 return (ins->symbol_table.symbols + i); in cs46xx_dsp_lookup_symbol()
485 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_lookup_symbol_addr() local
487 for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { in cs46xx_dsp_lookup_symbol_addr()
489 if (ins->symbol_table.symbols[i].deleted) in cs46xx_dsp_lookup_symbol_addr()
492 if (ins->symbol_table.symbols[i].address == address && in cs46xx_dsp_lookup_symbol_addr()
493 ins->symbol_table.symbols[i].symbol_type == symbol_type) { in cs46xx_dsp_lookup_symbol_addr()
494 return (ins->symbol_table.symbols + i); in cs46xx_dsp_lookup_symbol_addr()
507 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_symbol_table_read() local
511 for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { in cs46xx_dsp_proc_symbol_table_read()
514 if (ins->symbol_table.symbols[i].deleted) in cs46xx_dsp_proc_symbol_table_read()
517 if (ins->symbol_table.symbols[i].module != NULL) { in cs46xx_dsp_proc_symbol_table_read()
518 module_str = ins->symbol_table.symbols[i].module->module_name; in cs46xx_dsp_proc_symbol_table_read()
523 ins->symbol_table.symbols[i].address, in cs46xx_dsp_proc_symbol_table_read()
524 ins->symbol_table.symbols[i].symbol_type, in cs46xx_dsp_proc_symbol_table_read()
525 ins->symbol_table.symbols[i].symbol_name, in cs46xx_dsp_proc_symbol_table_read()
535 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_modules_read() local
540 for ( i = 0; i < ins->nmodules; ++i ) { in cs46xx_dsp_proc_modules_read()
541 snd_iprintf(buffer, "\n%s:\n", ins->modules[i].module_name); in cs46xx_dsp_proc_modules_read()
542 snd_iprintf(buffer, " %d symbols\n", ins->modules[i].symbol_table.nsymbols); in cs46xx_dsp_proc_modules_read()
543 snd_iprintf(buffer, " %d fixups\n", ins->modules[i].nfixups); in cs46xx_dsp_proc_modules_read()
545 for (j = 0; j < ins->modules[i].nsegments; ++ j) { in cs46xx_dsp_proc_modules_read()
546 struct dsp_segment_desc * desc = (ins->modules[i].segments + j); in cs46xx_dsp_proc_modules_read()
558 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_task_tree_read() local
564 for ( i = 0; i < ins->ntask; ++i) { in cs46xx_dsp_proc_task_tree_read()
565 snd_iprintf(buffer,"\n%04x %s:\n",ins->tasks[i].address,ins->tasks[i].task_name); in cs46xx_dsp_proc_task_tree_read()
567 for (col = 0,j = 0;j < ins->tasks[i].size; j++,col++) { in cs46xx_dsp_proc_task_tree_read()
573 val = readl(dst + (ins->tasks[i].address + j) * sizeof(u32)); in cs46xx_dsp_proc_task_tree_read()
586 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_scb_read() local
591 for ( i = 0; i < ins->nscb; ++i) { in cs46xx_dsp_proc_scb_read()
592 if (ins->scbs[i].deleted) in cs46xx_dsp_proc_scb_read()
594 snd_iprintf(buffer,"\n%04x %s:\n\n",ins->scbs[i].address,ins->scbs[i].scb_name); in cs46xx_dsp_proc_scb_read()
596 if (ins->scbs[i].parent_scb_ptr != NULL) { in cs46xx_dsp_proc_scb_read()
598 ins->scbs[i].parent_scb_ptr->scb_name, in cs46xx_dsp_proc_scb_read()
599 ins->scbs[i].parent_scb_ptr->address); in cs46xx_dsp_proc_scb_read()
603 ins->scbs[i].sub_list_ptr->scb_name, in cs46xx_dsp_proc_scb_read()
604 ins->scbs[i].sub_list_ptr->address, in cs46xx_dsp_proc_scb_read()
605 ins->scbs[i].next_scb_ptr->scb_name, in cs46xx_dsp_proc_scb_read()
606 ins->scbs[i].next_scb_ptr->address, in cs46xx_dsp_proc_scb_read()
607 ins->scbs[i].task_entry->symbol_name, in cs46xx_dsp_proc_scb_read()
608 ins->scbs[i].task_entry->address); in cs46xx_dsp_proc_scb_read()
794 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_init() local
797 ins->snd_card = card; in cs46xx_dsp_proc_init()
809 ins->proc_dsp_dir = entry; in cs46xx_dsp_proc_init()
811 if (!ins->proc_dsp_dir) in cs46xx_dsp_proc_init()
814 if ((entry = snd_info_create_card_entry(card, "spos_symbols", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
824 ins->proc_sym_info_entry = entry; in cs46xx_dsp_proc_init()
826 if ((entry = snd_info_create_card_entry(card, "spos_modules", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
836 ins->proc_modules_info_entry = entry; in cs46xx_dsp_proc_init()
838 if ((entry = snd_info_create_card_entry(card, "parameter", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
848 ins->proc_parameter_dump_info_entry = entry; in cs46xx_dsp_proc_init()
850 if ((entry = snd_info_create_card_entry(card, "sample", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
860 ins->proc_sample_dump_info_entry = entry; in cs46xx_dsp_proc_init()
862 if ((entry = snd_info_create_card_entry(card, "task_tree", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
872 ins->proc_task_info_entry = entry; in cs46xx_dsp_proc_init()
874 if ((entry = snd_info_create_card_entry(card, "scb_info", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
884 ins->proc_scb_info_entry = entry; in cs46xx_dsp_proc_init()
888 for (i = 0; i < ins->nscb; ++i) { in cs46xx_dsp_proc_init()
889 if (ins->scbs[i].deleted) continue; in cs46xx_dsp_proc_init()
891 cs46xx_dsp_proc_register_scb_desc (chip, (ins->scbs + i)); in cs46xx_dsp_proc_init()
900 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_done() local
903 if (!ins) in cs46xx_dsp_proc_done()
906 snd_info_free_entry(ins->proc_sym_info_entry); in cs46xx_dsp_proc_done()
907 ins->proc_sym_info_entry = NULL; in cs46xx_dsp_proc_done()
909 snd_info_free_entry(ins->proc_modules_info_entry); in cs46xx_dsp_proc_done()
910 ins->proc_modules_info_entry = NULL; in cs46xx_dsp_proc_done()
912 snd_info_free_entry(ins->proc_parameter_dump_info_entry); in cs46xx_dsp_proc_done()
913 ins->proc_parameter_dump_info_entry = NULL; in cs46xx_dsp_proc_done()
915 snd_info_free_entry(ins->proc_sample_dump_info_entry); in cs46xx_dsp_proc_done()
916 ins->proc_sample_dump_info_entry = NULL; in cs46xx_dsp_proc_done()
918 snd_info_free_entry(ins->proc_scb_info_entry); in cs46xx_dsp_proc_done()
919 ins->proc_scb_info_entry = NULL; in cs46xx_dsp_proc_done()
921 snd_info_free_entry(ins->proc_task_info_entry); in cs46xx_dsp_proc_done()
922 ins->proc_task_info_entry = NULL; in cs46xx_dsp_proc_done()
925 for (i = 0; i < ins->nscb; ++i) { in cs46xx_dsp_proc_done()
926 if (ins->scbs[i].deleted) continue; in cs46xx_dsp_proc_done()
927 cs46xx_dsp_proc_free_scb_desc ( (ins->scbs + i) ); in cs46xx_dsp_proc_done()
931 snd_info_free_entry(ins->proc_dsp_dir); in cs46xx_dsp_proc_done()
932 ins->proc_dsp_dir = NULL; in cs46xx_dsp_proc_done()
967 static int find_free_scb_index (struct dsp_spos_instance * ins) in find_free_scb_index() argument
969 int index = ins->nscb, i; in find_free_scb_index()
971 for (i = ins->scb_highest_frag_index; i < ins->nscb; ++i) { in find_free_scb_index()
972 if (ins->scbs[i].deleted) { in find_free_scb_index()
983 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in _map_scb() local
987 if (ins->nscb == DSP_MAX_SCB_DESC - 1) { in _map_scb()
993 index = find_free_scb_index (ins); in _map_scb()
995 memset(&ins->scbs[index], 0, sizeof(ins->scbs[index])); in _map_scb()
996 strcpy(ins->scbs[index].scb_name, name); in _map_scb()
997 ins->scbs[index].address = dest; in _map_scb()
998 ins->scbs[index].index = index; in _map_scb()
999 ins->scbs[index].ref_count = 1; in _map_scb()
1001 desc = (ins->scbs + index); in _map_scb()
1002 ins->scbs[index].scb_symbol = add_symbol (chip, name, dest, SYMBOL_PARAMETER); in _map_scb()
1004 if (index > ins->scb_highest_frag_index) in _map_scb()
1005 ins->scb_highest_frag_index = index; in _map_scb()
1007 if (index == ins->nscb) in _map_scb()
1008 ins->nscb++; in _map_scb()
1016 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in _map_task_tree() local
1019 if (ins->ntask == DSP_MAX_TASK_DESC - 1) { in _map_task_tree()
1026 strcpy(ins->tasks[ins->ntask].task_name, name); in _map_task_tree()
1028 strcpy(ins->tasks[ins->ntask].task_name, "(NULL)"); in _map_task_tree()
1029 ins->tasks[ins->ntask].address = dest; in _map_task_tree()
1030 ins->tasks[ins->ntask].size = size; in _map_task_tree()
1033 ins->tasks[ins->ntask].index = ins->ntask; in _map_task_tree()
1034 desc = (ins->tasks + ins->ntask); in _map_task_tree()
1035 ins->ntask++; in _map_task_tree()
1090 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_scb_and_task_init() local
1182 ins->the_null_scb = cs46xx_dsp_create_scb(chip, "nullSCB", (u32 *)&null_scb, NULL_SCB_ADDR); in cs46xx_dsp_scb_and_task_init()
1183 ins->the_null_scb->task_entry = null_algorithm; in cs46xx_dsp_scb_and_task_init()
1184 ins->the_null_scb->sub_list_ptr = ins->the_null_scb; in cs46xx_dsp_scb_and_task_init()
1185 ins->the_null_scb->next_scb_ptr = ins->the_null_scb; in cs46xx_dsp_scb_and_task_init()
1186 ins->the_null_scb->parent_scb_ptr = NULL; in cs46xx_dsp_scb_and_task_init()
1187 cs46xx_dsp_proc_register_scb_desc (chip,ins->the_null_scb); in cs46xx_dsp_scb_and_task_init()
1356 ins->master_mix_scb = master_mix_scb; in cs46xx_dsp_scb_and_task_init()
1366 ins->codec_in_scb = codec_in_scb; in cs46xx_dsp_scb_and_task_init()
1403 ins->record_mixer_scb = record_mix_scb; in cs46xx_dsp_scb_and_task_init()
1443 ins->rear_mix_scb = rear_mix_scb; in cs46xx_dsp_scb_and_task_init()
1458 ins->center_lfe_mix_scb = cs46xx_dsp_create_mix_only_scb(chip,"CLFEMixerSCB", in cs46xx_dsp_scb_and_task_init()
1463 if (!ins->center_lfe_mix_scb) goto _fail_end; in cs46xx_dsp_scb_and_task_init()
1469 ins->center_lfe_mix_scb = rear_mix_scb; in cs46xx_dsp_scb_and_task_init()
1484 ins->ref_snoop_scb = magic_snoop_scb; in cs46xx_dsp_scb_and_task_init()
1494 ins->spdif_in_sample_rate, in cs46xx_dsp_scb_and_task_init()
1505 ins->spdif_in_src = src_task_scb; in cs46xx_dsp_scb_and_task_init()
1518 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_async_init() local
1664 async_codec_scb_desc->sub_list_ptr = ins->the_null_scb; in cs46xx_dsp_async_init()
1669 spdifi_scb_desc->sub_list_ptr = ins->the_null_scb; in cs46xx_dsp_async_init()
1674 spdifo_scb_desc->sub_list_ptr = ins->the_null_scb; in cs46xx_dsp_async_init()
1695 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_disable_spdif_hw() local
1711 ins->spdif_status_out &= ~DSP_SPDIF_STATUS_HW_ENABLED; in cs46xx_dsp_disable_spdif_hw()
1716 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_enable_spdif_hw() local
1729 cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV, ins->spdif_csuv_default); in cs46xx_dsp_enable_spdif_hw()
1732 ins->spdif_status_out |= DSP_SPDIF_STATUS_HW_ENABLED; in cs46xx_dsp_enable_spdif_hw()
1739 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_enable_spdif_in() local
1745 if (snd_BUG_ON(ins->asynch_rx_scb)) in cs46xx_dsp_enable_spdif_in()
1747 if (snd_BUG_ON(!ins->spdif_in_src)) in cs46xx_dsp_enable_spdif_in()
1752 if ( ! (ins->spdif_status_out & DSP_SPDIF_STATUS_INPUT_CTRL_ENABLED) ) { in cs46xx_dsp_enable_spdif_in()
1762 ins->spdif_status_out |= DSP_SPDIF_STATUS_INPUT_CTRL_ENABLED; in cs46xx_dsp_enable_spdif_in()
1766 ins->asynch_rx_scb = cs46xx_dsp_create_asynch_fg_rx_scb(chip,"AsynchFGRxSCB", in cs46xx_dsp_enable_spdif_in()
1770 ins->spdif_in_src, in cs46xx_dsp_enable_spdif_in()
1781 cs46xx_src_link(chip,ins->spdif_in_src); in cs46xx_dsp_enable_spdif_in()
1784 cs46xx_dsp_scb_set_volume (chip,ins->spdif_in_src,0x7fff,0x7fff); in cs46xx_dsp_enable_spdif_in()
1793 ins->spdif_status_in = 1; in cs46xx_dsp_enable_spdif_in()
1801 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_disable_spdif_in() local
1803 if (snd_BUG_ON(!ins->asynch_rx_scb)) in cs46xx_dsp_disable_spdif_in()
1805 if (snd_BUG_ON(!ins->spdif_in_src)) in cs46xx_dsp_disable_spdif_in()
1811 cs46xx_dsp_remove_scb (chip,ins->asynch_rx_scb); in cs46xx_dsp_disable_spdif_in()
1812 ins->asynch_rx_scb = NULL; in cs46xx_dsp_disable_spdif_in()
1814 cs46xx_src_unlink(chip,ins->spdif_in_src); in cs46xx_dsp_disable_spdif_in()
1817 ins->spdif_status_in = 0; in cs46xx_dsp_disable_spdif_in()
1829 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_enable_pcm_capture() local
1831 if (snd_BUG_ON(ins->pcm_input)) in cs46xx_dsp_enable_pcm_capture()
1833 if (snd_BUG_ON(!ins->ref_snoop_scb)) in cs46xx_dsp_enable_pcm_capture()
1837 ins->pcm_input = cs46xx_add_record_source(chip,ins->ref_snoop_scb,PCMSERIALIN_PCM_SCB_ADDR, in cs46xx_dsp_enable_pcm_capture()
1846 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_disable_pcm_capture() local
1848 if (snd_BUG_ON(!ins->pcm_input)) in cs46xx_dsp_disable_pcm_capture()
1852 cs46xx_dsp_remove_scb (chip,ins->pcm_input); in cs46xx_dsp_disable_pcm_capture()
1853 ins->pcm_input = NULL; in cs46xx_dsp_disable_pcm_capture()
1861 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_enable_adc_capture() local
1863 if (snd_BUG_ON(ins->adc_input)) in cs46xx_dsp_enable_adc_capture()
1865 if (snd_BUG_ON(!ins->codec_in_scb)) in cs46xx_dsp_enable_adc_capture()
1869 ins->adc_input = cs46xx_add_record_source(chip,ins->codec_in_scb,PCMSERIALIN_SCB_ADDR, in cs46xx_dsp_enable_adc_capture()
1878 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_disable_adc_capture() local
1880 if (snd_BUG_ON(!ins->adc_input)) in cs46xx_dsp_disable_adc_capture()
1884 cs46xx_dsp_remove_scb (chip,ins->adc_input); in cs46xx_dsp_disable_adc_capture()
1885 ins->adc_input = NULL; in cs46xx_dsp_disable_adc_capture()
1931 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_set_dac_volume() local
1937 scb = ins->master_mix_scb->sub_list_ptr; in cs46xx_dsp_set_dac_volume()
1938 while (scb != ins->the_null_scb) { in cs46xx_dsp_set_dac_volume()
1944 scb = ins->rear_mix_scb->sub_list_ptr; in cs46xx_dsp_set_dac_volume()
1945 while (scb != ins->the_null_scb) { in cs46xx_dsp_set_dac_volume()
1950 ins->dac_volume_left = left; in cs46xx_dsp_set_dac_volume()
1951 ins->dac_volume_right = right; in cs46xx_dsp_set_dac_volume()
1960 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_set_iec958_volume() local
1964 if (ins->asynch_rx_scb != NULL) in cs46xx_dsp_set_iec958_volume()
1965 cs46xx_dsp_scb_set_volume (chip,ins->asynch_rx_scb, in cs46xx_dsp_set_iec958_volume()
1968 ins->spdif_input_volume_left = left; in cs46xx_dsp_set_iec958_volume()
1969 ins->spdif_input_volume_right = right; in cs46xx_dsp_set_iec958_volume()
1979 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_resume() local
1989 for (i = 0; i < ins->nmodules; i++) { in cs46xx_dsp_resume()
1990 struct dsp_module_desc *module = &ins->modules[i]; in cs46xx_dsp_resume()
2012 ins->code.data + module->load_address, in cs46xx_dsp_resume()
2018 for (i = 0; i < ins->ntask; i++) { in cs46xx_dsp_resume()
2019 struct dsp_task_descriptor *t = &ins->tasks[i]; in cs46xx_dsp_resume()
2023 for (i = 0; i < ins->nscb; i++) { in cs46xx_dsp_resume()
2024 struct dsp_scb_descriptor *s = &ins->scbs[i]; in cs46xx_dsp_resume()
2029 for (i = 0; i < ins->nscb; i++) { in cs46xx_dsp_resume()
2030 struct dsp_scb_descriptor *s = &ins->scbs[i]; in cs46xx_dsp_resume()
2039 if (ins->spdif_status_out & DSP_SPDIF_STATUS_HW_ENABLED) { in cs46xx_dsp_resume()
2041 snd_cs46xx_poke(chip, (ins->ref_snoop_scb->address + 2) << 2, in cs46xx_dsp_resume()
2043 if (ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN) in cs46xx_dsp_resume()
2045 ins->spdif_csuv_stream); in cs46xx_dsp_resume()