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()
116 ins->code.data[ins->code.size++] = loval; in shadow_and_reallocate_code()
117 ins->code.data[ins->code.size++] = hival; in shadow_and_reallocate_code()
137 static int find_free_symbol_index (struct dsp_spos_instance * ins) in find_free_symbol_index() argument
139 int index = ins->symbol_table.nsymbols,i; in find_free_symbol_index()
141 for (i = ins->symbol_table.highest_frag_index; i < ins->symbol_table.nsymbols; ++i) { in find_free_symbol_index()
142 if (ins->symbol_table.symbols[i].deleted) { in find_free_symbol_index()
154 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in add_symbols() local
164 if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { in add_symbols()
175 ins->symbol_table.symbols[ins->symbol_table.nsymbols] = module->symbol_table.symbols[i]; in add_symbols()
176ins->symbol_table.symbols[ins->symbol_table.nsymbols].address += ((ins->code.offset / 2) - module-… in add_symbols()
177 ins->symbol_table.symbols[ins->symbol_table.nsymbols].module = module; in add_symbols()
178 ins->symbol_table.symbols[ins->symbol_table.nsymbols].deleted = 0; in add_symbols()
180 if (ins->symbol_table.nsymbols > ins->symbol_table.highest_frag_index) in add_symbols()
181 ins->symbol_table.highest_frag_index = ins->symbol_table.nsymbols; in add_symbols()
183 ins->symbol_table.nsymbols++; in add_symbols()
199 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in add_symbol() local
203 if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { in add_symbol()
216 index = find_free_symbol_index (ins); in add_symbol()
218 strcpy (ins->symbol_table.symbols[index].symbol_name, symbol_name); in add_symbol()
219 ins->symbol_table.symbols[index].address = address; in add_symbol()
220 ins->symbol_table.symbols[index].symbol_type = type; in add_symbol()
221 ins->symbol_table.symbols[index].module = NULL; in add_symbol()
222 ins->symbol_table.symbols[index].deleted = 0; in add_symbol()
223 symbol = (ins->symbol_table.symbols + index); in add_symbol()
225 if (index > ins->symbol_table.highest_frag_index) in add_symbol()
226 ins->symbol_table.highest_frag_index = index; in add_symbol()
228 if (index == ins->symbol_table.nsymbols) in add_symbol()
229 ins->symbol_table.nsymbols++; /* no frag. in list */ in add_symbol()
236 struct dsp_spos_instance * ins = kzalloc(sizeof(struct dsp_spos_instance), GFP_KERNEL); in cs46xx_dsp_spos_create() local
238 if (ins == NULL) in cs46xx_dsp_spos_create()
242 ins->symbol_table.symbols = vmalloc(sizeof(struct dsp_symbol_entry) * in cs46xx_dsp_spos_create()
244 ins->code.data = kmalloc(DSP_CODE_BYTE_SIZE, GFP_KERNEL); in cs46xx_dsp_spos_create()
245 ins->modules = kmalloc(sizeof(struct dsp_module_desc) * DSP_MAX_MODULES, GFP_KERNEL); in cs46xx_dsp_spos_create()
246 if (!ins->symbol_table.symbols || !ins->code.data || !ins->modules) { in cs46xx_dsp_spos_create()
250 ins->symbol_table.nsymbols = 0; in cs46xx_dsp_spos_create()
251 ins->symbol_table.highest_frag_index = 0; in cs46xx_dsp_spos_create()
252 ins->code.offset = 0; in cs46xx_dsp_spos_create()
253 ins->code.size = 0; in cs46xx_dsp_spos_create()
254 ins->nscb = 0; in cs46xx_dsp_spos_create()
255 ins->ntask = 0; in cs46xx_dsp_spos_create()
256 ins->nmodules = 0; in cs46xx_dsp_spos_create()
260 ins->spdif_in_sample_rate = 48000; in cs46xx_dsp_spos_create()
263 ins->dac_volume_right = 0x8000; in cs46xx_dsp_spos_create()
264 ins->dac_volume_left = 0x8000; in cs46xx_dsp_spos_create()
265 ins->spdif_input_volume_right = 0x8000; in cs46xx_dsp_spos_create()
266 ins->spdif_input_volume_left = 0x8000; in cs46xx_dsp_spos_create()
270 ins->spdif_csuv_default = in cs46xx_dsp_spos_create()
271 ins->spdif_csuv_stream = in cs46xx_dsp_spos_create()
277 return ins; in cs46xx_dsp_spos_create()
280 kfree(ins->modules); in cs46xx_dsp_spos_create()
281 kfree(ins->code.data); in cs46xx_dsp_spos_create()
282 vfree(ins->symbol_table.symbols); in cs46xx_dsp_spos_create()
283 kfree(ins); in cs46xx_dsp_spos_create()
290 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_spos_destroy() local
292 if (snd_BUG_ON(!ins)) in cs46xx_dsp_spos_destroy()
296 for (i = 0; i < ins->nscb; ++i) { in cs46xx_dsp_spos_destroy()
297 if (ins->scbs[i].deleted) continue; in cs46xx_dsp_spos_destroy()
299 cs46xx_dsp_proc_free_scb_desc ( (ins->scbs + i) ); in cs46xx_dsp_spos_destroy()
301 kfree(ins->scbs[i].data); in cs46xx_dsp_spos_destroy()
305 kfree(ins->code.data); in cs46xx_dsp_spos_destroy()
306 vfree(ins->symbol_table.symbols); in cs46xx_dsp_spos_destroy()
307 kfree(ins->modules); in cs46xx_dsp_spos_destroy()
308 kfree(ins); in cs46xx_dsp_spos_destroy()
365 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_load_module() local
370 if (ins->nmodules == DSP_MAX_MODULES - 1) { in cs46xx_dsp_load_module()
379 if (ins->nmodules == 0) { in cs46xx_dsp_load_module()
389 if (ins->nmodules == 0) { in cs46xx_dsp_load_module()
399 if (ins->nmodules == 0) { in cs46xx_dsp_load_module()
408 if (ins->code.offset + code->size > DSP_CODE_BYTE_SIZE) { in cs46xx_dsp_load_module()
414 module->load_address = ins->code.offset; in cs46xx_dsp_load_module()
427 doffset = (code->offset * 4 + ins->code.offset * 4 + DSP_CODE_BYTE_OFFSET); in cs46xx_dsp_load_module()
435 if (snd_cs46xx_download (chip,(ins->code.data + ins->code.offset),doffset,dsize)) { in cs46xx_dsp_load_module()
441 ins->code.offset += code->size; in cs46xx_dsp_load_module()
447 ins->modules[ins->nmodules] = *module; in cs46xx_dsp_load_module()
448 ins->nmodules++; in cs46xx_dsp_load_module()
457 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_lookup_symbol() local
459 for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { in cs46xx_dsp_lookup_symbol()
461 if (ins->symbol_table.symbols[i].deleted) in cs46xx_dsp_lookup_symbol()
464 if (!strcmp(ins->symbol_table.symbols[i].symbol_name,symbol_name) && in cs46xx_dsp_lookup_symbol()
465 ins->symbol_table.symbols[i].symbol_type == symbol_type) { in cs46xx_dsp_lookup_symbol()
466 return (ins->symbol_table.symbols + i); in cs46xx_dsp_lookup_symbol()
484 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_lookup_symbol_addr() local
486 for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { in cs46xx_dsp_lookup_symbol_addr()
488 if (ins->symbol_table.symbols[i].deleted) in cs46xx_dsp_lookup_symbol_addr()
491 if (ins->symbol_table.symbols[i].address == address && in cs46xx_dsp_lookup_symbol_addr()
492 ins->symbol_table.symbols[i].symbol_type == symbol_type) { in cs46xx_dsp_lookup_symbol_addr()
493 return (ins->symbol_table.symbols + i); in cs46xx_dsp_lookup_symbol_addr()
506 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_symbol_table_read() local
510 for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { in cs46xx_dsp_proc_symbol_table_read()
513 if (ins->symbol_table.symbols[i].deleted) in cs46xx_dsp_proc_symbol_table_read()
516 if (ins->symbol_table.symbols[i].module != NULL) { in cs46xx_dsp_proc_symbol_table_read()
517 module_str = ins->symbol_table.symbols[i].module->module_name; in cs46xx_dsp_proc_symbol_table_read()
522 ins->symbol_table.symbols[i].address, in cs46xx_dsp_proc_symbol_table_read()
523 ins->symbol_table.symbols[i].symbol_type, in cs46xx_dsp_proc_symbol_table_read()
524 ins->symbol_table.symbols[i].symbol_name, in cs46xx_dsp_proc_symbol_table_read()
534 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_modules_read() local
539 for ( i = 0; i < ins->nmodules; ++i ) { in cs46xx_dsp_proc_modules_read()
540 snd_iprintf(buffer, "\n%s:\n", ins->modules[i].module_name); in cs46xx_dsp_proc_modules_read()
541 snd_iprintf(buffer, " %d symbols\n", ins->modules[i].symbol_table.nsymbols); in cs46xx_dsp_proc_modules_read()
542 snd_iprintf(buffer, " %d fixups\n", ins->modules[i].nfixups); in cs46xx_dsp_proc_modules_read()
544 for (j = 0; j < ins->modules[i].nsegments; ++ j) { in cs46xx_dsp_proc_modules_read()
545 struct dsp_segment_desc * desc = (ins->modules[i].segments + j); in cs46xx_dsp_proc_modules_read()
557 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_task_tree_read() local
563 for ( i = 0; i < ins->ntask; ++i) { in cs46xx_dsp_proc_task_tree_read()
564 snd_iprintf(buffer,"\n%04x %s:\n",ins->tasks[i].address,ins->tasks[i].task_name); in cs46xx_dsp_proc_task_tree_read()
566 for (col = 0,j = 0;j < ins->tasks[i].size; j++,col++) { in cs46xx_dsp_proc_task_tree_read()
572 val = readl(dst + (ins->tasks[i].address + j) * sizeof(u32)); in cs46xx_dsp_proc_task_tree_read()
585 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_scb_read() local
590 for ( i = 0; i < ins->nscb; ++i) { in cs46xx_dsp_proc_scb_read()
591 if (ins->scbs[i].deleted) in cs46xx_dsp_proc_scb_read()
593 snd_iprintf(buffer,"\n%04x %s:\n\n",ins->scbs[i].address,ins->scbs[i].scb_name); in cs46xx_dsp_proc_scb_read()
595 if (ins->scbs[i].parent_scb_ptr != NULL) { in cs46xx_dsp_proc_scb_read()
597 ins->scbs[i].parent_scb_ptr->scb_name, in cs46xx_dsp_proc_scb_read()
598 ins->scbs[i].parent_scb_ptr->address); in cs46xx_dsp_proc_scb_read()
602 ins->scbs[i].sub_list_ptr->scb_name, in cs46xx_dsp_proc_scb_read()
603 ins->scbs[i].sub_list_ptr->address, in cs46xx_dsp_proc_scb_read()
604 ins->scbs[i].next_scb_ptr->scb_name, in cs46xx_dsp_proc_scb_read()
605 ins->scbs[i].next_scb_ptr->address, in cs46xx_dsp_proc_scb_read()
606 ins->scbs[i].task_entry->symbol_name, in cs46xx_dsp_proc_scb_read()
607 ins->scbs[i].task_entry->address); in cs46xx_dsp_proc_scb_read()
793 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_init() local
796 ins->snd_card = card; in cs46xx_dsp_proc_init()
808 ins->proc_dsp_dir = entry; in cs46xx_dsp_proc_init()
810 if (!ins->proc_dsp_dir) in cs46xx_dsp_proc_init()
813 if ((entry = snd_info_create_card_entry(card, "spos_symbols", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
823 ins->proc_sym_info_entry = entry; in cs46xx_dsp_proc_init()
825 if ((entry = snd_info_create_card_entry(card, "spos_modules", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
835 ins->proc_modules_info_entry = entry; in cs46xx_dsp_proc_init()
837 if ((entry = snd_info_create_card_entry(card, "parameter", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
847 ins->proc_parameter_dump_info_entry = entry; in cs46xx_dsp_proc_init()
849 if ((entry = snd_info_create_card_entry(card, "sample", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
859 ins->proc_sample_dump_info_entry = entry; in cs46xx_dsp_proc_init()
861 if ((entry = snd_info_create_card_entry(card, "task_tree", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
871 ins->proc_task_info_entry = entry; in cs46xx_dsp_proc_init()
873 if ((entry = snd_info_create_card_entry(card, "scb_info", ins->proc_dsp_dir)) != NULL) { in cs46xx_dsp_proc_init()
883 ins->proc_scb_info_entry = entry; in cs46xx_dsp_proc_init()
887 for (i = 0; i < ins->nscb; ++i) { in cs46xx_dsp_proc_init()
888 if (ins->scbs[i].deleted) continue; in cs46xx_dsp_proc_init()
890 cs46xx_dsp_proc_register_scb_desc (chip, (ins->scbs + i)); in cs46xx_dsp_proc_init()
899 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_proc_done() local
902 snd_info_free_entry(ins->proc_sym_info_entry); in cs46xx_dsp_proc_done()
903 ins->proc_sym_info_entry = NULL; in cs46xx_dsp_proc_done()
905 snd_info_free_entry(ins->proc_modules_info_entry); in cs46xx_dsp_proc_done()
906 ins->proc_modules_info_entry = NULL; in cs46xx_dsp_proc_done()
908 snd_info_free_entry(ins->proc_parameter_dump_info_entry); in cs46xx_dsp_proc_done()
909 ins->proc_parameter_dump_info_entry = NULL; in cs46xx_dsp_proc_done()
911 snd_info_free_entry(ins->proc_sample_dump_info_entry); in cs46xx_dsp_proc_done()
912 ins->proc_sample_dump_info_entry = NULL; in cs46xx_dsp_proc_done()
914 snd_info_free_entry(ins->proc_scb_info_entry); in cs46xx_dsp_proc_done()
915 ins->proc_scb_info_entry = NULL; in cs46xx_dsp_proc_done()
917 snd_info_free_entry(ins->proc_task_info_entry); in cs46xx_dsp_proc_done()
918 ins->proc_task_info_entry = NULL; in cs46xx_dsp_proc_done()
921 for (i = 0; i < ins->nscb; ++i) { in cs46xx_dsp_proc_done()
922 if (ins->scbs[i].deleted) continue; in cs46xx_dsp_proc_done()
923 cs46xx_dsp_proc_free_scb_desc ( (ins->scbs + i) ); in cs46xx_dsp_proc_done()
927 snd_info_free_entry(ins->proc_dsp_dir); in cs46xx_dsp_proc_done()
928 ins->proc_dsp_dir = NULL; in cs46xx_dsp_proc_done()
963 static int find_free_scb_index (struct dsp_spos_instance * ins) in find_free_scb_index() argument
965 int index = ins->nscb, i; in find_free_scb_index()
967 for (i = ins->scb_highest_frag_index; i < ins->nscb; ++i) { in find_free_scb_index()
968 if (ins->scbs[i].deleted) { in find_free_scb_index()
979 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in _map_scb() local
983 if (ins->nscb == DSP_MAX_SCB_DESC - 1) { in _map_scb()
989 index = find_free_scb_index (ins); in _map_scb()
991 memset(&ins->scbs[index], 0, sizeof(ins->scbs[index])); in _map_scb()
992 strcpy(ins->scbs[index].scb_name, name); in _map_scb()
993 ins->scbs[index].address = dest; in _map_scb()
994 ins->scbs[index].index = index; in _map_scb()
995 ins->scbs[index].ref_count = 1; in _map_scb()
997 desc = (ins->scbs + index); in _map_scb()
998 ins->scbs[index].scb_symbol = add_symbol (chip, name, dest, SYMBOL_PARAMETER); in _map_scb()
1000 if (index > ins->scb_highest_frag_index) in _map_scb()
1001 ins->scb_highest_frag_index = index; in _map_scb()
1003 if (index == ins->nscb) in _map_scb()
1004 ins->nscb++; in _map_scb()
1012 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in _map_task_tree() local
1015 if (ins->ntask == DSP_MAX_TASK_DESC - 1) { in _map_task_tree()
1022 strcpy(ins->tasks[ins->ntask].task_name, name); in _map_task_tree()
1024 strcpy(ins->tasks[ins->ntask].task_name, "(NULL)"); in _map_task_tree()
1025 ins->tasks[ins->ntask].address = dest; in _map_task_tree()
1026 ins->tasks[ins->ntask].size = size; in _map_task_tree()
1029 ins->tasks[ins->ntask].index = ins->ntask; in _map_task_tree()
1030 desc = (ins->tasks + ins->ntask); in _map_task_tree()
1031 ins->ntask++; in _map_task_tree()
1086 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_scb_and_task_init() local
1178 ins->the_null_scb = cs46xx_dsp_create_scb(chip, "nullSCB", (u32 *)&null_scb, NULL_SCB_ADDR); in cs46xx_dsp_scb_and_task_init()
1179 ins->the_null_scb->task_entry = null_algorithm; in cs46xx_dsp_scb_and_task_init()
1180 ins->the_null_scb->sub_list_ptr = ins->the_null_scb; in cs46xx_dsp_scb_and_task_init()
1181 ins->the_null_scb->next_scb_ptr = ins->the_null_scb; in cs46xx_dsp_scb_and_task_init()
1182 ins->the_null_scb->parent_scb_ptr = NULL; in cs46xx_dsp_scb_and_task_init()
1183 cs46xx_dsp_proc_register_scb_desc (chip,ins->the_null_scb); in cs46xx_dsp_scb_and_task_init()
1352 ins->master_mix_scb = master_mix_scb; in cs46xx_dsp_scb_and_task_init()
1362 ins->codec_in_scb = codec_in_scb; in cs46xx_dsp_scb_and_task_init()
1399 ins->record_mixer_scb = record_mix_scb; in cs46xx_dsp_scb_and_task_init()
1439 ins->rear_mix_scb = rear_mix_scb; in cs46xx_dsp_scb_and_task_init()
1454 ins->center_lfe_mix_scb = cs46xx_dsp_create_mix_only_scb(chip,"CLFEMixerSCB", in cs46xx_dsp_scb_and_task_init()
1459 if (!ins->center_lfe_mix_scb) goto _fail_end; in cs46xx_dsp_scb_and_task_init()
1465 ins->center_lfe_mix_scb = rear_mix_scb; in cs46xx_dsp_scb_and_task_init()
1480 ins->ref_snoop_scb = magic_snoop_scb; in cs46xx_dsp_scb_and_task_init()
1490 ins->spdif_in_sample_rate, in cs46xx_dsp_scb_and_task_init()
1501 ins->spdif_in_src = src_task_scb; in cs46xx_dsp_scb_and_task_init()
1514 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_async_init() local
1660 async_codec_scb_desc->sub_list_ptr = ins->the_null_scb; in cs46xx_dsp_async_init()
1665 spdifi_scb_desc->sub_list_ptr = ins->the_null_scb; in cs46xx_dsp_async_init()
1670 spdifo_scb_desc->sub_list_ptr = ins->the_null_scb; in cs46xx_dsp_async_init()
1691 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_disable_spdif_hw() local
1707 ins->spdif_status_out &= ~DSP_SPDIF_STATUS_HW_ENABLED; in cs46xx_dsp_disable_spdif_hw()
1712 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_enable_spdif_hw() local
1725 cs46xx_poke_via_dsp (chip,SP_SPDOUT_CSUV, ins->spdif_csuv_default); in cs46xx_dsp_enable_spdif_hw()
1728 ins->spdif_status_out |= DSP_SPDIF_STATUS_HW_ENABLED; in cs46xx_dsp_enable_spdif_hw()
1735 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_enable_spdif_in() local
1741 if (snd_BUG_ON(ins->asynch_rx_scb)) in cs46xx_dsp_enable_spdif_in()
1743 if (snd_BUG_ON(!ins->spdif_in_src)) in cs46xx_dsp_enable_spdif_in()
1748 if ( ! (ins->spdif_status_out & DSP_SPDIF_STATUS_INPUT_CTRL_ENABLED) ) { in cs46xx_dsp_enable_spdif_in()
1758 ins->spdif_status_out |= DSP_SPDIF_STATUS_INPUT_CTRL_ENABLED; in cs46xx_dsp_enable_spdif_in()
1762 ins->asynch_rx_scb = cs46xx_dsp_create_asynch_fg_rx_scb(chip,"AsynchFGRxSCB", in cs46xx_dsp_enable_spdif_in()
1766 ins->spdif_in_src, in cs46xx_dsp_enable_spdif_in()
1777 cs46xx_src_link(chip,ins->spdif_in_src); in cs46xx_dsp_enable_spdif_in()
1780 cs46xx_dsp_scb_set_volume (chip,ins->spdif_in_src,0x7fff,0x7fff); in cs46xx_dsp_enable_spdif_in()
1789 ins->spdif_status_in = 1; in cs46xx_dsp_enable_spdif_in()
1797 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_disable_spdif_in() local
1799 if (snd_BUG_ON(!ins->asynch_rx_scb)) in cs46xx_dsp_disable_spdif_in()
1801 if (snd_BUG_ON(!ins->spdif_in_src)) in cs46xx_dsp_disable_spdif_in()
1807 cs46xx_dsp_remove_scb (chip,ins->asynch_rx_scb); in cs46xx_dsp_disable_spdif_in()
1808 ins->asynch_rx_scb = NULL; in cs46xx_dsp_disable_spdif_in()
1810 cs46xx_src_unlink(chip,ins->spdif_in_src); in cs46xx_dsp_disable_spdif_in()
1813 ins->spdif_status_in = 0; in cs46xx_dsp_disable_spdif_in()
1825 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_enable_pcm_capture() local
1827 if (snd_BUG_ON(ins->pcm_input)) in cs46xx_dsp_enable_pcm_capture()
1829 if (snd_BUG_ON(!ins->ref_snoop_scb)) in cs46xx_dsp_enable_pcm_capture()
1833 ins->pcm_input = cs46xx_add_record_source(chip,ins->ref_snoop_scb,PCMSERIALIN_PCM_SCB_ADDR, in cs46xx_dsp_enable_pcm_capture()
1842 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_disable_pcm_capture() local
1844 if (snd_BUG_ON(!ins->pcm_input)) in cs46xx_dsp_disable_pcm_capture()
1848 cs46xx_dsp_remove_scb (chip,ins->pcm_input); in cs46xx_dsp_disable_pcm_capture()
1849 ins->pcm_input = NULL; in cs46xx_dsp_disable_pcm_capture()
1857 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_enable_adc_capture() local
1859 if (snd_BUG_ON(ins->adc_input)) in cs46xx_dsp_enable_adc_capture()
1861 if (snd_BUG_ON(!ins->codec_in_scb)) in cs46xx_dsp_enable_adc_capture()
1865 ins->adc_input = cs46xx_add_record_source(chip,ins->codec_in_scb,PCMSERIALIN_SCB_ADDR, in cs46xx_dsp_enable_adc_capture()
1874 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_disable_adc_capture() local
1876 if (snd_BUG_ON(!ins->adc_input)) in cs46xx_dsp_disable_adc_capture()
1880 cs46xx_dsp_remove_scb (chip,ins->adc_input); in cs46xx_dsp_disable_adc_capture()
1881 ins->adc_input = NULL; in cs46xx_dsp_disable_adc_capture()
1927 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_set_dac_volume() local
1933 scb = ins->master_mix_scb->sub_list_ptr; in cs46xx_dsp_set_dac_volume()
1934 while (scb != ins->the_null_scb) { in cs46xx_dsp_set_dac_volume()
1940 scb = ins->rear_mix_scb->sub_list_ptr; in cs46xx_dsp_set_dac_volume()
1941 while (scb != ins->the_null_scb) { in cs46xx_dsp_set_dac_volume()
1946 ins->dac_volume_left = left; in cs46xx_dsp_set_dac_volume()
1947 ins->dac_volume_right = right; in cs46xx_dsp_set_dac_volume()
1956 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_set_iec958_volume() local
1960 if (ins->asynch_rx_scb != NULL) in cs46xx_dsp_set_iec958_volume()
1961 cs46xx_dsp_scb_set_volume (chip,ins->asynch_rx_scb, in cs46xx_dsp_set_iec958_volume()
1964 ins->spdif_input_volume_left = left; in cs46xx_dsp_set_iec958_volume()
1965 ins->spdif_input_volume_right = right; in cs46xx_dsp_set_iec958_volume()
1975 struct dsp_spos_instance * ins = chip->dsp_spos_instance; in cs46xx_dsp_resume() local
1985 for (i = 0; i < ins->nmodules; i++) { in cs46xx_dsp_resume()
1986 struct dsp_module_desc *module = &ins->modules[i]; in cs46xx_dsp_resume()
2008 ins->code.data + module->load_address, in cs46xx_dsp_resume()
2014 for (i = 0; i < ins->ntask; i++) { in cs46xx_dsp_resume()
2015 struct dsp_task_descriptor *t = &ins->tasks[i]; in cs46xx_dsp_resume()
2019 for (i = 0; i < ins->nscb; i++) { in cs46xx_dsp_resume()
2020 struct dsp_scb_descriptor *s = &ins->scbs[i]; in cs46xx_dsp_resume()
2025 for (i = 0; i < ins->nscb; i++) { in cs46xx_dsp_resume()
2026 struct dsp_scb_descriptor *s = &ins->scbs[i]; in cs46xx_dsp_resume()
2035 if (ins->spdif_status_out & DSP_SPDIF_STATUS_HW_ENABLED) { in cs46xx_dsp_resume()
2037 snd_cs46xx_poke(chip, (ins->ref_snoop_scb->address + 2) << 2, in cs46xx_dsp_resume()
2039 if (ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN) in cs46xx_dsp_resume()
2041 ins->spdif_csuv_stream); in cs46xx_dsp_resume()