[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