ALSA: emu10k1: Use standard printk helpers
Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
					parent
					
						
							
								26bc6964f9
							
						
					
				
			
			
				commit
				
					
						6f002b0216
					
				
			
		
					 13 changed files with 137 additions and 93 deletions
				
			
		| 
						 | 
				
			
			@ -170,7 +170,8 @@ static int snd_card_emu10k1_probe(struct pci_dev *pci,
 | 
			
		|||
	if (snd_seq_device_new(card, 1, SNDRV_SEQ_DEV_ID_EMU10K1_SYNTH,
 | 
			
		||||
			       sizeof(struct snd_emu10k1_synth_arg), &wave) < 0 ||
 | 
			
		||||
	    wave == NULL) {
 | 
			
		||||
		snd_printk(KERN_WARNING "can't initialize Emu10k1 wavetable synth\n");
 | 
			
		||||
		dev_warn(emu->card->dev,
 | 
			
		||||
			 "can't initialize Emu10k1 wavetable synth\n");
 | 
			
		||||
	} else {
 | 
			
		||||
		struct snd_emu10k1_synth_arg *arg;
 | 
			
		||||
		arg = SNDRV_SEQ_DEVICE_ARGPTR(wave);
 | 
			
		||||
| 
						 | 
				
			
			@ -247,8 +248,7 @@ static int snd_emu10k1_resume(struct device *dev)
 | 
			
		|||
	pci_set_power_state(pci, PCI_D0);
 | 
			
		||||
	pci_restore_state(pci);
 | 
			
		||||
	if (pci_enable_device(pci) < 0) {
 | 
			
		||||
		printk(KERN_ERR "emu10k1: pci_enable_device failed, "
 | 
			
		||||
		       "disabling device\n");
 | 
			
		||||
		dev_err(dev, "pci_enable_device failed, disabling device\n");
 | 
			
		||||
		snd_card_disconnect(card);
 | 
			
		||||
		return -EIO;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -105,7 +105,7 @@ snd_emu10k1_synth_get_voice(struct snd_emu10k1 *hw)
 | 
			
		|||
			vp = &emu->voices[best[i].voice];
 | 
			
		||||
			if ((ch = vp->ch) < 0) {
 | 
			
		||||
				/*
 | 
			
		||||
				printk(KERN_WARNING
 | 
			
		||||
				dev_warn(emu->card->dev,
 | 
			
		||||
				       "synth_get_voice: ch < 0 (%d) ??", i);
 | 
			
		||||
				*/
 | 
			
		||||
				continue;
 | 
			
		||||
| 
						 | 
				
			
			@ -339,7 +339,7 @@ start_voice(struct snd_emux_voice *vp)
 | 
			
		|||
		return -EINVAL;
 | 
			
		||||
	emem->map_locked++;
 | 
			
		||||
	if (snd_emu10k1_memblk_map(hw, emem) < 0) {
 | 
			
		||||
		/* printk(KERN_ERR "emu: cannot map!\n"); */
 | 
			
		||||
		/* dev_err(hw->card->devK, "emu: cannot map!\n"); */
 | 
			
		||||
		return -ENOMEM;
 | 
			
		||||
	}
 | 
			
		||||
	mapped_offset = snd_emu10k1_memblk_offset(emem) >> 1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -217,7 +217,7 @@ static int snd_emu10k1_init(struct snd_emu10k1 *emu, int enable_ir, int resume)
 | 
			
		|||
	}
 | 
			
		||||
	if (emu->card_capabilities->ca0108_chip) { /* audigy2 Value */
 | 
			
		||||
		/* Hacks for Alice3 to work independent of haP16V driver */
 | 
			
		||||
		snd_printk(KERN_INFO "Audigy2 value: Special config.\n");
 | 
			
		||||
		dev_info(emu->card->dev, "Audigy2 value: Special config.\n");
 | 
			
		||||
		/* Setup SRCMulti_I2S SamplingRate */
 | 
			
		||||
		tmp = snd_emu10k1_ptr_read(emu, A_SPDIF_SAMPLERATE, 0);
 | 
			
		||||
		tmp &= 0xfffff1ff;
 | 
			
		||||
| 
						 | 
				
			
			@ -723,7 +723,8 @@ static int emu1010_firmware_thread(void *data)
 | 
			
		|||
		if (reg & EMU_HANA_OPTION_DOCK_OFFLINE) {
 | 
			
		||||
			/* Audio Dock attached */
 | 
			
		||||
			/* Return to Audio Dock programming mode */
 | 
			
		||||
			snd_printk(KERN_INFO "emu1010: Loading Audio Dock Firmware\n");
 | 
			
		||||
			dev_info(emu->card->dev,
 | 
			
		||||
				 "emu1010: Loading Audio Dock Firmware\n");
 | 
			
		||||
			snd_emu1010_fpga_write(emu, EMU_HANA_FPGA_CONFIG, EMU_HANA_FPGA_CONFIG_AUDIODOCK);
 | 
			
		||||
 | 
			
		||||
			if (!emu->dock_fw) {
 | 
			
		||||
| 
						 | 
				
			
			@ -756,19 +757,25 @@ static int emu1010_firmware_thread(void *data)
 | 
			
		|||
 | 
			
		||||
			snd_emu1010_fpga_write(emu, EMU_HANA_FPGA_CONFIG, 0);
 | 
			
		||||
			snd_emu1010_fpga_read(emu, EMU_HANA_IRQ_STATUS, ®);
 | 
			
		||||
			snd_printk(KERN_INFO "emu1010: EMU_HANA+DOCK_IRQ_STATUS = 0x%x\n", reg);
 | 
			
		||||
			dev_info(emu->card->dev,
 | 
			
		||||
				 "emu1010: EMU_HANA+DOCK_IRQ_STATUS = 0x%x\n",
 | 
			
		||||
				 reg);
 | 
			
		||||
			/* ID, should read & 0x7f = 0x55 when FPGA programmed. */
 | 
			
		||||
			snd_emu1010_fpga_read(emu, EMU_HANA_ID, ®);
 | 
			
		||||
			snd_printk(KERN_INFO "emu1010: EMU_HANA+DOCK_ID = 0x%x\n", reg);
 | 
			
		||||
			dev_info(emu->card->dev,
 | 
			
		||||
				 "emu1010: EMU_HANA+DOCK_ID = 0x%x\n", reg);
 | 
			
		||||
			if ((reg & 0x1f) != 0x15) {
 | 
			
		||||
				/* FPGA failed to be programmed */
 | 
			
		||||
				snd_printk(KERN_INFO "emu1010: Loading Audio Dock Firmware file failed, reg = 0x%x\n", reg);
 | 
			
		||||
				dev_info(emu->card->dev,
 | 
			
		||||
					 "emu1010: Loading Audio Dock Firmware file failed, reg = 0x%x\n",
 | 
			
		||||
					 reg);
 | 
			
		||||
				continue;
 | 
			
		||||
			}
 | 
			
		||||
			snd_printk(KERN_INFO "emu1010: Audio Dock Firmware loaded\n");
 | 
			
		||||
			dev_info(emu->card->dev,
 | 
			
		||||
				 "emu1010: Audio Dock Firmware loaded\n");
 | 
			
		||||
			snd_emu1010_fpga_read(emu, EMU_DOCK_MAJOR_REV, &tmp);
 | 
			
		||||
			snd_emu1010_fpga_read(emu, EMU_DOCK_MINOR_REV, &tmp2);
 | 
			
		||||
			snd_printk(KERN_INFO "Audio Dock ver: %u.%u\n",
 | 
			
		||||
			dev_info(emu->card->dev, "Audio Dock ver: %u.%u\n",
 | 
			
		||||
				   tmp, tmp2);
 | 
			
		||||
			/* Sync clocking between 1010 and Dock */
 | 
			
		||||
			/* Allow DLL to settle */
 | 
			
		||||
| 
						 | 
				
			
			@ -777,7 +784,7 @@ static int emu1010_firmware_thread(void *data)
 | 
			
		|||
			snd_emu1010_fpga_write(emu, EMU_HANA_UNMUTE, EMU_UNMUTE);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	snd_printk(KERN_INFO "emu1010: firmware thread stopping\n");
 | 
			
		||||
	dev_info(emu->card->dev, "emu1010: firmware thread stopping\n");
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -818,7 +825,7 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 *emu)
 | 
			
		|||
	u32 tmp, tmp2, reg;
 | 
			
		||||
	int err;
 | 
			
		||||
 | 
			
		||||
	snd_printk(KERN_INFO "emu1010: Special config.\n");
 | 
			
		||||
	dev_info(emu->card->dev, "emu1010: Special config.\n");
 | 
			
		||||
	/* AC97 2.1, Any 16Meg of 4Gig address, Auto-Mute, EMU32 Slave,
 | 
			
		||||
	 * Lock Sound Memory Cache, Lock Tank Memory Cache,
 | 
			
		||||
	 * Mute all codecs.
 | 
			
		||||
| 
						 | 
				
			
			@ -843,7 +850,7 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 *emu)
 | 
			
		|||
 | 
			
		||||
	/* ID, should read & 0x7f = 0x55. (Bit 7 is the IRQ bit) */
 | 
			
		||||
	snd_emu1010_fpga_read(emu, EMU_HANA_ID, ®);
 | 
			
		||||
	snd_printdd("reg1 = 0x%x\n", reg);
 | 
			
		||||
	dev_dbg(emu->card->dev, "reg1 = 0x%x\n", reg);
 | 
			
		||||
	if ((reg & 0x3f) == 0x15) {
 | 
			
		||||
		/* FPGA netlist already present so clear it */
 | 
			
		||||
		/* Return to programming mode */
 | 
			
		||||
| 
						 | 
				
			
			@ -851,13 +858,14 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 *emu)
 | 
			
		|||
		snd_emu1010_fpga_write(emu, EMU_HANA_FPGA_CONFIG, 0x02);
 | 
			
		||||
	}
 | 
			
		||||
	snd_emu1010_fpga_read(emu, EMU_HANA_ID, ®);
 | 
			
		||||
	snd_printdd("reg2 = 0x%x\n", reg);
 | 
			
		||||
	dev_dbg(emu->card->dev, "reg2 = 0x%x\n", reg);
 | 
			
		||||
	if ((reg & 0x3f) == 0x15) {
 | 
			
		||||
		/* FPGA failed to return to programming mode */
 | 
			
		||||
		snd_printk(KERN_INFO "emu1010: FPGA failed to return to programming mode\n");
 | 
			
		||||
		dev_info(emu->card->dev,
 | 
			
		||||
			 "emu1010: FPGA failed to return to programming mode\n");
 | 
			
		||||
		return -ENODEV;
 | 
			
		||||
	}
 | 
			
		||||
	snd_printk(KERN_INFO "emu1010: EMU_HANA_ID = 0x%x\n", reg);
 | 
			
		||||
	dev_info(emu->card->dev, "emu1010: EMU_HANA_ID = 0x%x\n", reg);
 | 
			
		||||
 | 
			
		||||
	if (!emu->firmware) {
 | 
			
		||||
		const char *filename;
 | 
			
		||||
| 
						 | 
				
			
			@ -880,16 +888,19 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 *emu)
 | 
			
		|||
 | 
			
		||||
		err = request_firmware(&emu->firmware, filename, &emu->pci->dev);
 | 
			
		||||
		if (err != 0) {
 | 
			
		||||
			snd_printk(KERN_ERR "emu1010: firmware: %s not found. Err = %d\n", filename, err);
 | 
			
		||||
			dev_info(emu->card->dev,
 | 
			
		||||
				 "emu1010: firmware: %s not found. Err = %d\n",
 | 
			
		||||
				 filename, err);
 | 
			
		||||
			return err;
 | 
			
		||||
		}
 | 
			
		||||
		snd_printk(KERN_INFO "emu1010: firmware file = %s, size = 0x%zx\n",
 | 
			
		||||
		dev_info(emu->card->dev,
 | 
			
		||||
			 "emu1010: firmware file = %s, size = 0x%zx\n",
 | 
			
		||||
			   filename, emu->firmware->size);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = snd_emu1010_load_firmware(emu, emu->firmware);
 | 
			
		||||
	if (err != 0) {
 | 
			
		||||
		snd_printk(KERN_INFO "emu1010: Loading Firmware failed\n");
 | 
			
		||||
		dev_info(emu->card->dev, "emu1010: Loading Firmware failed\n");
 | 
			
		||||
		return err;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -897,21 +908,23 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 *emu)
 | 
			
		|||
	snd_emu1010_fpga_read(emu, EMU_HANA_ID, ®);
 | 
			
		||||
	if ((reg & 0x3f) != 0x15) {
 | 
			
		||||
		/* FPGA failed to be programmed */
 | 
			
		||||
		snd_printk(KERN_INFO "emu1010: Loading Hana Firmware file failed, reg = 0x%x\n", reg);
 | 
			
		||||
		dev_info(emu->card->dev,
 | 
			
		||||
			 "emu1010: Loading Hana Firmware file failed, reg = 0x%x\n",
 | 
			
		||||
			 reg);
 | 
			
		||||
		return -ENODEV;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	snd_printk(KERN_INFO "emu1010: Hana Firmware loaded\n");
 | 
			
		||||
	dev_info(emu->card->dev, "emu1010: Hana Firmware loaded\n");
 | 
			
		||||
	snd_emu1010_fpga_read(emu, EMU_HANA_MAJOR_REV, &tmp);
 | 
			
		||||
	snd_emu1010_fpga_read(emu, EMU_HANA_MINOR_REV, &tmp2);
 | 
			
		||||
	snd_printk(KERN_INFO "emu1010: Hana version: %u.%u\n", tmp, tmp2);
 | 
			
		||||
	dev_info(emu->card->dev, "emu1010: Hana version: %u.%u\n", tmp, tmp2);
 | 
			
		||||
	/* Enable 48Volt power to Audio Dock */
 | 
			
		||||
	snd_emu1010_fpga_write(emu, EMU_HANA_DOCK_PWR, EMU_HANA_DOCK_PWR_ON);
 | 
			
		||||
 | 
			
		||||
	snd_emu1010_fpga_read(emu, EMU_HANA_OPTION_CARDS, ®);
 | 
			
		||||
	snd_printk(KERN_INFO "emu1010: Card options = 0x%x\n", reg);
 | 
			
		||||
	dev_info(emu->card->dev, "emu1010: Card options = 0x%x\n", reg);
 | 
			
		||||
	snd_emu1010_fpga_read(emu, EMU_HANA_OPTION_CARDS, ®);
 | 
			
		||||
	snd_printk(KERN_INFO "emu1010: Card options = 0x%x\n", reg);
 | 
			
		||||
	dev_info(emu->card->dev, "emu1010: Card options = 0x%x\n", reg);
 | 
			
		||||
	snd_emu1010_fpga_read(emu, EMU_HANA_OPTICAL_TYPE, &tmp);
 | 
			
		||||
	/* Optical -> ADAT I/O  */
 | 
			
		||||
	/* 0 : SPDIF
 | 
			
		||||
| 
						 | 
				
			
			@ -950,7 +963,7 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 *emu)
 | 
			
		|||
	snd_emu1010_fpga_write(emu, EMU_HANA_IRQ_ENABLE, 0x00);
 | 
			
		||||
 | 
			
		||||
	snd_emu1010_fpga_read(emu, EMU_HANA_OPTION_CARDS, ®);
 | 
			
		||||
	snd_printk(KERN_INFO "emu1010: Card options3 = 0x%x\n", reg);
 | 
			
		||||
	dev_info(emu->card->dev, "emu1010: Card options3 = 0x%x\n", reg);
 | 
			
		||||
	/* Default WCLK set to 48kHz. */
 | 
			
		||||
	snd_emu1010_fpga_write(emu, EMU_HANA_DEFCLOCK, 0x00);
 | 
			
		||||
	/* Word Clock source, Internal 48kHz x1 */
 | 
			
		||||
| 
						 | 
				
			
			@ -1808,7 +1821,9 @@ int snd_emu10k1_create(struct snd_card *card,
 | 
			
		|||
	emu->revision = pci->revision;
 | 
			
		||||
	pci_read_config_dword(pci, PCI_SUBSYSTEM_VENDOR_ID, &emu->serial);
 | 
			
		||||
	pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &emu->model);
 | 
			
		||||
	snd_printdd("vendor = 0x%x, device = 0x%x, subsystem_vendor_id = 0x%x, subsystem_id = 0x%x\n", pci->vendor, pci->device, emu->serial, emu->model);
 | 
			
		||||
	dev_dbg(card->dev,
 | 
			
		||||
		"vendor = 0x%x, device = 0x%x, subsystem_vendor_id = 0x%x, subsystem_id = 0x%x\n",
 | 
			
		||||
		pci->vendor, pci->device, emu->serial, emu->model);
 | 
			
		||||
 | 
			
		||||
	for (c = emu_chip_details; c->vendor; c++) {
 | 
			
		||||
		if (c->vendor == pci->vendor && c->device == pci->device) {
 | 
			
		||||
| 
						 | 
				
			
			@ -1827,21 +1842,21 @@ int snd_emu10k1_create(struct snd_card *card,
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (c->vendor == 0) {
 | 
			
		||||
		snd_printk(KERN_ERR "emu10k1: Card not recognised\n");
 | 
			
		||||
		dev_err(card->dev, "emu10k1: Card not recognised\n");
 | 
			
		||||
		kfree(emu);
 | 
			
		||||
		pci_disable_device(pci);
 | 
			
		||||
		return -ENOENT;
 | 
			
		||||
	}
 | 
			
		||||
	emu->card_capabilities = c;
 | 
			
		||||
	if (c->subsystem && !subsystem)
 | 
			
		||||
		snd_printdd("Sound card name = %s\n", c->name);
 | 
			
		||||
		dev_dbg(card->dev, "Sound card name = %s\n", c->name);
 | 
			
		||||
	else if (subsystem)
 | 
			
		||||
		snd_printdd("Sound card name = %s, "
 | 
			
		||||
		dev_dbg(card->dev, "Sound card name = %s, "
 | 
			
		||||
			"vendor = 0x%x, device = 0x%x, subsystem = 0x%x. "
 | 
			
		||||
			"Forced to subsystem = 0x%x\n",	c->name,
 | 
			
		||||
			pci->vendor, pci->device, emu->serial, c->subsystem);
 | 
			
		||||
	else
 | 
			
		||||
		snd_printdd("Sound card name = %s, "
 | 
			
		||||
		dev_dbg(card->dev, "Sound card name = %s, "
 | 
			
		||||
			"vendor = 0x%x, device = 0x%x, subsystem = 0x%x.\n",
 | 
			
		||||
			c->name, pci->vendor, pci->device,
 | 
			
		||||
			emu->serial);
 | 
			
		||||
| 
						 | 
				
			
			@ -1869,7 +1884,9 @@ int snd_emu10k1_create(struct snd_card *card,
 | 
			
		|||
	emu->dma_mask = is_audigy ? AUDIGY_DMA_MASK : EMU10K1_DMA_MASK;
 | 
			
		||||
	if (pci_set_dma_mask(pci, emu->dma_mask) < 0 ||
 | 
			
		||||
	    pci_set_consistent_dma_mask(pci, emu->dma_mask) < 0) {
 | 
			
		||||
		snd_printk(KERN_ERR "architecture does not support PCI busmaster DMA with mask 0x%lx\n", emu->dma_mask);
 | 
			
		||||
		dev_err(card->dev,
 | 
			
		||||
			"architecture does not support PCI busmaster DMA with mask 0x%lx\n",
 | 
			
		||||
			emu->dma_mask);
 | 
			
		||||
		kfree(emu);
 | 
			
		||||
		pci_disable_device(pci);
 | 
			
		||||
		return -ENXIO;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,7 +50,8 @@ snd_emu10k1_sample_new(struct snd_emux *rec, struct snd_sf_sample *sp,
 | 
			
		|||
		return -EINVAL;
 | 
			
		||||
 | 
			
		||||
	if (sp->v.size == 0) {
 | 
			
		||||
		snd_printd("emu: rom font for sample %d\n", sp->v.sample);
 | 
			
		||||
		dev_dbg(emu->card->dev,
 | 
			
		||||
			"emu: rom font for sample %d\n", sp->v.sample);
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -92,7 +93,8 @@ snd_emu10k1_sample_new(struct snd_emux *rec, struct snd_sf_sample *sp,
 | 
			
		|||
		blocksize *= 2;
 | 
			
		||||
	sp->block = snd_emu10k1_synth_alloc(emu, blocksize);
 | 
			
		||||
	if (sp->block == NULL) {
 | 
			
		||||
		snd_printd("emu10k1: synth malloc failed (size=%d)\n", blocksize);
 | 
			
		||||
		dev_dbg(emu->card->dev,
 | 
			
		||||
			"synth malloc failed (size=%d)\n", blocksize);
 | 
			
		||||
		/* not ENOMEM (for compatibility with OSS) */
 | 
			
		||||
		return -ENOSPC;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1547,7 +1547,7 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input))
 | 
			
		|||
	/* A_PUT_STEREO_OUTPUT(A_EXTOUT_FRONT_L, A_EXTOUT_FRONT_R, playback + SND_EMU10K1_PLAYBACK_CHANNELS); */
 | 
			
		||||
	if (emu->card_capabilities->emu_model) {
 | 
			
		||||
		/* EMU1010 Outputs from PCM Front, Rear, Center, LFE, Side */
 | 
			
		||||
		snd_printk(KERN_INFO "EMU outputs on\n");
 | 
			
		||||
		dev_info(emu->card->dev, "EMU outputs on\n");
 | 
			
		||||
		for (z = 0; z < 8; z++) {
 | 
			
		||||
			if (emu->card_capabilities->ca0108_chip) {
 | 
			
		||||
				A_OP(icode, &ptr, iACC3, A3_EMU32OUT(z), A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + z), A_C_00000000, A_C_00000000);
 | 
			
		||||
| 
						 | 
				
			
			@ -1571,7 +1571,9 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input))
 | 
			
		|||
		A_SWITCH(icode, &ptr, tmp + 1, playback + SND_EMU10K1_PLAYBACK_CHANNELS + z, tmp + 1);
 | 
			
		||||
		if ((z==1) && (emu->card_capabilities->spdif_bug)) {
 | 
			
		||||
			/* Due to a SPDIF output bug on some Audigy cards, this code delays the Right channel by 1 sample */
 | 
			
		||||
			snd_printk(KERN_INFO "Installing spdif_bug patch: %s\n", emu->card_capabilities->name);
 | 
			
		||||
			dev_info(emu->card->dev,
 | 
			
		||||
				 "Installing spdif_bug patch: %s\n",
 | 
			
		||||
				 emu->card_capabilities->name);
 | 
			
		||||
			A_OP(icode, &ptr, iACC3, A_EXTOUT(A_EXTOUT_FRONT_L + z), A_GPR(gpr - 3), A_C_00000000, A_C_00000000);
 | 
			
		||||
			A_OP(icode, &ptr, iACC3, A_GPR(gpr - 3), A_GPR(tmp + 0), A_GPR(tmp + 1), A_C_00000000);
 | 
			
		||||
		} else {
 | 
			
		||||
| 
						 | 
				
			
			@ -1595,7 +1597,7 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input))
 | 
			
		|||
 | 
			
		||||
	if (emu->card_capabilities->emu_model) {
 | 
			
		||||
		if (emu->card_capabilities->ca0108_chip) {
 | 
			
		||||
			snd_printk(KERN_INFO "EMU2 inputs on\n");
 | 
			
		||||
			dev_info(emu->card->dev, "EMU2 inputs on\n");
 | 
			
		||||
			for (z = 0; z < 0x10; z++) {
 | 
			
		||||
				snd_emu10k1_audigy_dsp_convert_32_to_2x16( icode, &ptr, tmp, 
 | 
			
		||||
									bit_shifter16,
 | 
			
		||||
| 
						 | 
				
			
			@ -1603,11 +1605,11 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input))
 | 
			
		|||
									A_FXBUS2(z*2) );
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			snd_printk(KERN_INFO "EMU inputs on\n");
 | 
			
		||||
			dev_info(emu->card->dev, "EMU inputs on\n");
 | 
			
		||||
			/* Capture 16 (originally 8) channels of S32_LE sound */
 | 
			
		||||
 | 
			
		||||
			/*
 | 
			
		||||
			printk(KERN_DEBUG "emufx.c: gpr=0x%x, tmp=0x%x\n",
 | 
			
		||||
			dev_dbg(emu->card->dev, "emufx.c: gpr=0x%x, tmp=0x%x\n",
 | 
			
		||||
			       gpr, tmp);
 | 
			
		||||
			*/
 | 
			
		||||
			/* For the EMU1010: How to get 32bit values from the DSP. High 16bits into L, low 16bits into R. */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1853,8 +1853,10 @@ int snd_emu10k1_mixer(struct snd_emu10k1 *emu,
 | 
			
		|||
		if ((err = snd_ac97_mixer(pbus, &ac97, &emu->ac97)) < 0) {
 | 
			
		||||
			if (emu->card_capabilities->ac97_chip == 1)
 | 
			
		||||
				return err;
 | 
			
		||||
			snd_printd(KERN_INFO "emu10k1: AC97 is optional on this board\n");
 | 
			
		||||
			snd_printd(KERN_INFO"          Proceeding without ac97 mixers...\n");
 | 
			
		||||
			dev_info(emu->card->dev,
 | 
			
		||||
				 "AC97 is optional on this board\n");
 | 
			
		||||
			dev_info(emu->card->dev,
 | 
			
		||||
				 "Proceeding without ac97 mixers...\n");
 | 
			
		||||
			snd_device_free(emu->card, pbus);
 | 
			
		||||
			goto no_ac97; /* FIXME: get rid of ugly gotos.. */
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,7 +64,9 @@ static void mpu401_clear_rx(struct snd_emu10k1 *emu, struct snd_emu10k1_midi *mp
 | 
			
		|||
		mpu401_read_data(emu, mpu);
 | 
			
		||||
#ifdef CONFIG_SND_DEBUG
 | 
			
		||||
	if (timeout <= 0)
 | 
			
		||||
		snd_printk(KERN_ERR "cmd: clear rx timeout (status = 0x%x)\n", mpu401_read_stat(emu, mpu));
 | 
			
		||||
		dev_err(emu->card->dev,
 | 
			
		||||
			"cmd: clear rx timeout (status = 0x%x)\n",
 | 
			
		||||
			mpu401_read_stat(emu, mpu));
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -141,7 +143,8 @@ static int snd_emu10k1_midi_cmd(struct snd_emu10k1 * emu, struct snd_emu10k1_mid
 | 
			
		|||
	}
 | 
			
		||||
	spin_unlock_irqrestore(&midi->input_lock, flags);
 | 
			
		||||
	if (!ok) {
 | 
			
		||||
		snd_printk(KERN_ERR "midi_cmd: 0x%x failed at 0x%lx (status = 0x%x, data = 0x%x)!!!\n",
 | 
			
		||||
		dev_err(emu->card->dev,
 | 
			
		||||
			"midi_cmd: 0x%x failed at 0x%lx (status = 0x%x, data = 0x%x)!!!\n",
 | 
			
		||||
			   cmd, emu->port,
 | 
			
		||||
			   mpu401_read_stat(emu, midi),
 | 
			
		||||
			   mpu401_read_data(emu, midi));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,7 +44,8 @@ static void snd_emu10k1_pcm_interrupt(struct snd_emu10k1 *emu,
 | 
			
		|||
	if (epcm->substream == NULL)
 | 
			
		||||
		return;
 | 
			
		||||
#if 0
 | 
			
		||||
	printk(KERN_DEBUG "IRQ: position = 0x%x, period = 0x%x, size = 0x%x\n",
 | 
			
		||||
	dev_dbg(emu->card->dev,
 | 
			
		||||
		"IRQ: position = 0x%x, period = 0x%x, size = 0x%x\n",
 | 
			
		||||
			epcm->substream->runtime->hw->pointer(emu, epcm->substream),
 | 
			
		||||
			snd_pcm_lib_period_bytes(epcm->substream),
 | 
			
		||||
			snd_pcm_lib_buffer_bytes(epcm->substream));
 | 
			
		||||
| 
						 | 
				
			
			@ -147,7 +148,7 @@ static int snd_emu10k1_pcm_channel_alloc(struct snd_emu10k1_pcm * epcm, int voic
 | 
			
		|||
					      &epcm->extra);
 | 
			
		||||
		if (err < 0) {
 | 
			
		||||
			/*
 | 
			
		||||
			printk(KERN_DEBUG "pcm_channel_alloc: "
 | 
			
		||||
			dev_dbg(emu->card->dev, "pcm_channel_alloc: "
 | 
			
		||||
			       "failed extra: voices=%d, frame=%d\n",
 | 
			
		||||
			       voices, frame);
 | 
			
		||||
			*/
 | 
			
		||||
| 
						 | 
				
			
			@ -761,7 +762,8 @@ static int snd_emu10k1_playback_trigger(struct snd_pcm_substream *substream,
 | 
			
		|||
	int result = 0;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	printk(KERN_DEBUG "trigger - emu10k1 = 0x%x, cmd = %i, pointer = %i\n",
 | 
			
		||||
	dev_dbg(emu->card->dev,
 | 
			
		||||
		"trigger - emu10k1 = 0x%x, cmd = %i, pointer = %i\n",
 | 
			
		||||
	       (int)emu, cmd, substream->ops->pointer(substream))
 | 
			
		||||
	*/
 | 
			
		||||
	spin_lock(&emu->reg_lock);
 | 
			
		||||
| 
						 | 
				
			
			@ -815,7 +817,7 @@ static int snd_emu10k1_capture_trigger(struct snd_pcm_substream *substream,
 | 
			
		|||
		outl(epcm->capture_ipr, emu->port + IPR);
 | 
			
		||||
		snd_emu10k1_intr_enable(emu, epcm->capture_inte);
 | 
			
		||||
		/*
 | 
			
		||||
		printk(KERN_DEBUG "adccr = 0x%x, adcbs = 0x%x\n",
 | 
			
		||||
		dev_dbg(emu->card->dev, "adccr = 0x%x, adcbs = 0x%x\n",
 | 
			
		||||
		       epcm->adccr, epcm->adcbs);
 | 
			
		||||
		*/
 | 
			
		||||
		switch (epcm->type) {
 | 
			
		||||
| 
						 | 
				
			
			@ -826,7 +828,10 @@ static int snd_emu10k1_capture_trigger(struct snd_pcm_substream *substream,
 | 
			
		|||
			if (emu->audigy) {
 | 
			
		||||
				snd_emu10k1_ptr_write(emu, A_FXWC1, 0, epcm->capture_cr_val);
 | 
			
		||||
				snd_emu10k1_ptr_write(emu, A_FXWC2, 0, epcm->capture_cr_val2);
 | 
			
		||||
				snd_printdd("cr_val=0x%x, cr_val2=0x%x\n", epcm->capture_cr_val, epcm->capture_cr_val2);
 | 
			
		||||
				dev_dbg(emu->card->dev,
 | 
			
		||||
					"cr_val=0x%x, cr_val2=0x%x\n",
 | 
			
		||||
					epcm->capture_cr_val,
 | 
			
		||||
					epcm->capture_cr_val2);
 | 
			
		||||
			} else
 | 
			
		||||
				snd_emu10k1_ptr_write(emu, FXWC, 0, epcm->capture_cr_val);
 | 
			
		||||
			break;
 | 
			
		||||
| 
						 | 
				
			
			@ -889,7 +894,7 @@ static snd_pcm_uframes_t snd_emu10k1_playback_pointer(struct snd_pcm_substream *
 | 
			
		|||
	}
 | 
			
		||||
#endif
 | 
			
		||||
	/*
 | 
			
		||||
	printk(KERN_DEBUG
 | 
			
		||||
	dev_dbg(emu->card->dev,
 | 
			
		||||
	       "ptr = 0x%lx, buffer_size = 0x%lx, period_size = 0x%lx\n",
 | 
			
		||||
	       (long)ptr, (long)runtime->buffer_size,
 | 
			
		||||
	       (long)runtime->period_size);
 | 
			
		||||
| 
						 | 
				
			
			@ -1594,7 +1599,8 @@ static void snd_emu10k1_fx8010_playback_tram_poke1(unsigned short *dst_left,
 | 
			
		|||
						   unsigned int tram_shift)
 | 
			
		||||
{
 | 
			
		||||
	/*
 | 
			
		||||
	printk(KERN_DEBUG "tram_poke1: dst_left = 0x%p, dst_right = 0x%p, "
 | 
			
		||||
	dev_dbg(emu->card->dev,
 | 
			
		||||
		"tram_poke1: dst_left = 0x%p, dst_right = 0x%p, "
 | 
			
		||||
	       "src = 0x%p, count = 0x%x\n",
 | 
			
		||||
	       dst_left, dst_right, src, count);
 | 
			
		||||
	*/
 | 
			
		||||
| 
						 | 
				
			
			@ -1675,7 +1681,7 @@ static int snd_emu10k1_fx8010_playback_prepare(struct snd_pcm_substream *substre
 | 
			
		|||
	unsigned int i;
 | 
			
		||||
	
 | 
			
		||||
	/*
 | 
			
		||||
	printk(KERN_DEBUG "prepare: etram_pages = 0x%p, dma_area = 0x%x, "
 | 
			
		||||
	dev_dbg(emu->card->dev, "prepare: etram_pages = 0x%p, dma_area = 0x%x, "
 | 
			
		||||
	       "buffer_size = 0x%x (0x%x)\n",
 | 
			
		||||
	       emu->fx8010.etram_pages, runtime->dma_area,
 | 
			
		||||
	       runtime->buffer_size, runtime->buffer_size << 2);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,7 +72,7 @@ void snd_emu10k1_ptr_write(struct snd_emu10k1 *emu, unsigned int reg, unsigned i
 | 
			
		|||
	unsigned int mask;
 | 
			
		||||
 | 
			
		||||
	if (!emu) {
 | 
			
		||||
		snd_printk(KERN_ERR "ptr_write: emu is null!\n");
 | 
			
		||||
		dev_err(emu->card->dev, "ptr_write: emu is null!\n");
 | 
			
		||||
		dump_stack();
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -199,7 +199,7 @@ int snd_emu10k1_i2c_write(struct snd_emu10k1 *emu,
 | 
			
		|||
	int err = 0;
 | 
			
		||||
 | 
			
		||||
	if ((reg > 0x7f) || (value > 0x1ff)) {
 | 
			
		||||
		snd_printk(KERN_ERR "i2c_write: invalid values.\n");
 | 
			
		||||
		dev_err(emu->card->dev, "i2c_write: invalid values.\n");
 | 
			
		||||
		return -EINVAL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -227,7 +227,7 @@ int snd_emu10k1_i2c_write(struct snd_emu10k1 *emu,
 | 
			
		|||
				break;
 | 
			
		||||
 | 
			
		||||
			if (timeout > 1000) {
 | 
			
		||||
                		snd_printk(KERN_WARNING
 | 
			
		||||
				dev_warn(emu->card->dev,
 | 
			
		||||
					   "emu10k1:I2C:timeout status=0x%x\n",
 | 
			
		||||
					   status);
 | 
			
		||||
				break;
 | 
			
		||||
| 
						 | 
				
			
			@ -239,8 +239,8 @@ int snd_emu10k1_i2c_write(struct snd_emu10k1 *emu,
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	if (retry == 10) {
 | 
			
		||||
		snd_printk(KERN_ERR "Writing to ADC failed!\n");
 | 
			
		||||
		snd_printk(KERN_ERR "status=0x%x, reg=%d, value=%d\n",
 | 
			
		||||
		dev_err(emu->card->dev, "Writing to ADC failed!\n");
 | 
			
		||||
		dev_err(emu->card->dev, "status=0x%x, reg=%d, value=%d\n",
 | 
			
		||||
			status, reg, value);
 | 
			
		||||
		/* dump_stack(); */
 | 
			
		||||
		err = -EINVAL;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,11 +41,12 @@ irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id)
 | 
			
		|||
		orig_status = status;
 | 
			
		||||
		handled = 1;
 | 
			
		||||
		if ((status & 0xffffffff) == 0xffffffff) {
 | 
			
		||||
			snd_printk(KERN_INFO "snd-emu10k1: Suspected sound card removal\n");
 | 
			
		||||
			dev_info(emu->card->dev,
 | 
			
		||||
				 "Suspected sound card removal\n");
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
		if (status & IPR_PCIERROR) {
 | 
			
		||||
			snd_printk(KERN_ERR "interrupt: PCI error\n");
 | 
			
		||||
			dev_err(emu->card->dev, "interrupt: PCI error\n");
 | 
			
		||||
			snd_emu10k1_intr_disable(emu, INTE_PCIERRORENABLE);
 | 
			
		||||
			status &= ~IPR_PCIERROR;
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -157,19 +158,22 @@ irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id)
 | 
			
		|||
				struct snd_emu10k1_voice *pvoice = &(emu->p16v_voices[0]);
 | 
			
		||||
				struct snd_emu10k1_voice *cvoice = &(emu->p16v_capture_voice);
 | 
			
		||||
 | 
			
		||||
				//printk(KERN_INFO "status2=0x%x\n", status2);
 | 
			
		||||
				/* dev_dbg(emu->card->dev, "status2=0x%x\n", status2); */
 | 
			
		||||
				orig_status2 = status2;
 | 
			
		||||
				if(status2 & mask) {
 | 
			
		||||
					if(pvoice->use) {
 | 
			
		||||
						snd_pcm_period_elapsed(pvoice->epcm->substream);
 | 
			
		||||
					} else { 
 | 
			
		||||
						snd_printk(KERN_ERR "p16v: status: 0x%08x, mask=0x%08x, pvoice=%p, use=%d\n", status2, mask, pvoice, pvoice->use);
 | 
			
		||||
						dev_err(emu->card->dev,
 | 
			
		||||
							"p16v: status: 0x%08x, mask=0x%08x, pvoice=%p, use=%d\n",
 | 
			
		||||
							status2, mask, pvoice,
 | 
			
		||||
							pvoice->use);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				if(status2 & 0x110000) {
 | 
			
		||||
					//printk(KERN_INFO "capture int found\n");
 | 
			
		||||
					/* dev_info(emu->card->dev, "capture int found\n"); */
 | 
			
		||||
					if(cvoice->use) {
 | 
			
		||||
						//printk(KERN_INFO "capture period_elapsed\n");
 | 
			
		||||
						/* dev_info(emu->card->dev, "capture period_elapsed\n"); */
 | 
			
		||||
						snd_pcm_period_elapsed(cvoice->epcm->substream);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -180,7 +184,8 @@ irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id)
 | 
			
		|||
 | 
			
		||||
		if (status) {
 | 
			
		||||
			unsigned int bits;
 | 
			
		||||
			snd_printk(KERN_ERR "emu10k1: unhandled interrupt: 0x%08x\n", status);
 | 
			
		||||
			dev_err(emu->card->dev,
 | 
			
		||||
				"unhandled interrupt: 0x%08x\n", status);
 | 
			
		||||
			//make sure any interrupts we don't handle are disabled:
 | 
			
		||||
			bits = INTE_FXDSPENABLE |
 | 
			
		||||
				INTE_PCIERRORENABLE |
 | 
			
		||||
| 
						 | 
				
			
			@ -202,7 +207,7 @@ irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id)
 | 
			
		|||
		outl(orig_status, emu->port + IPR); /* ack all */
 | 
			
		||||
	}
 | 
			
		||||
	if (timeout == 1000)
 | 
			
		||||
		snd_printk(KERN_INFO "emu10k1 irq routine failure\n");
 | 
			
		||||
		dev_info(emu->card->dev, "emu10k1 irq routine failure\n");
 | 
			
		||||
 | 
			
		||||
	return IRQ_RETVAL(handled);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -236,11 +236,13 @@ __found_pages:
 | 
			
		|||
static int is_valid_page(struct snd_emu10k1 *emu, dma_addr_t addr)
 | 
			
		||||
{
 | 
			
		||||
	if (addr & ~emu->dma_mask) {
 | 
			
		||||
		snd_printk(KERN_ERR "max memory size is 0x%lx (addr = 0x%lx)!!\n", emu->dma_mask, (unsigned long)addr);
 | 
			
		||||
		dev_err(emu->card->dev,
 | 
			
		||||
			"max memory size is 0x%lx (addr = 0x%lx)!!\n",
 | 
			
		||||
			emu->dma_mask, (unsigned long)addr);
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
	if (addr & (EMUPAGESIZE-1)) {
 | 
			
		||||
		snd_printk(KERN_ERR "page is not aligned\n");
 | 
			
		||||
		dev_err(emu->card->dev, "page is not aligned\n");
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
	return 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -331,7 +333,8 @@ snd_emu10k1_alloc_pages(struct snd_emu10k1 *emu, struct snd_pcm_substream *subst
 | 
			
		|||
		else
 | 
			
		||||
			addr = snd_pcm_sgbuf_get_addr(substream, ofs);
 | 
			
		||||
		if (! is_valid_page(emu, addr)) {
 | 
			
		||||
			printk(KERN_ERR "emu: failure page = %d\n", idx);
 | 
			
		||||
			dev_err(emu->card->dev,
 | 
			
		||||
				"emu: failure page = %d\n", idx);
 | 
			
		||||
			mutex_unlock(&hdr->block_mutex);
 | 
			
		||||
			return NULL;
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -507,7 +510,8 @@ static inline void *offset_ptr(struct snd_emu10k1 *emu, int page, int offset)
 | 
			
		|||
		return NULL;
 | 
			
		||||
	ptr = emu->page_ptr_table[page];
 | 
			
		||||
	if (! ptr) {
 | 
			
		||||
		printk(KERN_ERR "emu10k1: access to NULL ptr: page = %d\n", page);
 | 
			
		||||
		dev_err(emu->card->dev,
 | 
			
		||||
			"access to NULL ptr: page = %d\n", page);
 | 
			
		||||
		return NULL;
 | 
			
		||||
	}
 | 
			
		||||
	ptr += offset & (PAGE_SIZE - 1);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -168,7 +168,7 @@ static void snd_p16v_pcm_free_substream(struct snd_pcm_runtime *runtime)
 | 
			
		|||
	struct snd_emu10k1_pcm *epcm = runtime->private_data;
 | 
			
		||||
  
 | 
			
		||||
	if (epcm) {
 | 
			
		||||
        	/* snd_printk(KERN_DEBUG "epcm free: %p\n", epcm); */
 | 
			
		||||
		/* dev_dbg(emu->card->dev, "epcm free: %p\n", epcm); */
 | 
			
		||||
		kfree(epcm);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -183,14 +183,14 @@ static int snd_p16v_pcm_open_playback_channel(struct snd_pcm_substream *substrea
 | 
			
		|||
	int err;
 | 
			
		||||
 | 
			
		||||
	epcm = kzalloc(sizeof(*epcm), GFP_KERNEL);
 | 
			
		||||
        /* snd_printk(KERN_DEBUG "epcm kcalloc: %p\n", epcm); */
 | 
			
		||||
	/* dev_dbg(emu->card->dev, "epcm kcalloc: %p\n", epcm); */
 | 
			
		||||
 | 
			
		||||
	if (epcm == NULL)
 | 
			
		||||
		return -ENOMEM;
 | 
			
		||||
	epcm->emu = emu;
 | 
			
		||||
	epcm->substream = substream;
 | 
			
		||||
	/*
 | 
			
		||||
	snd_printk(KERN_DEBUG "epcm device=%d, channel_id=%d\n",
 | 
			
		||||
	dev_dbg(emu->card->dev, "epcm device=%d, channel_id=%d\n",
 | 
			
		||||
		   substream->pcm->device, channel_id);
 | 
			
		||||
	*/
 | 
			
		||||
	runtime->private_data = epcm;
 | 
			
		||||
| 
						 | 
				
			
			@ -203,10 +203,10 @@ static int snd_p16v_pcm_open_playback_channel(struct snd_pcm_substream *substrea
 | 
			
		|||
 | 
			
		||||
        channel->use=1;
 | 
			
		||||
#if 0 /* debug */
 | 
			
		||||
	snd_printk(KERN_DEBUG
 | 
			
		||||
	dev_dbg(emu->card->dev,
 | 
			
		||||
		   "p16v: open channel_id=%d, channel=%p, use=0x%x\n",
 | 
			
		||||
		   channel_id, channel, channel->use);
 | 
			
		||||
	printk(KERN_DEBUG "open:channel_id=%d, chip=%p, channel=%p\n",
 | 
			
		||||
	dev_dbg(emu->card->dev, "open:channel_id=%d, chip=%p, channel=%p\n",
 | 
			
		||||
	       channel_id, chip, channel);
 | 
			
		||||
#endif /* debug */
 | 
			
		||||
	/* channel->interrupt = snd_p16v_pcm_channel_interrupt; */
 | 
			
		||||
| 
						 | 
				
			
			@ -231,14 +231,14 @@ static int snd_p16v_pcm_open_capture_channel(struct snd_pcm_substream *substream
 | 
			
		|||
	int err;
 | 
			
		||||
 | 
			
		||||
	epcm = kzalloc(sizeof(*epcm), GFP_KERNEL);
 | 
			
		||||
	/* snd_printk(KERN_DEBUG "epcm kcalloc: %p\n", epcm); */
 | 
			
		||||
	/* dev_dbg(emu->card->dev, "epcm kcalloc: %p\n", epcm); */
 | 
			
		||||
 | 
			
		||||
	if (epcm == NULL)
 | 
			
		||||
		return -ENOMEM;
 | 
			
		||||
	epcm->emu = emu;
 | 
			
		||||
	epcm->substream = substream;
 | 
			
		||||
	/*
 | 
			
		||||
	snd_printk(KERN_DEBUG "epcm device=%d, channel_id=%d\n",
 | 
			
		||||
	dev_dbg(emu->card->dev, "epcm device=%d, channel_id=%d\n",
 | 
			
		||||
		   substream->pcm->device, channel_id);
 | 
			
		||||
	*/
 | 
			
		||||
	runtime->private_data = epcm;
 | 
			
		||||
| 
						 | 
				
			
			@ -251,10 +251,10 @@ static int snd_p16v_pcm_open_capture_channel(struct snd_pcm_substream *substream
 | 
			
		|||
 | 
			
		||||
	channel->use=1;
 | 
			
		||||
#if 0 /* debug */
 | 
			
		||||
	snd_printk(KERN_DEBUG
 | 
			
		||||
	dev_dbg(emu->card->dev,
 | 
			
		||||
		   "p16v: open channel_id=%d, channel=%p, use=0x%x\n",
 | 
			
		||||
		   channel_id, channel, channel->use);
 | 
			
		||||
	printk(KERN_DEBUG "open:channel_id=%d, chip=%p, channel=%p\n",
 | 
			
		||||
	dev_dbg(emu->card->dev, "open:channel_id=%d, chip=%p, channel=%p\n",
 | 
			
		||||
	       channel_id, chip, channel);
 | 
			
		||||
#endif /* debug */
 | 
			
		||||
	/* channel->interrupt = snd_p16v_pcm_channel_interrupt; */
 | 
			
		||||
| 
						 | 
				
			
			@ -349,15 +349,18 @@ static int snd_p16v_pcm_prepare_playback(struct snd_pcm_substream *substream)
 | 
			
		|||
	u32 tmp;
 | 
			
		||||
	
 | 
			
		||||
#if 0 /* debug */
 | 
			
		||||
	snd_printk(KERN_DEBUG "prepare:channel_number=%d, rate=%d, "
 | 
			
		||||
	dev_dbg(emu->card->dev,
 | 
			
		||||
		"prepare:channel_number=%d, rate=%d, "
 | 
			
		||||
		   "format=0x%x, channels=%d, buffer_size=%ld, "
 | 
			
		||||
		   "period_size=%ld, periods=%u, frames_to_bytes=%d\n",
 | 
			
		||||
		   channel, runtime->rate, runtime->format, runtime->channels,
 | 
			
		||||
		   runtime->buffer_size, runtime->period_size,
 | 
			
		||||
		   runtime->periods, frames_to_bytes(runtime, 1));
 | 
			
		||||
	snd_printk(KERN_DEBUG "dma_addr=%x, dma_area=%p, table_base=%p\n",
 | 
			
		||||
	dev_dbg(emu->card->dev,
 | 
			
		||||
		"dma_addr=%x, dma_area=%p, table_base=%p\n",
 | 
			
		||||
		   runtime->dma_addr, runtime->dma_area, table_base);
 | 
			
		||||
	snd_printk(KERN_DEBUG "dma_addr=%x, dma_area=%p, dma_bytes(size)=%x\n",
 | 
			
		||||
	dev_dbg(emu->card->dev,
 | 
			
		||||
		"dma_addr=%x, dma_area=%p, dma_bytes(size)=%x\n",
 | 
			
		||||
		   emu->p16v_buffer.addr, emu->p16v_buffer.area,
 | 
			
		||||
		   emu->p16v_buffer.bytes);
 | 
			
		||||
#endif /* debug */
 | 
			
		||||
| 
						 | 
				
			
			@ -405,7 +408,7 @@ static int snd_p16v_pcm_prepare_capture(struct snd_pcm_substream *substream)
 | 
			
		|||
	u32 tmp;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	printk(KERN_DEBUG "prepare capture:channel_number=%d, rate=%d, "
 | 
			
		||||
	dev_dbg(emu->card->dev, "prepare capture:channel_number=%d, rate=%d, "
 | 
			
		||||
	       "format=0x%x, channels=%d, buffer_size=%ld, period_size=%ld, "
 | 
			
		||||
	       "frames_to_bytes=%d\n",
 | 
			
		||||
	       channel, runtime->rate, runtime->format, runtime->channels,
 | 
			
		||||
| 
						 | 
				
			
			@ -491,13 +494,13 @@ static int snd_p16v_pcm_trigger_playback(struct snd_pcm_substream *substream,
 | 
			
		|||
		runtime = s->runtime;
 | 
			
		||||
		epcm = runtime->private_data;
 | 
			
		||||
		channel = substream->pcm->device-emu->p16v_device_offset;
 | 
			
		||||
		/* snd_printk(KERN_DEBUG "p16v channel=%d\n", channel); */
 | 
			
		||||
		/* dev_dbg(emu->card->dev, "p16v channel=%d\n", channel); */
 | 
			
		||||
		epcm->running = running;
 | 
			
		||||
		basic |= (0x1<<channel);
 | 
			
		||||
		inte |= (INTE2_PLAYBACK_CH_0_LOOP<<channel);
 | 
			
		||||
                snd_pcm_trigger_done(s, substream);
 | 
			
		||||
        }
 | 
			
		||||
	/* snd_printk(KERN_DEBUG "basic=0x%x, inte=0x%x\n", basic, inte); */
 | 
			
		||||
	/* dev_dbg(emu->card->dev, "basic=0x%x, inte=0x%x\n", basic, inte); */
 | 
			
		||||
 | 
			
		||||
	switch (cmd) {
 | 
			
		||||
	case SNDRV_PCM_TRIGGER_START:
 | 
			
		||||
| 
						 | 
				
			
			@ -588,10 +591,10 @@ snd_p16v_pcm_pointer_capture(struct snd_pcm_substream *substream)
 | 
			
		|||
	ptr=ptr2;
 | 
			
		||||
	if (ptr >= runtime->buffer_size) {
 | 
			
		||||
		ptr -= runtime->buffer_size;
 | 
			
		||||
		printk(KERN_WARNING "buffer capture limited!\n");
 | 
			
		||||
		dev_warn(emu->card->dev, "buffer capture limited!\n");
 | 
			
		||||
	}
 | 
			
		||||
	/*
 | 
			
		||||
	printk(KERN_DEBUG "ptr1 = 0x%lx, ptr2=0x%lx, ptr=0x%lx, "
 | 
			
		||||
	dev_dbg(emu->card->dev, "ptr1 = 0x%lx, ptr2=0x%lx, ptr=0x%lx, "
 | 
			
		||||
	       "buffer_size = 0x%x, period_size = 0x%x, bits=%d, rate=%d\n",
 | 
			
		||||
	       ptr1, ptr2, ptr, (int)runtime->buffer_size,
 | 
			
		||||
	       (int)runtime->period_size, (int)runtime->frame_bits,
 | 
			
		||||
| 
						 | 
				
			
			@ -630,7 +633,7 @@ int snd_p16v_free(struct snd_emu10k1 *chip)
 | 
			
		|||
	if (chip->p16v_buffer.area) {
 | 
			
		||||
		snd_dma_free_pages(&chip->p16v_buffer);
 | 
			
		||||
		/*
 | 
			
		||||
		snd_printk(KERN_DEBUG "period lables free: %p\n",
 | 
			
		||||
		dev_dbg(chip->card->dev, "period lables free: %p\n",
 | 
			
		||||
			   &chip->p16v_buffer);
 | 
			
		||||
		*/
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -644,7 +647,7 @@ int snd_p16v_pcm(struct snd_emu10k1 *emu, int device, struct snd_pcm **rpcm)
 | 
			
		|||
	int err;
 | 
			
		||||
        int capture=1;
 | 
			
		||||
  
 | 
			
		||||
	/* snd_printk(KERN_DEBUG "snd_p16v_pcm called. device=%d\n", device); */
 | 
			
		||||
	/* dev_dbg(emu->card->dev, "snd_p16v_pcm called. device=%d\n", device); */
 | 
			
		||||
	emu->p16v_device_offset = device;
 | 
			
		||||
	if (rpcm)
 | 
			
		||||
		*rpcm = NULL;
 | 
			
		||||
| 
						 | 
				
			
			@ -672,7 +675,7 @@ int snd_p16v_pcm(struct snd_emu10k1 *emu, int device, struct snd_pcm **rpcm)
 | 
			
		|||
							 ((65536 - 64) * 8), ((65536 - 64) * 8))) < 0) 
 | 
			
		||||
			return err;
 | 
			
		||||
		/*
 | 
			
		||||
		snd_printk(KERN_DEBUG
 | 
			
		||||
		dev_dbg(emu->card->dev,
 | 
			
		||||
			   "preallocate playback substream: err=%d\n", err);
 | 
			
		||||
		*/
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -686,7 +689,7 @@ int snd_p16v_pcm(struct snd_emu10k1 *emu, int device, struct snd_pcm **rpcm)
 | 
			
		|||
	                                           65536 - 64, 65536 - 64)) < 0)
 | 
			
		||||
			return err;
 | 
			
		||||
		/*
 | 
			
		||||
		snd_printk(KERN_DEBUG
 | 
			
		||||
		dev_dbg(emu->card->dev,
 | 
			
		||||
			   "preallocate capture substream: err=%d\n", err);
 | 
			
		||||
		*/
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,7 +55,7 @@ static int voice_alloc(struct snd_emu10k1 *emu, int type, int number,
 | 
			
		|||
	first_voice = last_voice = 0;
 | 
			
		||||
	for (i = emu->next_free_voice, j = 0; j < NUM_G ; i += number, j += number) {
 | 
			
		||||
		/*
 | 
			
		||||
		printk(KERN_DEBUG "i %d j %d next free %d!\n",
 | 
			
		||||
		dev_dbg(emu->card->dev, "i %d j %d next free %d!\n",
 | 
			
		||||
		       i, j, emu->next_free_voice);
 | 
			
		||||
		*/
 | 
			
		||||
		i %= NUM_G;
 | 
			
		||||
| 
						 | 
				
			
			@ -75,7 +75,7 @@ static int voice_alloc(struct snd_emu10k1 *emu, int type, int number,
 | 
			
		|||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if (!skip) {
 | 
			
		||||
			/* printk(KERN_DEBUG "allocated voice %d\n", i); */
 | 
			
		||||
			/* dev_dbg(emu->card->dev, "allocated voice %d\n", i); */
 | 
			
		||||
			first_voice = i;
 | 
			
		||||
			last_voice = (i + number) % NUM_G;
 | 
			
		||||
			emu->next_free_voice = last_voice;
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +89,7 @@ static int voice_alloc(struct snd_emu10k1 *emu, int type, int number,
 | 
			
		|||
	for (i = 0; i < number; i++) {
 | 
			
		||||
		voice = &emu->voices[(first_voice + i) % NUM_G];
 | 
			
		||||
		/*
 | 
			
		||||
		printk(kERN_DEBUG "voice alloc - %i, %i of %i\n",
 | 
			
		||||
		dev_dbg(emu->card->dev, "voice alloc - %i, %i of %i\n",
 | 
			
		||||
		       voice->number, idx-first_voice+1, number);
 | 
			
		||||
		*/
 | 
			
		||||
		voice->use = 1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue