diff options
Diffstat (limited to 'sound/pci/cs46xx/dsp_spos.c')
-rw-r--r-- | sound/pci/cs46xx/dsp_spos.c | 126 |
1 files changed, 79 insertions, 47 deletions
diff --git a/sound/pci/cs46xx/dsp_spos.c b/sound/pci/cs46xx/dsp_spos.c index 1686b4f4c44f..1c4a0fb3ffef 100644 --- a/sound/pci/cs46xx/dsp_spos.c +++ b/sound/pci/cs46xx/dsp_spos.c | |||
@@ -85,12 +85,15 @@ static int shadow_and_reallocate_code (struct snd_cs46xx * chip, u32 * data, u32 | |||
85 | address = (hival & 0x00FFF) << 5; | 85 | address = (hival & 0x00FFF) << 5; |
86 | address |= loval >> 15; | 86 | address |= loval >> 15; |
87 | 87 | ||
88 | snd_printdd("handle_wideop[1]: %05x:%05x addr %04x\n",hival,loval,address); | 88 | dev_dbg(chip->card->dev, |
89 | "handle_wideop[1]: %05x:%05x addr %04x\n", | ||
90 | hival, loval, address); | ||
89 | 91 | ||
90 | if ( !(address & 0x8000) ) { | 92 | if ( !(address & 0x8000) ) { |
91 | address += (ins->code.offset / 2) - overlay_begin_address; | 93 | address += (ins->code.offset / 2) - overlay_begin_address; |
92 | } else { | 94 | } else { |
93 | snd_printdd("handle_wideop[1]: ROM symbol not reallocated\n"); | 95 | dev_dbg(chip->card->dev, |
96 | "handle_wideop[1]: ROM symbol not reallocated\n"); | ||
94 | } | 97 | } |
95 | 98 | ||
96 | hival &= 0xFF000; | 99 | hival &= 0xFF000; |
@@ -102,8 +105,9 @@ static int shadow_and_reallocate_code (struct snd_cs46xx * chip, u32 * data, u32 | |||
102 | address = (hival & 0x00FFF) << 5; | 105 | address = (hival & 0x00FFF) << 5; |
103 | address |= loval >> 15; | 106 | address |= loval >> 15; |
104 | 107 | ||
105 | snd_printdd("handle_wideop:[2] %05x:%05x addr %04x\n",hival,loval,address); | 108 | dev_dbg(chip->card->dev, |
106 | nreallocated ++; | 109 | "handle_wideop:[2] %05x:%05x addr %04x\n", |
110 | hival, loval, address); nreallocated++; | ||
107 | } /* wide_opcodes[j] == wide_op */ | 111 | } /* wide_opcodes[j] == wide_op */ |
108 | } /* for */ | 112 | } /* for */ |
109 | } /* mod_type == 0 ... */ | 113 | } /* mod_type == 0 ... */ |
@@ -113,7 +117,8 @@ static int shadow_and_reallocate_code (struct snd_cs46xx * chip, u32 * data, u32 | |||
113 | ins->code.data[ins->code.size++] = hival; | 117 | ins->code.data[ins->code.size++] = hival; |
114 | } | 118 | } |
115 | 119 | ||
116 | snd_printdd("dsp_spos: %d instructions reallocated\n",nreallocated); | 120 | dev_dbg(chip->card->dev, |
121 | "dsp_spos: %d instructions reallocated\n", nreallocated); | ||
117 | return nreallocated; | 122 | return nreallocated; |
118 | } | 123 | } |
119 | 124 | ||
@@ -157,7 +162,8 @@ static int add_symbols (struct snd_cs46xx * chip, struct dsp_module_desc * modul | |||
157 | 162 | ||
158 | for (i = 0;i < module->symbol_table.nsymbols; ++i) { | 163 | for (i = 0;i < module->symbol_table.nsymbols; ++i) { |
159 | if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { | 164 | if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { |
160 | snd_printk(KERN_ERR "dsp_spos: symbol table is full\n"); | 165 | dev_err(chip->card->dev, |
166 | "dsp_spos: symbol table is full\n"); | ||
161 | return -ENOMEM; | 167 | return -ENOMEM; |
162 | } | 168 | } |
163 | 169 | ||
@@ -176,8 +182,11 @@ static int add_symbols (struct snd_cs46xx * chip, struct dsp_module_desc * modul | |||
176 | 182 | ||
177 | ins->symbol_table.nsymbols++; | 183 | ins->symbol_table.nsymbols++; |
178 | } else { | 184 | } else { |
179 | /* if (0) printk ("dsp_spos: symbol <%s> duplicated, probably nothing wrong with that (Cirrus?)\n", | 185 | #if 0 |
180 | module->symbol_table.symbols[i].symbol_name); */ | 186 | dev_dbg(chip->card->dev, |
187 | "dsp_spos: symbol <%s> duplicated, probably nothing wrong with that (Cirrus?)\n", | ||
188 | module->symbol_table.symbols[i].symbol_name); */ | ||
189 | #endif | ||
181 | } | 190 | } |
182 | } | 191 | } |
183 | 192 | ||
@@ -192,14 +201,15 @@ add_symbol (struct snd_cs46xx * chip, char * symbol_name, u32 address, int type) | |||
192 | int index; | 201 | int index; |
193 | 202 | ||
194 | if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { | 203 | if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { |
195 | snd_printk(KERN_ERR "dsp_spos: symbol table is full\n"); | 204 | dev_err(chip->card->dev, "dsp_spos: symbol table is full\n"); |
196 | return NULL; | 205 | return NULL; |
197 | } | 206 | } |
198 | 207 | ||
199 | if (cs46xx_dsp_lookup_symbol(chip, | 208 | if (cs46xx_dsp_lookup_symbol(chip, |
200 | symbol_name, | 209 | symbol_name, |
201 | type) != NULL) { | 210 | type) != NULL) { |
202 | snd_printk(KERN_ERR "dsp_spos: symbol <%s> duplicated\n", symbol_name); | 211 | dev_err(chip->card->dev, |
212 | "dsp_spos: symbol <%s> duplicated\n", symbol_name); | ||
203 | return NULL; | 213 | return NULL; |
204 | } | 214 | } |
205 | 215 | ||
@@ -305,19 +315,20 @@ static int dsp_load_parameter(struct snd_cs46xx *chip, | |||
305 | u32 doffset, dsize; | 315 | u32 doffset, dsize; |
306 | 316 | ||
307 | if (!parameter) { | 317 | if (!parameter) { |
308 | snd_printdd("dsp_spos: module got no parameter segment\n"); | 318 | dev_dbg(chip->card->dev, |
319 | "dsp_spos: module got no parameter segment\n"); | ||
309 | return 0; | 320 | return 0; |
310 | } | 321 | } |
311 | 322 | ||
312 | doffset = (parameter->offset * 4 + DSP_PARAMETER_BYTE_OFFSET); | 323 | doffset = (parameter->offset * 4 + DSP_PARAMETER_BYTE_OFFSET); |
313 | dsize = parameter->size * 4; | 324 | dsize = parameter->size * 4; |
314 | 325 | ||
315 | snd_printdd("dsp_spos: " | 326 | dev_dbg(chip->card->dev, |
316 | "downloading parameter data to chip (%08x-%08x)\n", | 327 | "dsp_spos: downloading parameter data to chip (%08x-%08x)\n", |
317 | doffset,doffset + dsize); | 328 | doffset,doffset + dsize); |
318 | if (snd_cs46xx_download (chip, parameter->data, doffset, dsize)) { | 329 | if (snd_cs46xx_download (chip, parameter->data, doffset, dsize)) { |
319 | snd_printk(KERN_ERR "dsp_spos: " | 330 | dev_err(chip->card->dev, |
320 | "failed to download parameter data to DSP\n"); | 331 | "dsp_spos: failed to download parameter data to DSP\n"); |
321 | return -EINVAL; | 332 | return -EINVAL; |
322 | } | 333 | } |
323 | return 0; | 334 | return 0; |
@@ -329,18 +340,21 @@ static int dsp_load_sample(struct snd_cs46xx *chip, | |||
329 | u32 doffset, dsize; | 340 | u32 doffset, dsize; |
330 | 341 | ||
331 | if (!sample) { | 342 | if (!sample) { |
332 | snd_printdd("dsp_spos: module got no sample segment\n"); | 343 | dev_dbg(chip->card->dev, |
344 | "dsp_spos: module got no sample segment\n"); | ||
333 | return 0; | 345 | return 0; |
334 | } | 346 | } |
335 | 347 | ||
336 | doffset = (sample->offset * 4 + DSP_SAMPLE_BYTE_OFFSET); | 348 | doffset = (sample->offset * 4 + DSP_SAMPLE_BYTE_OFFSET); |
337 | dsize = sample->size * 4; | 349 | dsize = sample->size * 4; |
338 | 350 | ||
339 | snd_printdd("dsp_spos: downloading sample data to chip (%08x-%08x)\n", | 351 | dev_dbg(chip->card->dev, |
352 | "dsp_spos: downloading sample data to chip (%08x-%08x)\n", | ||
340 | doffset,doffset + dsize); | 353 | doffset,doffset + dsize); |
341 | 354 | ||
342 | if (snd_cs46xx_download (chip,sample->data,doffset,dsize)) { | 355 | if (snd_cs46xx_download (chip,sample->data,doffset,dsize)) { |
343 | snd_printk(KERN_ERR "dsp_spos: failed to sample data to DSP\n"); | 356 | dev_err(chip->card->dev, |
357 | "dsp_spos: failed to sample data to DSP\n"); | ||
344 | return -EINVAL; | 358 | return -EINVAL; |
345 | } | 359 | } |
346 | return 0; | 360 | return 0; |
@@ -354,14 +368,16 @@ int cs46xx_dsp_load_module (struct snd_cs46xx * chip, struct dsp_module_desc * m | |||
354 | int err; | 368 | int err; |
355 | 369 | ||
356 | if (ins->nmodules == DSP_MAX_MODULES - 1) { | 370 | if (ins->nmodules == DSP_MAX_MODULES - 1) { |
357 | snd_printk(KERN_ERR "dsp_spos: to many modules loaded into DSP\n"); | 371 | dev_err(chip->card->dev, |
372 | "dsp_spos: to many modules loaded into DSP\n"); | ||
358 | return -ENOMEM; | 373 | return -ENOMEM; |
359 | } | 374 | } |
360 | 375 | ||
361 | snd_printdd("dsp_spos: loading module %s into DSP\n", module->module_name); | 376 | dev_dbg(chip->card->dev, |
377 | "dsp_spos: loading module %s into DSP\n", module->module_name); | ||
362 | 378 | ||
363 | if (ins->nmodules == 0) { | 379 | if (ins->nmodules == 0) { |
364 | snd_printdd("dsp_spos: clearing parameter area\n"); | 380 | dev_dbg(chip->card->dev, "dsp_spos: clearing parameter area\n"); |
365 | snd_cs46xx_clear_BA1(chip, DSP_PARAMETER_BYTE_OFFSET, DSP_PARAMETER_BYTE_SIZE); | 381 | snd_cs46xx_clear_BA1(chip, DSP_PARAMETER_BYTE_OFFSET, DSP_PARAMETER_BYTE_SIZE); |
366 | } | 382 | } |
367 | 383 | ||
@@ -371,7 +387,7 @@ int cs46xx_dsp_load_module (struct snd_cs46xx * chip, struct dsp_module_desc * m | |||
371 | return err; | 387 | return err; |
372 | 388 | ||
373 | if (ins->nmodules == 0) { | 389 | if (ins->nmodules == 0) { |
374 | snd_printdd("dsp_spos: clearing sample area\n"); | 390 | dev_dbg(chip->card->dev, "dsp_spos: clearing sample area\n"); |
375 | snd_cs46xx_clear_BA1(chip, DSP_SAMPLE_BYTE_OFFSET, DSP_SAMPLE_BYTE_SIZE); | 391 | snd_cs46xx_clear_BA1(chip, DSP_SAMPLE_BYTE_OFFSET, DSP_SAMPLE_BYTE_SIZE); |
376 | } | 392 | } |
377 | 393 | ||
@@ -381,15 +397,17 @@ int cs46xx_dsp_load_module (struct snd_cs46xx * chip, struct dsp_module_desc * m | |||
381 | return err; | 397 | return err; |
382 | 398 | ||
383 | if (ins->nmodules == 0) { | 399 | if (ins->nmodules == 0) { |
384 | snd_printdd("dsp_spos: clearing code area\n"); | 400 | dev_dbg(chip->card->dev, "dsp_spos: clearing code area\n"); |
385 | snd_cs46xx_clear_BA1(chip, DSP_CODE_BYTE_OFFSET, DSP_CODE_BYTE_SIZE); | 401 | snd_cs46xx_clear_BA1(chip, DSP_CODE_BYTE_OFFSET, DSP_CODE_BYTE_SIZE); |
386 | } | 402 | } |
387 | 403 | ||
388 | if (code == NULL) { | 404 | if (code == NULL) { |
389 | snd_printdd("dsp_spos: module got no code segment\n"); | 405 | dev_dbg(chip->card->dev, |
406 | "dsp_spos: module got no code segment\n"); | ||
390 | } else { | 407 | } else { |
391 | if (ins->code.offset + code->size > DSP_CODE_BYTE_SIZE) { | 408 | if (ins->code.offset + code->size > DSP_CODE_BYTE_SIZE) { |
392 | snd_printk(KERN_ERR "dsp_spos: no space available in DSP\n"); | 409 | dev_err(chip->card->dev, |
410 | "dsp_spos: no space available in DSP\n"); | ||
393 | return -ENOMEM; | 411 | return -ENOMEM; |
394 | } | 412 | } |
395 | 413 | ||
@@ -401,19 +419,22 @@ int cs46xx_dsp_load_module (struct snd_cs46xx * chip, struct dsp_module_desc * m | |||
401 | if (snd_BUG_ON(!module->symbol_table.symbols)) | 419 | if (snd_BUG_ON(!module->symbol_table.symbols)) |
402 | return -ENOMEM; | 420 | return -ENOMEM; |
403 | if (add_symbols(chip,module)) { | 421 | if (add_symbols(chip,module)) { |
404 | snd_printk(KERN_ERR "dsp_spos: failed to load symbol table\n"); | 422 | dev_err(chip->card->dev, |
423 | "dsp_spos: failed to load symbol table\n"); | ||
405 | return -ENOMEM; | 424 | return -ENOMEM; |
406 | } | 425 | } |
407 | 426 | ||
408 | doffset = (code->offset * 4 + ins->code.offset * 4 + DSP_CODE_BYTE_OFFSET); | 427 | doffset = (code->offset * 4 + ins->code.offset * 4 + DSP_CODE_BYTE_OFFSET); |
409 | dsize = code->size * 4; | 428 | dsize = code->size * 4; |
410 | snd_printdd("dsp_spos: downloading code to chip (%08x-%08x)\n", | 429 | dev_dbg(chip->card->dev, |
430 | "dsp_spos: downloading code to chip (%08x-%08x)\n", | ||
411 | doffset,doffset + dsize); | 431 | doffset,doffset + dsize); |
412 | 432 | ||
413 | module->nfixups = shadow_and_reallocate_code(chip,code->data,code->size,module->overlay_begin_address); | 433 | module->nfixups = shadow_and_reallocate_code(chip,code->data,code->size,module->overlay_begin_address); |
414 | 434 | ||
415 | if (snd_cs46xx_download (chip,(ins->code.data + ins->code.offset),doffset,dsize)) { | 435 | if (snd_cs46xx_download (chip,(ins->code.data + ins->code.offset),doffset,dsize)) { |
416 | snd_printk(KERN_ERR "dsp_spos: failed to download code to DSP\n"); | 436 | dev_err(chip->card->dev, |
437 | "dsp_spos: failed to download code to DSP\n"); | ||
417 | return -EINVAL; | 438 | return -EINVAL; |
418 | } | 439 | } |
419 | 440 | ||
@@ -447,7 +468,7 @@ cs46xx_dsp_lookup_symbol (struct snd_cs46xx * chip, char * symbol_name, int symb | |||
447 | } | 468 | } |
448 | 469 | ||
449 | #if 0 | 470 | #if 0 |
450 | printk ("dsp_spos: symbol <%s> type %02x not found\n", | 471 | dev_err(chip->card->dev, "dsp_spos: symbol <%s> type %02x not found\n", |
451 | symbol_name,symbol_type); | 472 | symbol_name,symbol_type); |
452 | #endif | 473 | #endif |
453 | 474 | ||
@@ -910,7 +931,6 @@ int cs46xx_dsp_proc_done (struct snd_cs46xx *chip) | |||
910 | } | 931 | } |
911 | #endif /* CONFIG_PROC_FS */ | 932 | #endif /* CONFIG_PROC_FS */ |
912 | 933 | ||
913 | static int debug_tree; | ||
914 | static void _dsp_create_task_tree (struct snd_cs46xx *chip, u32 * task_data, | 934 | static void _dsp_create_task_tree (struct snd_cs46xx *chip, u32 * task_data, |
915 | u32 dest, int size) | 935 | u32 dest, int size) |
916 | { | 936 | { |
@@ -919,13 +939,13 @@ static void _dsp_create_task_tree (struct snd_cs46xx *chip, u32 * task_data, | |||
919 | int i; | 939 | int i; |
920 | 940 | ||
921 | for (i = 0; i < size; ++i) { | 941 | for (i = 0; i < size; ++i) { |
922 | if (debug_tree) printk ("addr %p, val %08x\n",spdst,task_data[i]); | 942 | dev_dbg(chip->card->dev, "addr %p, val %08x\n", |
943 | spdst, task_data[i]); | ||
923 | writel(task_data[i],spdst); | 944 | writel(task_data[i],spdst); |
924 | spdst += sizeof(u32); | 945 | spdst += sizeof(u32); |
925 | } | 946 | } |
926 | } | 947 | } |
927 | 948 | ||
928 | static int debug_scb; | ||
929 | static void _dsp_create_scb (struct snd_cs46xx *chip, u32 * scb_data, u32 dest) | 949 | static void _dsp_create_scb (struct snd_cs46xx *chip, u32 * scb_data, u32 dest) |
930 | { | 950 | { |
931 | void __iomem *spdst = chip->region.idx[1].remap_addr + | 951 | void __iomem *spdst = chip->region.idx[1].remap_addr + |
@@ -933,7 +953,8 @@ static void _dsp_create_scb (struct snd_cs46xx *chip, u32 * scb_data, u32 dest) | |||
933 | int i; | 953 | int i; |
934 | 954 | ||
935 | for (i = 0; i < 0x10; ++i) { | 955 | for (i = 0; i < 0x10; ++i) { |
936 | if (debug_scb) printk ("addr %p, val %08x\n",spdst,scb_data[i]); | 956 | dev_dbg(chip->card->dev, "addr %p, val %08x\n", |
957 | spdst, scb_data[i]); | ||
937 | writel(scb_data[i],spdst); | 958 | writel(scb_data[i],spdst); |
938 | spdst += sizeof(u32); | 959 | spdst += sizeof(u32); |
939 | } | 960 | } |
@@ -960,7 +981,8 @@ static struct dsp_scb_descriptor * _map_scb (struct snd_cs46xx *chip, char * nam | |||
960 | int index; | 981 | int index; |
961 | 982 | ||
962 | if (ins->nscb == DSP_MAX_SCB_DESC - 1) { | 983 | if (ins->nscb == DSP_MAX_SCB_DESC - 1) { |
963 | snd_printk(KERN_ERR "dsp_spos: got no place for other SCB\n"); | 984 | dev_err(chip->card->dev, |
985 | "dsp_spos: got no place for other SCB\n"); | ||
964 | return NULL; | 986 | return NULL; |
965 | } | 987 | } |
966 | 988 | ||
@@ -991,7 +1013,8 @@ _map_task_tree (struct snd_cs46xx *chip, char * name, u32 dest, u32 size) | |||
991 | struct dsp_task_descriptor * desc = NULL; | 1013 | struct dsp_task_descriptor * desc = NULL; |
992 | 1014 | ||
993 | if (ins->ntask == DSP_MAX_TASK_DESC - 1) { | 1015 | if (ins->ntask == DSP_MAX_TASK_DESC - 1) { |
994 | snd_printk(KERN_ERR "dsp_spos: got no place for other TASK\n"); | 1016 | dev_err(chip->card->dev, |
1017 | "dsp_spos: got no place for other TASK\n"); | ||
995 | return NULL; | 1018 | return NULL; |
996 | } | 1019 | } |
997 | 1020 | ||
@@ -1031,7 +1054,7 @@ cs46xx_dsp_create_scb (struct snd_cs46xx *chip, char * name, u32 * scb_data, u32 | |||
1031 | desc->data = scb_data; | 1054 | desc->data = scb_data; |
1032 | _dsp_create_scb(chip,scb_data,dest); | 1055 | _dsp_create_scb(chip,scb_data,dest); |
1033 | } else { | 1056 | } else { |
1034 | snd_printk(KERN_ERR "dsp_spos: failed to map SCB\n"); | 1057 | dev_err(chip->card->dev, "dsp_spos: failed to map SCB\n"); |
1035 | #ifdef CONFIG_PM_SLEEP | 1058 | #ifdef CONFIG_PM_SLEEP |
1036 | kfree(scb_data); | 1059 | kfree(scb_data); |
1037 | #endif | 1060 | #endif |
@@ -1052,7 +1075,7 @@ cs46xx_dsp_create_task_tree (struct snd_cs46xx *chip, char * name, u32 * task_da | |||
1052 | desc->data = task_data; | 1075 | desc->data = task_data; |
1053 | _dsp_create_task_tree(chip,task_data,dest,size); | 1076 | _dsp_create_task_tree(chip,task_data,dest,size); |
1054 | } else { | 1077 | } else { |
1055 | snd_printk(KERN_ERR "dsp_spos: failed to map TASK\n"); | 1078 | dev_err(chip->card->dev, "dsp_spos: failed to map TASK\n"); |
1056 | } | 1079 | } |
1057 | 1080 | ||
1058 | return desc; | 1081 | return desc; |
@@ -1105,31 +1128,36 @@ int cs46xx_dsp_scb_and_task_init (struct snd_cs46xx *chip) | |||
1105 | 1128 | ||
1106 | null_algorithm = cs46xx_dsp_lookup_symbol(chip, "NULLALGORITHM", SYMBOL_CODE); | 1129 | null_algorithm = cs46xx_dsp_lookup_symbol(chip, "NULLALGORITHM", SYMBOL_CODE); |
1107 | if (null_algorithm == NULL) { | 1130 | if (null_algorithm == NULL) { |
1108 | snd_printk(KERN_ERR "dsp_spos: symbol NULLALGORITHM not found\n"); | 1131 | dev_err(chip->card->dev, |
1132 | "dsp_spos: symbol NULLALGORITHM not found\n"); | ||
1109 | return -EIO; | 1133 | return -EIO; |
1110 | } | 1134 | } |
1111 | 1135 | ||
1112 | fg_task_tree_header_code = cs46xx_dsp_lookup_symbol(chip, "FGTASKTREEHEADERCODE", SYMBOL_CODE); | 1136 | fg_task_tree_header_code = cs46xx_dsp_lookup_symbol(chip, "FGTASKTREEHEADERCODE", SYMBOL_CODE); |
1113 | if (fg_task_tree_header_code == NULL) { | 1137 | if (fg_task_tree_header_code == NULL) { |
1114 | snd_printk(KERN_ERR "dsp_spos: symbol FGTASKTREEHEADERCODE not found\n"); | 1138 | dev_err(chip->card->dev, |
1139 | "dsp_spos: symbol FGTASKTREEHEADERCODE not found\n"); | ||
1115 | return -EIO; | 1140 | return -EIO; |
1116 | } | 1141 | } |
1117 | 1142 | ||
1118 | task_tree_header_code = cs46xx_dsp_lookup_symbol(chip, "TASKTREEHEADERCODE", SYMBOL_CODE); | 1143 | task_tree_header_code = cs46xx_dsp_lookup_symbol(chip, "TASKTREEHEADERCODE", SYMBOL_CODE); |
1119 | if (task_tree_header_code == NULL) { | 1144 | if (task_tree_header_code == NULL) { |
1120 | snd_printk(KERN_ERR "dsp_spos: symbol TASKTREEHEADERCODE not found\n"); | 1145 | dev_err(chip->card->dev, |
1146 | "dsp_spos: symbol TASKTREEHEADERCODE not found\n"); | ||
1121 | return -EIO; | 1147 | return -EIO; |
1122 | } | 1148 | } |
1123 | 1149 | ||
1124 | task_tree_thread = cs46xx_dsp_lookup_symbol(chip, "TASKTREETHREAD", SYMBOL_CODE); | 1150 | task_tree_thread = cs46xx_dsp_lookup_symbol(chip, "TASKTREETHREAD", SYMBOL_CODE); |
1125 | if (task_tree_thread == NULL) { | 1151 | if (task_tree_thread == NULL) { |
1126 | snd_printk(KERN_ERR "dsp_spos: symbol TASKTREETHREAD not found\n"); | 1152 | dev_err(chip->card->dev, |
1153 | "dsp_spos: symbol TASKTREETHREAD not found\n"); | ||
1127 | return -EIO; | 1154 | return -EIO; |
1128 | } | 1155 | } |
1129 | 1156 | ||
1130 | magic_snoop_task = cs46xx_dsp_lookup_symbol(chip, "MAGICSNOOPTASK", SYMBOL_CODE); | 1157 | magic_snoop_task = cs46xx_dsp_lookup_symbol(chip, "MAGICSNOOPTASK", SYMBOL_CODE); |
1131 | if (magic_snoop_task == NULL) { | 1158 | if (magic_snoop_task == NULL) { |
1132 | snd_printk(KERN_ERR "dsp_spos: symbol MAGICSNOOPTASK not found\n"); | 1159 | dev_err(chip->card->dev, |
1160 | "dsp_spos: symbol MAGICSNOOPTASK not found\n"); | ||
1133 | return -EIO; | 1161 | return -EIO; |
1134 | } | 1162 | } |
1135 | 1163 | ||
@@ -1476,7 +1504,7 @@ int cs46xx_dsp_scb_and_task_init (struct snd_cs46xx *chip) | |||
1476 | return 0; | 1504 | return 0; |
1477 | 1505 | ||
1478 | _fail_end: | 1506 | _fail_end: |
1479 | snd_printk(KERN_ERR "dsp_spos: failed to setup SCB's in DSP\n"); | 1507 | dev_err(chip->card->dev, "dsp_spos: failed to setup SCB's in DSP\n"); |
1480 | return -EINVAL; | 1508 | return -EINVAL; |
1481 | } | 1509 | } |
1482 | 1510 | ||
@@ -1491,18 +1519,21 @@ static int cs46xx_dsp_async_init (struct snd_cs46xx *chip, | |||
1491 | 1519 | ||
1492 | s16_async_codec_input_task = cs46xx_dsp_lookup_symbol(chip, "S16_ASYNCCODECINPUTTASK", SYMBOL_CODE); | 1520 | s16_async_codec_input_task = cs46xx_dsp_lookup_symbol(chip, "S16_ASYNCCODECINPUTTASK", SYMBOL_CODE); |
1493 | if (s16_async_codec_input_task == NULL) { | 1521 | if (s16_async_codec_input_task == NULL) { |
1494 | snd_printk(KERN_ERR "dsp_spos: symbol S16_ASYNCCODECINPUTTASK not found\n"); | 1522 | dev_err(chip->card->dev, |
1523 | "dsp_spos: symbol S16_ASYNCCODECINPUTTASK not found\n"); | ||
1495 | return -EIO; | 1524 | return -EIO; |
1496 | } | 1525 | } |
1497 | spdifo_task = cs46xx_dsp_lookup_symbol(chip, "SPDIFOTASK", SYMBOL_CODE); | 1526 | spdifo_task = cs46xx_dsp_lookup_symbol(chip, "SPDIFOTASK", SYMBOL_CODE); |
1498 | if (spdifo_task == NULL) { | 1527 | if (spdifo_task == NULL) { |
1499 | snd_printk(KERN_ERR "dsp_spos: symbol SPDIFOTASK not found\n"); | 1528 | dev_err(chip->card->dev, |
1529 | "dsp_spos: symbol SPDIFOTASK not found\n"); | ||
1500 | return -EIO; | 1530 | return -EIO; |
1501 | } | 1531 | } |
1502 | 1532 | ||
1503 | spdifi_task = cs46xx_dsp_lookup_symbol(chip, "SPDIFITASK", SYMBOL_CODE); | 1533 | spdifi_task = cs46xx_dsp_lookup_symbol(chip, "SPDIFITASK", SYMBOL_CODE); |
1504 | if (spdifi_task == NULL) { | 1534 | if (spdifi_task == NULL) { |
1505 | snd_printk(KERN_ERR "dsp_spos: symbol SPDIFITASK not found\n"); | 1535 | dev_err(chip->card->dev, |
1536 | "dsp_spos: symbol SPDIFITASK not found\n"); | ||
1506 | return -EIO; | 1537 | return -EIO; |
1507 | } | 1538 | } |
1508 | 1539 | ||
@@ -1883,7 +1914,8 @@ int cs46xx_poke_via_dsp (struct snd_cs46xx *chip, u32 address, u32 data) | |||
1883 | } | 1914 | } |
1884 | 1915 | ||
1885 | if (i == 25) { | 1916 | if (i == 25) { |
1886 | snd_printk(KERN_ERR "dsp_spos: SPIOWriteTask not responding\n"); | 1917 | dev_err(chip->card->dev, |
1918 | "dsp_spos: SPIOWriteTask not responding\n"); | ||
1887 | return -EBUSY; | 1919 | return -EBUSY; |
1888 | } | 1920 | } |
1889 | 1921 | ||