Lines Matching refs:scb

61 	struct dsp_scb_descriptor * scb = scb_info->scb_desc;
67 snd_iprintf(buffer,"%04x %s:\n",scb->address,scb->scb_name);
74 snd_iprintf(buffer,"%08x ",readl(dst + (scb->address + j) * sizeof(u32)));
79 if (scb->parent_scb_ptr != NULL) {
81 scb->parent_scb_ptr->scb_name,
82 scb->parent_scb_ptr->address);
86 scb->sub_list_ptr->scb_name,
87 scb->sub_list_ptr->address,
88 scb->next_scb_ptr->scb_name,
89 scb->next_scb_ptr->address,
90 scb->task_entry->symbol_name,
91 scb->task_entry->address);
93 snd_iprintf(buffer,"index [%d] ref_count [%d]\n",scb->index,scb->ref_count);
98 static void _dsp_unlink_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb)
102 if ( scb->parent_scb_ptr ) {
104 if (snd_BUG_ON(scb->parent_scb_ptr->sub_list_ptr != scb &&
105 scb->parent_scb_ptr->next_scb_ptr != scb))
108 if (scb->parent_scb_ptr->sub_list_ptr == scb) {
110 if (scb->next_scb_ptr == ins->the_null_scb) {
112 scb->parent_scb_ptr->sub_list_ptr = scb->sub_list_ptr;
114 if (scb->sub_list_ptr != ins->the_null_scb) {
115 scb->sub_list_ptr->parent_scb_ptr = scb->parent_scb_ptr;
117 scb->sub_list_ptr = ins->the_null_scb;
120 scb->parent_scb_ptr->sub_list_ptr = scb->next_scb_ptr;
122 if (scb->next_scb_ptr != ins->the_null_scb) {
124 scb->next_scb_ptr->parent_scb_ptr = scb->parent_scb_ptr;
126 scb->next_scb_ptr = ins->the_null_scb;
129 scb->parent_scb_ptr->next_scb_ptr = scb->next_scb_ptr;
131 if (scb->next_scb_ptr != ins->the_null_scb) {
133 scb->next_scb_ptr->parent_scb_ptr = scb->parent_scb_ptr;
135 scb->next_scb_ptr = ins->the_null_scb;
139 cs46xx_dsp_spos_update_scb(chip,scb->parent_scb_ptr);
142 cs46xx_dsp_spos_update_scb(chip,scb);
144 scb->parent_scb_ptr = NULL;
160 void cs46xx_dsp_remove_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb)
166 if (snd_BUG_ON(scb->index < 0 ||
167 scb->index >= ins->nscb ||
168 (ins->scbs + scb->index) != scb))
174 if (snd_BUG_ON(scb->sub_list_ptr != ins->the_null_scb ||
175 scb->next_scb_ptr != ins->the_null_scb))
180 _dsp_unlink_scb (chip,scb);
183 cs46xx_dsp_proc_free_scb_desc(scb);
184 if (snd_BUG_ON(!scb->scb_symbol))
186 remove_symbol (chip,scb->scb_symbol);
188 ins->scbs[scb->index].deleted = 1;
190 kfree(ins->scbs[scb->index].data);
191 ins->scbs[scb->index].data = NULL;
194 if (scb->index < ins->scb_highest_frag_index)
195 ins->scb_highest_frag_index = scb->index;
197 if (scb->index == ins->nscb - 1) {
207 for(i = scb->index + 1;i < ins->nscb; ++i) {
215 void cs46xx_dsp_proc_free_scb_desc (struct dsp_scb_descriptor * scb)
217 if (scb->proc_info) {
218 struct proc_scb_info * scb_info = scb->proc_info->private_data;
223 scb->scb_name);
225 snd_info_free_entry(scb->proc_info);
226 scb->proc_info = NULL;
233 struct dsp_scb_descriptor * scb)
241 scb->proc_info == NULL) {
243 entry = snd_info_create_card_entry(ins->snd_card, scb->scb_name,
254 scb_info->scb_desc = scb;
259 scb->proc_info = entry;
271 struct dsp_scb_descriptor * scb;
287 scb = cs46xx_dsp_create_scb(chip,name,scb_data,dest);
290 scb->sub_list_ptr = ins->the_null_scb;
291 scb->next_scb_ptr = ins->the_null_scb;
293 scb->parent_scb_ptr = parent_scb;
294 scb->task_entry = task_entry;
298 if (scb->parent_scb_ptr) {
301 "scb->parent_scb_ptr = %s\n",
302 scb->parent_scb_ptr->scb_name);
304 "scb->parent_scb_ptr->next_scb_ptr = %s\n",
305 scb->parent_scb_ptr->next_scb_ptr->scb_name);
307 "scb->parent_scb_ptr->sub_list_ptr = %s\n",
308 scb->parent_scb_ptr->sub_list_ptr->scb_name);
312 if (snd_BUG_ON(scb->parent_scb_ptr->next_scb_ptr !=
316 scb->parent_scb_ptr->next_scb_ptr = scb;
319 if (snd_BUG_ON(scb->parent_scb_ptr->sub_list_ptr !=
323 scb->parent_scb_ptr->sub_list_ptr = scb;
331 cs46xx_dsp_spos_update_scb(chip,scb->parent_scb_ptr);
337 cs46xx_dsp_proc_register_scb_desc (chip,scb);
339 return scb;
366 struct dsp_scb_descriptor * scb;
389 scb = cs46xx_dsp_create_generic_scb(chip,"TimingMasterSCBInst",(u32 *)&timing_master_scb,
393 return scb;
403 struct dsp_scb_descriptor * scb;
424 0,child_scb_addr /* COreserved - need child scb to work with rom code */
428 scb = cs46xx_dsp_create_generic_scb(chip,codec_name,(u32 *)&codec_out_scb,
432 return scb;
442 struct dsp_scb_descriptor * scb;
470 0x80008000 /* ??clw cwcgame.scb has 0 */
473 scb = cs46xx_dsp_create_generic_scb(chip,codec_name,(u32 *)&codec_input_scb,
476 return scb;
488 struct dsp_scb_descriptor * scb;
575 scb = _dsp_create_generic_scb(chip,scb_name,(u32 *)&pcm_reader_scb,
579 return scb;
595 struct dsp_scb_descriptor * scb;
674 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&src_task_scb,
678 scb = _dsp_create_generic_scb(chip,scb_name,(u32 *)&src_task_scb,
686 return scb;
695 struct dsp_scb_descriptor * scb;
732 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&filter_scb,
736 return scb;
746 struct dsp_scb_descriptor * scb;
773 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&master_mix_scb,
776 return scb;
786 struct dsp_scb_descriptor * scb;
825 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&mix2_ostream_scb,
830 return scb;
843 struct dsp_scb_descriptor * scb;
870 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&vari_decimate_scb,
874 return scb;
885 struct dsp_scb_descriptor * scb;
914 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&pcm_serial_input_scb,
917 return scb;
929 struct dsp_scb_descriptor * scb;
960 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&asynch_fg_tx_scb,
964 return scb;
976 struct dsp_scb_descriptor * scb;
1009 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&asynch_fg_rx_scb,
1013 return scb;
1026 struct dsp_scb_descriptor * scb;
1052 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&output_snoop_scb,
1055 return scb;
1065 struct dsp_scb_descriptor * scb;
1089 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&spio_write_scb,
1093 return scb;
1103 struct dsp_scb_descriptor * scb;
1125 scb = cs46xx_dsp_create_generic_scb(chip,scb_name,(u32 *)&magic_snoop_scb,
1129 return scb;
1136 struct dsp_scb_descriptor * scb = from;
1138 while (scb->next_scb_ptr != ins->the_null_scb) {
1139 if (snd_BUG_ON(!scb->next_scb_ptr))
1142 scb = scb->next_scb_ptr;
1145 return scb;