[alsa-devel] [PATCH] ALSA: Support Media Vision Jazz16 chips
Rask Ingemann Lambertsen
rask at sygehus.dk
Wed Apr 11 22:00:17 CEST 2007
On Wed, Mar 28, 2007 at 10:03:30PM +0200, Rask Ingemann Lambertsen wrote:
> # echo 'set irq 10 dma 5 dma 1' > /sys/bus/pnp/devices/03\:01/resources
> # modprobe snd-jazz16
> $ cat /proc/asound/cards
> 0 [CMI8738 ]: CMI8738 - C-Media PCI CMI8738
> C-Media PCI CMI8738 (model 37) at 0xd800, irq 9
> 1 [Jazz16 ]: Jazz16 - Media Vision Jazz16
> Sound Blaster Pro (Jazz16) at 0x220, irq 10, dma8 5, dma16 1
Notice the dma16 = 1 setting.
[Trying to play 16-bit sound through an 8-bit DMA channel]
> $ aplay -v -D hw:Jazz16,0 /tmp/male.wav
> Playing WAVE '/tmp/male.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
> Hardware PCM card 1 'Media Vision Jazz16' device 0 subdevice 0
> Its setup is:
> stream : PLAYBACK
> access : RW_INTERLEAVED
> format : S16_LE
> subformat : STD
> channels : 1
> rate : 8000
> exact rate : 8000 (1000000/125)
> msbits : 16
> buffer_size : 4000
> period_size : 1000
> period_time : 125000
> tick_time : 4000
> tstamp_mode : NONE
> period_step : 1
> sleep_min : 0
> avail_min : 1000
> xfer_align : 1000
> start_threshold : 4000
> stop_threshold : 4000
> silence_threshold: 0
> silence_size : 0
> boundary : 2097152000
> aplay: pcm_write:1257: write error: Ind/ud-fejl
>
> No sound, no interrupts and this message from /var/log/kernel:
> kernel: playback write error (DMA or IRQ trouble?)
The root cause is that snd_sbdsp_create() only supports dma16 set to 5, 6
or 7. Any other value is changed to -1, which is what happens in this case.
It is a hack to avoid trouble with recent SoundBlaster 16 cards (Vibra16VX)
using two 8-bit DMA channels, which the SB16 doesn't support.
Fix: Use only dma8.
--
Rask Ingemann Lambertsen
More information about the Alsa-devel
mailing list