snd_printk("image download error\n"); 
snd_printk(KERN_ERR "image download error\n"); 
int __devinit snd_cs46xx_start_dsp(cs46xx_t *chip){		unsigned int tmp;	/*	 *  Reset the processor.	 */	snd_cs46xx_reset(chip);	/*	 *  Download the image to the processor.	 */#ifdef CONFIG_SND_CS46XX_NEW_DSP#if 0	if (cs46xx_dsp_load_module(chip, &cwcemb80_module) < 0) {		snd_printk(KERN_ERR "image download error\n");		return -EIO;	}#endif	if (cs46xx_dsp_load_module(chip, &cwc4630_module) < 0) {		snd_printk(KERN_ERR "image download error [cwc4630]\n");		return -EIO;	}	if (cs46xx_dsp_load_module(chip, &cwcasync_module) < 0) {		snd_printk(KERN_ERR "image download error [cwcasync]\n");		return -EIO;	}	if (cs46xx_dsp_load_module(chip, &cwcsnoop_module) < 0) {		snd_printk(KERN_ERR "image download error [cwcsnoop]\n");		return -EIO;	}	if (cs46xx_dsp_load_module(chip, &cwcbinhack_module) < 0) {		snd_printk(KERN_ERR "image download error [cwcbinhack]\n");		return -EIO;	}	if (cs46xx_dsp_load_module(chip, &cwcdma_module) < 0) {		snd_printk(KERN_ERR "image download error [cwcdma]\n");		return -EIO;	}	if (cs46xx_dsp_scb_and_task_init(chip) < 0)		return -EIO;#else	/* old image */	if (snd_cs46xx_download_image(chip) < 0) {		snd_printk("image download error\n");		return -EIO;	}	/*         *  Stop playback DMA.	 */	tmp = snd_cs46xx_peek(chip, BA1_PCTL);	chip->play_ctl = tmp & 0xffff0000;	snd_cs46xx_poke(chip, BA1_PCTL, tmp & 0x0000ffff);#endif	/*         *  Stop capture DMA.	 */	tmp = snd_cs46xx_peek(chip, BA1_CCTL);	chip->capt.ctl = tmp & 0x0000ffff;	snd_cs46xx_poke(chip, BA1_CCTL, tmp & 0xffff0000);	mdelay(5);	snd_cs46xx_set_play_sample_rate(chip, 8000);	snd_cs46xx_set_capture_sample_rate(chip, 8000);	snd_cs46xx_proc_start(chip);	/*	 *  Enable interrupts on the part.	 */	snd_cs46xx_pokeBA0(chip, BA0_HICR, HICR_IEV | HICR_CHGM);        	tmp = snd_cs46xx_peek(chip, BA1_PFIE);	tmp &= ~0x0000f03f;	snd_cs46xx_poke(chip, BA1_PFIE, tmp);	/* playback interrupt enable */	tmp = snd_cs46xx_peek(chip, BA1_CIE);	tmp &= ~0x0000003f;	tmp |=  0x00000001;	snd_cs46xx_poke(chip, BA1_CIE, tmp);	/* capture interrupt enable */	#ifndef CONFIG_SND_CS46XX_NEW_DSP	/* set the attenuation to 0dB */ 	snd_cs46xx_poke(chip, BA1_PVOL, 0x80008000);	snd_cs46xx_poke(chip, BA1_CVOL, 0x80008000);#endif	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/99b359ba10a582148c6725f428a33ba5356dd993/cs46xx_lib.c/clean/sound/pci/cs46xx/cs46xx_lib.c