Lines Matching refs:scb
75 struct dsp_scb_descriptor * scb = scb_info->scb_desc; in cs46xx_dsp_proc_scb_info_read() local
84 snd_iprintf(buffer,"%04x %s:\n",scb->address,scb->scb_name); in cs46xx_dsp_proc_scb_info_read()
91 snd_iprintf(buffer,"%08x ",readl(dst + (scb->address + j) * sizeof(u32))); in cs46xx_dsp_proc_scb_info_read()
96 if (scb->parent_scb_ptr != NULL) { in cs46xx_dsp_proc_scb_info_read()
98 scb->parent_scb_ptr->scb_name, in cs46xx_dsp_proc_scb_info_read()
99 scb->parent_scb_ptr->address); in cs46xx_dsp_proc_scb_info_read()
103 scb->sub_list_ptr->scb_name, in cs46xx_dsp_proc_scb_info_read()
104 scb->sub_list_ptr->address, in cs46xx_dsp_proc_scb_info_read()
105 scb->next_scb_ptr->scb_name, in cs46xx_dsp_proc_scb_info_read()
106 scb->next_scb_ptr->address, in cs46xx_dsp_proc_scb_info_read()
107 scb->task_entry->symbol_name, in cs46xx_dsp_proc_scb_info_read()
108 scb->task_entry->address); in cs46xx_dsp_proc_scb_info_read()
110 snd_iprintf(buffer,"index [%d] ref_count [%d]\n",scb->index,scb->ref_count); in cs46xx_dsp_proc_scb_info_read()
115 static void _dsp_unlink_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb) in _dsp_unlink_scb() argument
119 if ( scb->parent_scb_ptr ) { in _dsp_unlink_scb()
121 if (snd_BUG_ON(scb->parent_scb_ptr->sub_list_ptr != scb && in _dsp_unlink_scb()
122 scb->parent_scb_ptr->next_scb_ptr != scb)) in _dsp_unlink_scb()
125 if (scb->parent_scb_ptr->sub_list_ptr == scb) { in _dsp_unlink_scb()
127 if (scb->next_scb_ptr == ins->the_null_scb) { in _dsp_unlink_scb()
129 scb->parent_scb_ptr->sub_list_ptr = scb->sub_list_ptr; in _dsp_unlink_scb()
131 if (scb->sub_list_ptr != ins->the_null_scb) { in _dsp_unlink_scb()
132 scb->sub_list_ptr->parent_scb_ptr = scb->parent_scb_ptr; in _dsp_unlink_scb()
134 scb->sub_list_ptr = ins->the_null_scb; in _dsp_unlink_scb()
137 scb->parent_scb_ptr->sub_list_ptr = scb->next_scb_ptr; in _dsp_unlink_scb()
139 if (scb->next_scb_ptr != ins->the_null_scb) { in _dsp_unlink_scb()
141 scb->next_scb_ptr->parent_scb_ptr = scb->parent_scb_ptr; in _dsp_unlink_scb()
143 scb->next_scb_ptr = ins->the_null_scb; in _dsp_unlink_scb()
146 scb->parent_scb_ptr->next_scb_ptr = scb->next_scb_ptr; in _dsp_unlink_scb()
148 if (scb->next_scb_ptr != ins->the_null_scb) { in _dsp_unlink_scb()
150 scb->next_scb_ptr->parent_scb_ptr = scb->parent_scb_ptr; in _dsp_unlink_scb()
152 scb->next_scb_ptr = ins->the_null_scb; in _dsp_unlink_scb()
156 cs46xx_dsp_spos_update_scb(chip,scb->parent_scb_ptr); in _dsp_unlink_scb()
159 cs46xx_dsp_spos_update_scb(chip,scb); in _dsp_unlink_scb()
161 scb->parent_scb_ptr = NULL; in _dsp_unlink_scb()
177 void cs46xx_dsp_remove_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb) in cs46xx_dsp_remove_scb() argument
183 if (snd_BUG_ON(scb->index < 0 || in cs46xx_dsp_remove_scb()
184 scb->index >= ins->nscb || in cs46xx_dsp_remove_scb()
185 (ins->scbs + scb->index) != scb)) in cs46xx_dsp_remove_scb()
191 if (snd_BUG_ON(scb->sub_list_ptr != ins->the_null_scb || in cs46xx_dsp_remove_scb()
192 scb->next_scb_ptr != ins->the_null_scb)) in cs46xx_dsp_remove_scb()
197 _dsp_unlink_scb (chip,scb); in cs46xx_dsp_remove_scb()
200 cs46xx_dsp_proc_free_scb_desc(scb); in cs46xx_dsp_remove_scb()
201 if (snd_BUG_ON(!scb->scb_symbol)) in cs46xx_dsp_remove_scb()
203 remove_symbol (chip,scb->scb_symbol); in cs46xx_dsp_remove_scb()
205 ins->scbs[scb->index].deleted = 1; in cs46xx_dsp_remove_scb()
207 kfree(ins->scbs[scb->index].data); in cs46xx_dsp_remove_scb()
208 ins->scbs[scb->index].data = NULL; in cs46xx_dsp_remove_scb()
211 if (scb->index < ins->scb_highest_frag_index) in cs46xx_dsp_remove_scb()
212 ins->scb_highest_frag_index = scb->index; in cs46xx_dsp_remove_scb()
214 if (scb->index == ins->nscb - 1) { in cs46xx_dsp_remove_scb()
224 for(i = scb->index + 1;i < ins->nscb; ++i) { in cs46xx_dsp_remove_scb()
232 void cs46xx_dsp_proc_free_scb_desc (struct dsp_scb_descriptor * scb) in cs46xx_dsp_proc_free_scb_desc() argument
234 if (scb->proc_info) { in cs46xx_dsp_proc_free_scb_desc()
235 struct proc_scb_info * scb_info = scb->proc_info->private_data; in cs46xx_dsp_proc_free_scb_desc()
240 scb->scb_name); in cs46xx_dsp_proc_free_scb_desc()
242 snd_info_free_entry(scb->proc_info); in cs46xx_dsp_proc_free_scb_desc()
243 scb->proc_info = NULL; in cs46xx_dsp_proc_free_scb_desc()
250 struct dsp_scb_descriptor * scb) in cs46xx_dsp_proc_register_scb_desc() argument
258 scb->proc_info == NULL) { in cs46xx_dsp_proc_register_scb_desc()
260 if ((entry = snd_info_create_card_entry(ins->snd_card, scb->scb_name, in cs46xx_dsp_proc_register_scb_desc()
270 scb_info->scb_desc = scb; in cs46xx_dsp_proc_register_scb_desc()
285 scb->proc_info = entry; in cs46xx_dsp_proc_register_scb_desc()
297 struct dsp_scb_descriptor * scb; in _dsp_create_generic_scb() local
313 scb = cs46xx_dsp_create_scb(chip,name,scb_data,dest); in _dsp_create_generic_scb()
316 scb->sub_list_ptr = ins->the_null_scb; in _dsp_create_generic_scb()
317 scb->next_scb_ptr = ins->the_null_scb; in _dsp_create_generic_scb()
319 scb->parent_scb_ptr = parent_scb; in _dsp_create_generic_scb()
320 scb->task_entry = task_entry; in _dsp_create_generic_scb()
324 if (scb->parent_scb_ptr) { in _dsp_create_generic_scb()
328 scb->parent_scb_ptr->scb_name); in _dsp_create_generic_scb()
331 scb->parent_scb_ptr->next_scb_ptr->scb_name); in _dsp_create_generic_scb()
334 scb->parent_scb_ptr->sub_list_ptr->scb_name); in _dsp_create_generic_scb()
338 if (snd_BUG_ON(scb->parent_scb_ptr->next_scb_ptr != in _dsp_create_generic_scb()
342 scb->parent_scb_ptr->next_scb_ptr = scb; in _dsp_create_generic_scb()
345 if (snd_BUG_ON(scb->parent_scb_ptr->sub_list_ptr != in _dsp_create_generic_scb()
349 scb->parent_scb_ptr->sub_list_ptr = scb; in _dsp_create_generic_scb()
357 cs46xx_dsp_spos_update_scb(chip,scb->parent_scb_ptr); in _dsp_create_generic_scb()
363 cs46xx_dsp_proc_register_scb_desc (chip,scb); in _dsp_create_generic_scb()
365 return scb; in _dsp_create_generic_scb()
392 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_timing_master_scb() local
415 scb = cs46xx_dsp_create_generic_scb(chip,"TimingMasterSCBInst",(u32 *)&timing_master_scb, in cs46xx_dsp_create_timing_master_scb()
419 return scb; in cs46xx_dsp_create_timing_master_scb()
429 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_codec_out_scb() local
454 scb = cs46xx_dsp_create_generic_scb(chip,codec_name,(u32 *)&codec_out_scb, in cs46xx_dsp_create_codec_out_scb()
458 return scb; in cs46xx_dsp_create_codec_out_scb()
468 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_codec_in_scb() local
499 scb = cs46xx_dsp_create_generic_scb(chip,codec_name,(u32 *)&codec_input_scb, in cs46xx_dsp_create_codec_in_scb()
502 return scb; in cs46xx_dsp_create_codec_in_scb()
514 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_pcm_reader_scb() local
601 scb = _dsp_create_generic_scb(chip,scb_name,(u32 *)&pcm_reader_scb, in cs46xx_dsp_create_pcm_reader_scb()
605 return scb; in cs46xx_dsp_create_pcm_reader_scb()
621 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_src_task_scb() local
700 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&src_task_scb, in cs46xx_dsp_create_src_task_scb()
704 scb = _dsp_create_generic_scb(chip,scb_name,(u32 *)&src_task_scb, in cs46xx_dsp_create_src_task_scb()
712 return scb; in cs46xx_dsp_create_src_task_scb()
721 struct dsp_scb_descriptor * scb;
758 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&filter_scb,
762 return scb;
772 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_mix_only_scb() local
799 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&master_mix_scb, in cs46xx_dsp_create_mix_only_scb()
802 return scb; in cs46xx_dsp_create_mix_only_scb()
812 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_mix_to_ostream_scb() local
851 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&mix2_ostream_scb, in cs46xx_dsp_create_mix_to_ostream_scb()
856 return scb; in cs46xx_dsp_create_mix_to_ostream_scb()
869 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_vari_decimate_scb() local
896 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&vari_decimate_scb, in cs46xx_dsp_create_vari_decimate_scb()
900 return scb; in cs46xx_dsp_create_vari_decimate_scb()
911 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_pcm_serial_input_scb() local
940 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&pcm_serial_input_scb, in cs46xx_dsp_create_pcm_serial_input_scb()
943 return scb; in cs46xx_dsp_create_pcm_serial_input_scb()
955 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_asynch_fg_tx_scb() local
986 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&asynch_fg_tx_scb, in cs46xx_dsp_create_asynch_fg_tx_scb()
990 return scb; in cs46xx_dsp_create_asynch_fg_tx_scb()
1002 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_asynch_fg_rx_scb() local
1035 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&asynch_fg_rx_scb, in cs46xx_dsp_create_asynch_fg_rx_scb()
1039 return scb; in cs46xx_dsp_create_asynch_fg_rx_scb()
1052 struct dsp_scb_descriptor * scb;
1078 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&output_snoop_scb,
1081 return scb;
1091 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_spio_write_scb() local
1115 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&spio_write_scb, in cs46xx_dsp_create_spio_write_scb()
1119 return scb; in cs46xx_dsp_create_spio_write_scb()
1129 struct dsp_scb_descriptor * scb; in cs46xx_dsp_create_magic_snoop_scb() local
1151 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&magic_snoop_scb, in cs46xx_dsp_create_magic_snoop_scb()
1155 return scb; in cs46xx_dsp_create_magic_snoop_scb()
1162 struct dsp_scb_descriptor * scb = from; in find_next_free_scb() local
1164 while (scb->next_scb_ptr != ins->the_null_scb) { in find_next_free_scb()
1165 if (snd_BUG_ON(!scb->next_scb_ptr)) in find_next_free_scb()
1168 scb = scb->next_scb_ptr; in find_next_free_scb()
1171 return scb; in find_next_free_scb()