this is another long series of patches for trivial cleanups. This time, they replace the printk and snd_print*() calls in ALSA PCI and USB drivers with dev_err() and co. This will give nicer and more consistent outputs.
The only drawback by these replacements is that alsa-info.sh won't be able to catch the dmesg lines because it doesn't contain any longer the word "ALSA", but only show the module name like "snd_intel8x0".
I'm going to fix alsa-info.sh on git soon later, but if you guys think "oh no it's disaster!", let me know. We need to reconsider a better way to put the known markers (like explicitly putting "ALSA" at the beginning.)
seem missing au88x0
Yes, because some driver codes are horrible to work on. Patches are welcome.
since au8820 , au8830 and au8810 use different mmio address , the source of three modules , the driver use CHIP_AU8810 , CHIP_AU8820 and CHIP_AU8830 for the chip specific code with #ifdef
1) how to convert printk(KERN_INFO CARD_NAME ? 2) do it need to remove "vortex:" at the beginning if dev_xxx function provide the name of the snd-au8830 ? 3) as Wavetable DMA is not working and au8820 and au8830 have different mmio address , au88x0_synth is not implemented as separate module 4) gameport and mput401_uart use card name in getting the resource and midi ports
How do I get the source of topics/ctv-dev-prints ?
and
how do I provide path ?
au88x0_a3d.c- /* au88x0_a3d.c: printk(KERN_DEBUG "vortex: ZeroState slice: %d, source %d\n", au88x0_a3d.c- a->slice, a->source); -- au88x0_a3d.c- if ((a->vortex) == NULL) { au88x0_a3d.c: printk(KERN_ERR "vortex: ZeroStateA3D: ERROR: a->vortex is NULL\n"); au88x0_a3d.c- return; -- au88x0_a3d.c- if (v->mixxtlk[0] < 0) { au88x0_a3d.c: printk au88x0_a3d.c- ("vortex: vortex_Vort3D: ERROR: not enough free mixer resources.\n"); -- au88x0_a3d.c- if (v->mixxtlk[1] < 0) { au88x0_a3d.c: printk au88x0_a3d.c- ("vortex: vortex_Vort3D: ERROR: not enough free mixer resources.\n"); -- au88x0_a3d.c- if (a->vortex == NULL) { au88x0_a3d.c: printk au88x0_a3d.c- ("vortex: Vort3D_InitializeSource: A3D source not initialized\n"); -- au88x0.c- if (!(rc = pci_write_config_byte(vortex, 0x40, 0xff))) { au88x0.c: printk(KERN_INFO CARD_NAME au88x0.c- ": vortex latency is 0xff\n"); au88x0.c- } else { au88x0.c: printk(KERN_WARNING CARD_NAME au88x0.c- ": could not set vortex latency: pci error 0x%x\n", rc); -- au88x0.c- || !(rc = pci_write_config_byte(via, 0x42, value | 0x10)))) { au88x0.c: printk(KERN_INFO CARD_NAME au88x0.c- ": bridge config is 0x%x\n", value | 0x10); au88x0.c- } else { au88x0.c: printk(KERN_WARNING CARD_NAME au88x0.c- ": could not set vortex latency: pci error 0x%x\n", rc); -- au88x0.c- if (via) { au88x0.c: printk(KERN_INFO CARD_NAME ": Activating latency workaround...\n"); au88x0.c- vortex_fix_latency(vortex); -- au88x0.c- pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(32)) < 0) { au88x0.c: printk(KERN_ERR "error to set DMA mask\n"); au88x0.c- pci_disable_device(pci); -- au88x0.c- if (!chip->mmio) { au88x0.c: printk(KERN_ERR "MMIO area remap failed.\n"); au88x0.c- err = -ENOMEM; -- au88x0.c- if ((err = vortex_core_init(chip)) != 0) { au88x0.c: printk(KERN_ERR "hw core init failed\n"); au88x0.c- goto core_out; -- au88x0.c- chip)) != 0) { au88x0.c: printk(KERN_ERR "cannot grab irq\n"); au88x0.c- goto irq_out; -- au88x0.c- || wave == NULL) { au88x0.c: snd_printk(KERN_ERR "Can't initialize Aureal wavetable synth\n"); au88x0.c- } else { -- au88x0.c- if ((chip->rev) != 0xfe && (chip->rev) != 0xfa) { au88x0.c: printk(KERN_ALERT au88x0.c- "vortex: The revision (%x) of your card has not been seen before.\n", au88x0.c- chip->rev); au88x0.c: printk(KERN_ALERT au88x0.c- "vortex: Please email the results of 'lspci -vv' to openvortex-dev@nongnu.org.\n"); -- au88x0_core.c- temp = hwread(vortex->mmio, prev); au88x0_core.c: //printk(KERN_INFO "vortex: mixAddWTD: while addr=%x, val=%x\n", prev, temp); au88x0_core.c- if ((++lifeboat) > 0xf) { au88x0_core.c: printk(KERN_ERR au88x0_core.c- "vortex_mixer_addWTD: lifeboat overflow\n"); -- au88x0_core.c- if (((1 << ch) & eax) == 0) { au88x0_core.c: printk(KERN_ERR "mix ALARM %x\n", eax); au88x0_core.c- return 0; -- au88x0_core.c- VORTEX_MIXER_RTBASE + (ebx << 2)); au88x0_core.c: //printk(KERN_INFO "vortex: mixdelWTD: 1 addr=%x, val=%x, src=%x\n", ebx, edx, src); au88x0_core.c- while ((edx & 0xf) != mix) { au88x0_core.c- if ((esi) > 0xf) { au88x0_core.c: printk(KERN_ERR au88x0_core.c- "vortex: mixdelWTD: error lifeboat overflow\n"); -- au88x0_core.c- VORTEX_MIXER_RTBASE + ebp); au88x0_core.c: //printk(KERN_INFO "vortex: mixdelWTD: while addr=%x, val=%x\n", ebp, edx); au88x0_core.c- esi++; -- au88x0_core.c- hwwrite(vortex->mmio, ebx, 0); au88x0_core.c: //printk(KERN_INFO "vortex mixdelWTD between addr= 0x%x, val= 0x%x\n", ebp, edx); au88x0_core.c- } else { /* Delete last entry */ -- au88x0_core.c- (esp14 << 2), ebx); au88x0_core.c: //printk(KERN_INFO "vortex mixdelWTD last addr= 0x%x, val= 0x%x\n", esp14, ebx); au88x0_core.c- } -- au88x0_core.c- } else { au88x0_core.c: //printk(KERN_INFO "removed last mix\n"); au88x0_core.c- //7be0 -- au88x0_core.c- if ((++lifeboat) > 0x9) { au88x0_core.c: printk(KERN_ERR "Vortex: Src cvr fail\n"); au88x0_core.c- break; -- au88x0_core.c- if ((lifeboat++) > 15) { au88x0_core.c: printk(KERN_ERR "Vortex: could not set src-%d from %d to %d\n", au88x0_core.c- src, hw_ratio, desired_ratio); -- au88x0_core.c- /* 0x30f00 e=g=1 esp10=0 ebp=f */ au88x0_core.c: //printk(KERN_INFO "vortex: SRC %d, d=0x%x, esi=0x%x, esp10=0x%x, ebp=0x%x\n", src, d, esi, esp10, ebp); au88x0_core.c-} -- au88x0_core.c- temp = hwread(vortex->mmio, prev); au88x0_core.c: //printk(KERN_INFO "vortex: srcAddWTD: while addr=%x, val=%x\n", prev, temp); au88x0_core.c- if ((++lifeboat) > 0xf) { au88x0_core.c: printk(KERN_ERR au88x0_core.c- "vortex_src_addWTD: lifeboat overflow\n"); -- au88x0_core.c- if (((1 << ch) & eax) == 0) { au88x0_core.c: printk(KERN_ERR "src alarm\n"); au88x0_core.c- return 0; -- au88x0_core.c- VORTEX_SRC_RTBASE + (ebx << 2)); au88x0_core.c: //printk(KERN_INFO "vortex: srcdelWTD: 1 addr=%x, val=%x, src=%x\n", ebx, edx, src); au88x0_core.c- while ((edx & 0xf) != src) { au88x0_core.c- if ((esi) > 0xf) { au88x0_core.c: printk au88x0_core.c- ("vortex: srcdelWTD: error, lifeboat overflow\n"); -- au88x0_core.c- VORTEX_SRC_RTBASE + ebp); au88x0_core.c: //printk(KERN_INFO "vortex: srcdelWTD: while addr=%x, val=%x\n", ebp, edx); au88x0_core.c- esi++; -- au88x0_core.c- hwwrite(vortex->mmio, ebx, 0); au88x0_core.c: //printk(KERN_INFO "vortex srcdelWTD between addr= 0x%x, val= 0x%x\n", ebp, edx); au88x0_core.c- } else { /* Delete last entry */ -- au88x0_core.c- (esp14 << 2), ebx); au88x0_core.c: //printk(KERN_INFO"vortex srcdelWTD last addr= 0x%x, val= 0x%x\n", esp14, ebx); au88x0_core.c- } -- au88x0_core.c- if (lifeboat++ > 0xbb8) { au88x0_core.c: printk(KERN_ERR au88x0_core.c- "Vortex: vortex_fifo_setadbctrl fail\n"); -- au88x0_core.c- if (lifeboat++ > 0xbb8) { au88x0_core.c: printk(KERN_ERR "Vortex: vortex_fifo_setwtctrl fail\n"); au88x0_core.c- break; -- au88x0_core.c- if (lifeboat++ > 0xbb8) { au88x0_core.c: printk(KERN_ERR "Vortex: vortex_fifo_setwtctrl fail (hanging)\n"); au88x0_core.c- break; -- au88x0_core.c- if (hwread(vortex->mmio, addr) != (FIFO_U0 | FIFO_U1)) au88x0_core.c: printk(KERN_ERR "bad adb fifo reset!"); au88x0_core.c- vortex_fifo_clearadbdata(vortex, x, FIFO_SIZE); -- au88x0_core.c- if (hwread(vortex->mmio, addr) != FIFO_U0) au88x0_core.c: printk(KERN_ERR au88x0_core.c- "bad wt fifo reset (0x%08x, 0x%08x)!\n", -- au88x0_core.c- /* au88x0_core.c: printk(KERN_DEBUG "vortex: cfg0 = 0x%x\nvortex: cfg1=0x%x\n", au88x0_core.c- dma->cfg0, dma->cfg1); -- au88x0_core.c- if (delta != 1) au88x0_core.c: printk(KERN_INFO "vortex: %d virt=%d, real=%d, delta=%d\n", au88x0_core.c- adbdma, dma->period_virt, dma->period_real, delta); -- au88x0_core.c- if (delta != 1) au88x0_core.c: printk(KERN_WARNING "vortex: wt virt = %d, delta = %d\n", au88x0_core.c- dma->period_virt, delta); -- au88x0_core.c- if ((lifeboat++) > ADB_MASK) { au88x0_core.c: printk(KERN_ERR au88x0_core.c- "vortex_adb_addroutes: unending route! 0x%x\n", -- au88x0_core.c- if (((lifeboat++) > ADB_MASK) || (temp == ADB_MASK)) { au88x0_core.c: printk(KERN_ERR au88x0_core.c- "vortex_adb_delroutes: route not found! 0x%x\n", -- au88x0_core.c- ADB_CODECOUT(1 + 4)); au88x0_core.c: /* printk(KERN_DEBUG "SDAC detected "); */ au88x0_core.c- } -- au88x0_core.c- /* au88x0_core.c: printk(KERN_DEBUG au88x0_core.c- "vortex: ResManager: type %d out %d\n", -- au88x0_core.c- /* au88x0_core.c: printk(KERN_DEBUG au88x0_core.c- "vortex: ResManager: type %d in %d\n", -- au88x0_core.c- } au88x0_core.c: printk(KERN_ERR "vortex: FATAL: ResManager: resource type %d exhausted.\n", restype); au88x0_core.c- return -ENOMEM; -- au88x0_core.c- VORTEX_RESOURCE_LAST); au88x0_core.c: printk(KERN_ERR "vortex: out of A3D sources. Sorry\n"); au88x0_core.c- return -EBUSY; -- au88x0_core.c- if (source == 0) { au88x0_core.c: printk(KERN_ERR "vortex: missing irq source\n"); au88x0_core.c- return IRQ_NONE; -- au88x0_core.c- if (source & IRQ_FATAL) { au88x0_core.c: printk(KERN_ERR "vortex: IRQ fatal error\n"); au88x0_core.c- } au88x0_core.c- if (source & IRQ_PARITY) { au88x0_core.c: printk(KERN_ERR "vortex: IRQ parity error\n"); au88x0_core.c- } au88x0_core.c- if (source & IRQ_REG) { au88x0_core.c: printk(KERN_ERR "vortex: IRQ reg error\n"); au88x0_core.c- } au88x0_core.c- if (source & IRQ_FIFO) { au88x0_core.c: printk(KERN_ERR "vortex: IRQ fifo error\n"); au88x0_core.c- } au88x0_core.c- if (source & IRQ_DMA) { au88x0_core.c: printk(KERN_ERR "vortex: IRQ dma error\n"); au88x0_core.c- } -- au88x0_core.c- if (!handled) { au88x0_core.c: printk(KERN_ERR "vortex: unknown irq source %x\n", source); au88x0_core.c- } -- au88x0_core.c- if (lifeboat++ > POLL_COUNT) { au88x0_core.c: printk(KERN_ERR "vortex: ac97 codec stuck busy\n"); au88x0_core.c- return; -- au88x0_core.c- if (lifeboat++ > POLL_COUNT) { au88x0_core.c: printk(KERN_ERR "vortex: ac97 codec stuck busy\n"); au88x0_core.c- return 0xffff; -- au88x0_core.c- if (lifeboat++ > POLL_COUNT) { au88x0_core.c: printk(KERN_ERR "vortex: ac97 address never arrived\n"); au88x0_core.c- return 0xffff; -- au88x0_core.c- au88x0_core.c: printk(KERN_INFO "Vortex: init.... "); au88x0_core.c- /* Hardware Init. */ -- au88x0_core.c- au88x0_core.c: printk(KERN_INFO "done.\n"); au88x0_core.c- spin_lock_init(&vortex->lock); -- au88x0_core.c- au88x0_core.c: printk(KERN_INFO "Vortex: shutdown..."); au88x0_core.c-#ifndef CHIP_AU8820 -- au88x0_core.c- au88x0_core.c: printk(KERN_INFO "done.\n"); au88x0_core.c- return 0; -- au88x0_core.c- fmt = 0x8; au88x0_core.c: printk(KERN_ERR "vortex: format unsupported %d\n", alsafmt); au88x0_core.c- break; -- au88x0_eq.c- if (count != 20) { au88x0_eq.c: printk(KERN_ERR "vortex: peak count error 20 != %d \n", count); au88x0_eq.c- return -1; -- au88x0_game.c- if (!gp) { au88x0_game.c: printk(KERN_ERR "vortex: cannot allocate memory for gameport\n"); au88x0_game.c- return -ENOMEM; -- au88x0_mpu401.c- if (temp != MPU401_ACK /*0xfe */ ) { au88x0_mpu401.c: printk(KERN_ERR "midi port doesn't acknowledge!\n"); au88x0_mpu401.c- return -ENODEV; -- au88x0_pcm.c- if (err < 0) { au88x0_pcm.c: printk(KERN_ERR "Vortex: pcm page alloc failed!\n"); au88x0_pcm.c- return err; -- au88x0_pcm.c- /* au88x0_pcm.c: printk(KERN_INFO "Vortex: periods %d, period_bytes %d, channels = %d\n", params_periods(hw_params), au88x0_pcm.c- params_period_bytes(hw_params), params_channels(hw_params)); -- au88x0_pcm.c- // do something to start the PCM engine au88x0_pcm.c: //printk(KERN_INFO "vortex: start %d\n", dma); au88x0_pcm.c- stream->fifo_enabled = 1; -- au88x0_pcm.c- else { au88x0_pcm.c: printk(KERN_INFO "vortex: wt start %d\n", dma); au88x0_pcm.c- vortex_wtdma_startfifo(chip, dma); -- au88x0_pcm.c- // do something to stop the PCM engine au88x0_pcm.c: //printk(KERN_INFO "vortex: stop %d\n", dma); au88x0_pcm.c- stream->fifo_enabled = 0; -- au88x0_pcm.c- else { au88x0_pcm.c: printk(KERN_INFO "vortex: wt stop %d\n", dma); au88x0_pcm.c- vortex_wtdma_stopfifo(chip, dma); -- au88x0_pcm.c- case SNDRV_PCM_TRIGGER_PAUSE_PUSH: au88x0_pcm.c: //printk(KERN_INFO "vortex: pause %d\n", dma); au88x0_pcm.c- if (VORTEX_PCM_TYPE(substream->pcm) != VORTEX_PCM_WT) -- au88x0_pcm.c- case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: au88x0_pcm.c: //printk(KERN_INFO "vortex: resume %d\n", dma); au88x0_pcm.c- if (VORTEX_PCM_TYPE(substream->pcm) != VORTEX_PCM_WT) -- au88x0_pcm.c-#endif au88x0_pcm.c: //printk(KERN_INFO "vortex: pointer = 0x%x\n", current_ptr); au88x0_pcm.c- spin_unlock(&chip->lock); -- au88x0_synth.c- temp = hwread(vortex->mmio, WT_PARM(wt, 3)); au88x0_synth.c: printk(KERN_DEBUG "vortex: WT PARM3: %x\n", temp); au88x0_synth.c- //hwwrite(vortex->mmio, WT_PARM(wt, 3), temp); -- au88x0_synth.c- au88x0_synth.c: printk(KERN_DEBUG "vortex: WT GMODE: %x\n", hwread(vortex->mmio, WT_GMODE(wt))); au88x0_synth.c- -- au88x0_synth.c- hwwrite(vortex->mmio, WT_PARM(wt, 1), voice->parm1); au88x0_synth.c: printk(KERN_DEBUG "vortex: WT GMODE 2 : %x\n", hwread(vortex->mmio, WT_GMODE(wt))); au88x0_synth.c- return 0; -- au88x0_synth.c- if (wt >= (NR_WT / NR_WT_PB)) { au88x0_synth.c: printk au88x0_synth.c- ("vortex: WT SetReg: bank out of range. reg=0x%x, wt=%d\n", -- au88x0_synth.c- if (wt >= NR_WT) { au88x0_synth.c: printk(KERN_ERR "vortex: WT SetReg: voice out of range\n"); au88x0_synth.c- return 0; -- au88x0_synth.c- /* au88x0_synth.c: printk(KERN_DEBUG "vortex: WT SetReg(0x%x) = 0x%08x\n", au88x0_synth.c- WT_RUN(wt), (int)val); -- au88x0_synth.c- /* au88x0_synth.c: printk(KERN_DEBUG "vortex: WT SetReg(0x%x) = 0x%08x\n", au88x0_synth.c- WT_PARM(wt,0), (int)val); -- au88x0_synth.c- /* au88x0_synth.c: printk(KERN_DEBUG "vortex: WT SetReg(0x%x) = 0x%08x\n", au88x0_synth.c- WT_PARM(wt,1), (int)val); -- au88x0_synth.c- /* au88x0_synth.c: printk(KERN_DEBUG "vortex: WT SetReg(0x%x) = 0x%08x\n", au88x0_synth.c- WT_PARM(wt,2), (int)val); -- au88x0_synth.c- /* au88x0_synth.c: printk(KERN_DEBUG "vortex: WT SetReg(0x%x) = 0x%08x\n", au88x0_synth.c- WT_PARM(wt,3), (int)val); -- au88x0_synth.c- /* au88x0_synth.c: printk(KERN_DEBUG "vortex: WT SetReg(0x%x) = 0x%08x\n", au88x0_synth.c- WT_MUTE(wt), (int)val); -- au88x0_synth.c- /* au88x0_synth.c: printk(KERN_DEBUG "vortex: WT SetReg(0x%x) = 0x%08x\n", au88x0_synth.c- WT_DELAY(wt,0), (int)val); -- au88x0_synth.c- /* au88x0_synth.c: printk(KERN_DEBUG "vortex: WT SetReg(0x%x) = 0x%08x\n", ecx, (int)val); au88x0_synth.c- */