Re: [alsa-devel] [PATCH 00/48] Rewrite kernel messages with standard printk helpers
At Thu, 27 Feb 2014 15:32:53 +0800, Raymond Yau wrote:
2014-02-26 23:53 GMT+08:00 Takashi Iwai tiwai@suse.de:
Hi,
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.
can the driver build as modules in kernel 3.11 (ubuntu 13.10) ?
The dev_err() and co exist since ages ago, so it shouldn't be a problem. These patches, however, need the previous change of snd_card_new() to make the device pointer available in time.
No idea about Ubuntu.
Takashi
Hi,
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.
can the driver build as modules in kernel 3.11 (ubuntu 13.10) ?
The dev_err() and co exist since ages ago, so it shouldn't be a problem. These patches, however, need the previous change of snd_card_new() to make the device pointer available in time.
No idea about Ubuntu.
it seem usb-audio failed to build as module since last year
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=80ab...
all the drivers related to the above patch were no longer build as module any more
copying file alsa-kernel/core/init.c Ignoring potentially dangerous file name ../alsa-kernel/core/init.c patching file init.c Hunk #2 succeeded at 331 (offset 31 lines). Hunk #3 succeeded at 363 (offset 31 lines). Hunk #4 FAILED at 408. Hunk #5 succeeded at 634 (offset 20 lines). Hunk #6 FAILED at 666. Hunk #7 FAILED at 684. Hunk #8 FAILED at 720. Hunk #9 FAILED at 728. Hunk #10 succeeded at 1013 (offset 19 lines). 5 out of 10 hunks FAILED -- saving rejects to file init.c.rej
At Thu, 27 Feb 2014 16:00:08 +0800, Raymond Yau wrote:
Hi,
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.
can the driver build as modules in kernel 3.11 (ubuntu 13.10) ?
The dev_err() and co exist since ages ago, so it shouldn't be a problem. These patches, however, need the previous change of snd_card_new() to make the device pointer available in time.
No idea about Ubuntu.
it seem usb-audio failed to build as module since last year
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=80ab...
Ah, so you meant alsa-driver tree. It's unmaintained so far due to the lack of time. I really consider dropping it.
Takashi
all the drivers related to the above patch were no longer build as module any more
copying file alsa-kernel/core/init.c Ignoring potentially dangerous file name ../alsa-kernel/core/init.c patching file init.c Hunk #2 succeeded at 331 (offset 31 lines). Hunk #3 succeeded at 363 (offset 31 lines). Hunk #4 FAILED at 408. Hunk #5 succeeded at 634 (offset 20 lines). Hunk #6 FAILED at 666. Hunk #7 FAILED at 684. Hunk #8 FAILED at 720. Hunk #9 FAILED at 728. Hunk #10 succeeded at 1013 (offset 19 lines). 5 out of 10 hunks FAILED -- saving rejects to file init.c.rej
At Thu, 27 Feb 2014 09:10:58 +0100, Takashi Iwai wrote:
At Thu, 27 Feb 2014 16:00:08 +0800, Raymond Yau wrote:
Hi,
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.
can the driver build as modules in kernel 3.11 (ubuntu 13.10) ?
The dev_err() and co exist since ages ago, so it shouldn't be a problem. These patches, however, need the previous change of snd_card_new() to make the device pointer available in time.
No idea about Ubuntu.
it seem usb-audio failed to build as module since last year
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=80ab...
Ah, so you meant alsa-driver tree. It's unmaintained so far due to the lack of time. I really consider dropping it.
OK, updated alsa-driver-build git tree now. At least, it can compile with 3.11 kernel. Not tested whether it actually works, though.
Takashi
Hi,
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.
do sound-unstable.git test/snd-device need alsa-driver-build-unstable.git ?
can the driver build as modules in kernel 3.11 (ubuntu 13.10) ?
The dev_err() and co exist since ages ago, so it shouldn't be a problem. These patches, however, need the previous change of snd_card_new() to make the device pointer available in time.
No idea about Ubuntu.
it seem usb-audio failed to build as module since last year
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=80ab...
Ah, so you meant alsa-driver tree. It's unmaintained so far due to the lack of time. I really consider dropping it.
emu10k1_main.c is patched but snd-emu10k1.ko is not built and there is no warning message about ZONE_DMA is not available
git clone git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git git clone git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-driver-build.git cd alsa-driver-build git checkout build cd alsa utils/setup-alsa-kernel -c ../../sound ./gitcompile --with-sequencer=yes --with-oss=no --enable-dynamic-minors
gcc utils/mod-deps.c -o utils/mod-deps utils/mod-deps.c: In function ‘output_card_list’: utils/mod-deps.c:1081:4: warning: format not a string literal and no format arguments [-Wformat-security] printf(card_name); ^ utils/mod-deps --basedir /home/raymond/alsa-driver-build/alsa/alsa-kernel --hiddendir /home/raymond/alsa-driver-build/alsa --versiondep /home/raymond/alsa-driver-build/alsa/kconfig-vers --makeconf > toplevel.config.in can't handle 'default SND_SEQUENCER && SND_RAWMIDI', translating as depends on can't handle 'default SND_SEQUENCER && SND_OPL3_LIB', translating as depends on can't handle 'default SND_SEQUENCER && SND_OPL4_LIB', translating as depends on can't handle 'default SND_SEQUENCER && SND_SBAWE', translating as depends on can't handle 'default SND_SEQUENCER && SND_EMU10K1', translating as depends on
checking for kernel version... 3.11.0-17-generic checking for GCC version... Kernel compiler: Used compiler: gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
checking for built-in ALSA... no checking for existing ALSA module... yes checking for Red Hat kernel... auto checking for Red Hat kernel... no checking for SUSE kernel... auto checking for SUSE kernel... no checking for updating alsa-kernel version.h... yes checking for CONFIG_EXPERIMENTAL... yes checking for directory to store kernel modules... /lib/modules/3.11.0-17-generic/kernel/sound checking for verbose procfs... on checking for verbose printk... on checking for debug level... none checking for ISA support in kernel... no checking for processor type... x86_64 checking for ISA DMA API... yes checking for 32bit compat support... yes checking for kernel linux/config.h... no Creating <linux/config.h>... checking for deprecated linux/config.h... checking to modify of kernel linux/kmod.h... no checking for kernel linux/kconfig.h... yes checking for kernel linux/utsrelease.h... no Creating a dummy <linux/utsrelease.h>... checking for kernel linux/compiler.h... yes checking for kernel linux/pm.h... yes checking for kernel linux/pm_runtime.h... yes checking for kernel linux/spinlock.h... yes checking for kernel linux/irq.h... yes checking for kernel linux/threads.h... yes checking for kernel linux/rwsem.h... yes checking for kernel linux/gameport.h... yes checking for kernel linux/export.h... yes checking for kernel media/v4l2-dev.h... yes checking for kernel media/v4l2-device.h... yes checking for kernel linux/devfs_fs_kernel.h... no Creating a dummy <linux/devfs_fs_kernel.h>... checking for kernel linux/highmem.h... yes checking for kernel linux/ratelimit.h... yes checking for kernel linux/kconfig.h... yes checking for kernel linux/workqueue.h... yes checking for kernel linux/dma-mapping.h... yes checking for kernel asm/hw_irq.h... yes checking for kernel linux/device.h... yes checking for kernel linux/platform_device.h... yes checking for kernel linux/isa.h... yes checking for kernel linux/jiffies.h... yes checking for kernel linux/compat.h... yes checking for kernel linux/log2.h... yes checking for kernel linux/adb.h... yes checking for kernel linux/cuda.h... yes checking for kernel linux/pmu.h... yes checking for kernel linux/io.h... yes checking for kernel linux/moduleparam.h... yes checking for kernel linux/syscalls.h... yes checking for kernel linux/firmware.h... yes checking for kernel linux/err.h... yes checking for kernel linux/bitmap.h... yes checking for kernel linux/mutex.h... yes checking for kernel linux/pm_qos.h... yes checking for kernel linux/pm_qos_params.h... no Creating <linux/pm_qos_params.h>... checking for kernel linux/kthread.h... yes checking for kernel asm/irq_regs.h... yes checking for kernel linux/seq_file.h... yes checking for kernel linux/debugfs.h... yes checking for kernel linux/gpio.h... yes checking for kernel linux/bug.h... yes checking for kernel linux/math64.h... yes checking for kernel linux/regulator/consumer.h... yes checking for kernel linux/dmi.h... yes checking for kernel linux/bitrev.h... yes checking for kernel linux/hrtimer.h... yes checking for kernel linux/vgaarb.h... yes checking for kernel linux/vga_switcheroo.h... yes checking for kernel linux/gcd.h... yes checking for kernel linux/gfp.h... yes checking for kernel pcmcia/cs_types.h... no Creating <pcmcia/cs_types.h>... checking for kernel pcmcia/cs.h... no Creating <pcmcia/cs.h>... checking for kernel linux/lzo.h... yes checking for kernel linux/async.h... yes checking for kernel linux/bitrev.h... yes checking for kernel linux/smp_lock.h... no Creating a dummy <linux/smp_lock.h>... checking for kernel linux/i8253.h... yes checking for kernel linux/atomic.h... yes checking for kernel linux/thinkpad_acpi.h... yes Copying trace/events headers checking for kernel linux/tracepoint.h... yes checking for kernel trace/define_trace.h... yes Creating a workaround <linux/tracepoint.h>... checking for kernel module symbol versions... yes checking for has ioport support... yes checking for PCI support in kernel... yes checking for I2C driver in kernel... yes checking for I2C_POWERMAC in kernel... unknown checking for firmware loader... yes checking for input subsystem in kernel... yes checking for pc-speaker platform in kernel... yes checking for SMP... yes checking for Video device support in kernel... yes checking for ISA PnP driver in kernel... yes checking for PnP driver in kernel... yes checking for Kernel ISA-PnP support... no checking for Kernel ISA-PnP module support... no checking for strlcpy... yes checking for snprintf... yes checking for vsnprintf... yes checking for scnprintf... yes checking for sscanf... yes checking for vmalloc_to_page... yes checking for vzalloc... yes checking for div_u64... yes checking for dev_name... yes checking for dev_set_name... yes checking for put_pid... yes checking for pid_vnr... yes checking for old kmod... no checking for PDE... no checking for pci_set_consistent_dma_mask... yes checking for pci_dev_present... yes checking for msleep... yes checking for msleep_interrupt... yes checking for msecs_to_jiffies... yes checking for tty->count is the atomic type... yes checking for video_drvdata... yes checking for V4L1 layer... no checking for V4L2 layer... yes checking for kernel media/v4l2-ctrls.h... yes checking for io_remap_pfn_range... yes checking for kcalloc... yes checking for kstrdup... yes checking for kstrndup... yes checking for kzalloc... yes checking for create_workqueue with flags... no checking for pci_ioremap_bar... yes checking for register_sound_special_device... yes checking for driver extra-version... checking for driver version... 1.0.25 checking for dynamic minor numbers... yes checking for maximum number of soundcards... max_cards checking for sequencer support... yes checking for OSS/Free emulation... no checking for RTC support... no checking for HPET support... yes checking for Procfs support... yes checking for USB support... yes checking for kernel linux/usb/audio-v2.h... yes checking for kernel linux/usb/audio.h... yes checking for valid v1 in linux/usb/audio.h... yes checking for invalid v2 in linux/usb/audio.h... no checking for valid linux/usb/audio-v2.h... no Creating <linux/usb/audio-v2.h>... checking for kernel linux/usb/ch9.h... yes checking usb_alloc_coherent... yes checking for class_simple... no checking for old driver suspend/resume callbacks... no checking for removal of page-reservation for nopage/mmap... no checking for vm_iomap_memory... yes checking for nested class_device... no checking for new IRQ handler... yes checking for gfp_t... yes checking for GFP_DMA32... yes checking for page_to_pfn... yes checking for PnP suspend/resume... yes checking for device_create_drvdata... no checking for pm_qos_request... yes checking for static pm_qos_request... no checking for new pm_qos_request... no checking for new unlocked/compat_ioctl... yes checking for builtin _Bool support... yes checking for x86-compatible PC... no checking for High-Res timers... yes checking for kernel PCMCIA checking for PCMCIA support... yes checking for PC9800 support in kernel... no checking for parallel port support... yes checking for power management... yes checking for CONFIG_HAS_DMA... yes checking for FireWire support... yes checking for set_pages_array_wc... yes checking for fdput... yes checking for cards to compile driver for... all checking for additonal options to compile driver for... all
make[2]: Entering directory `/home/raymond/alsa-driver-build/alsa/pci/emu10k1' copying file alsa-kernel/pci/emu10k1/emu10k1_main.c Ignoring potentially dangerous file name ../../alsa-kernel/pci/emu10k1/emu10k1_main.c patching file emu10k1_main.c Hunk #2 succeeded at 1807 (offset 33 lines). copying file alsa-kernel/pci/emu10k1/emu10k1x.c Ignoring potentially dangerous file name ../../alsa-kernel/pci/emu10k1/emu10k1x.c patching file emu10k1x.c Hunk #2 succeeded at 962 (offset 21 lines). Hunk #3 succeeded at 1641 (offset 20 lines).
At Thu, 27 Feb 2014 20:15:39 +0800, Raymond Yau wrote:
Hi,
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.
do sound-unstable.git test/snd-device need alsa-driver-build-unstable.git ?
No.
can the driver build as modules in kernel 3.11 (ubuntu 13.10) ?
The dev_err() and co exist since ages ago, so it shouldn't be a problem. These patches, however, need the previous change of snd_card_new() to make the device pointer available in time.
No idea about Ubuntu.
it seem usb-audio failed to build as module since last year
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=80ab...
Ah, so you meant alsa-driver tree. It's unmaintained so far due to the lack of time. I really consider dropping it.
emu10k1_main.c is patched but snd-emu10k1.ko is not built and there is no warning message about ZONE_DMA is not available
Strange, it builds fine with my 3.11 kernel.
Takashi
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- */
At Fri, 28 Feb 2014 11:15:36 +0800, Raymond Yau wrote:
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
- how to convert printk(KERN_INFO CARD_NAME ?
For KERN_INFO, use dev_info(). Take the device pointer that can be reached from that point. Usually the chip instance has the card pointer, and the card pointer refers to dev, e.g. chip->card->dev.
The prefix CARD_NAME can be usually dropped since dev_info() prints already the driver name.
If it's difficult to get the device pointer, you don't have to convert to dev_info() at all. But, often, it's easy to modify the function to get the chip or card object.
- do it need to remove "vortex:" at the beginning if dev_xxx function
provide the name of the snd-au8830 ?
In most cases, you can drop it. But this depends on context. Judge from your common sense.
- as Wavetable DMA is not working and au8820 and au8830 have different
mmio address , au88x0_synth is not implemented as separate module
You don't have to worry about it; it's either totally irrelevant or doesn't matter.
- gameport and mput401_uart use card name in getting the resource and midi
ports
It's only about printk. Don't convert anything else.
How do I get the source of topics/ctv-dev-prints ?
I don't understand your question. What do you mean source? The git tree is there as usual.
and
how do I provide path ?
You mean patch? Just submit to ML.
thanks,
Takashi
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- */ [2 <text/html; UTF-8 (base64)>]
participants (2)
-
Raymond Yau
-
Takashi Iwai