From: hsavolai@cs.Helsinki.FI (Hannu Savolainen)
Newsgroups: comp.os.linux
Subject: Re: PAS-16 & Linux 0.99 + sndkit 0.4 question
Date: 17 Dec 1992 03:23:31 GMT
Organization: University of Helsinki, Department of Computer Science
Distribution: world
NNTP-Posting-Host: kypros.helsinki.fi

In <1992Dec17.000822.20615@rs6000.cmp.ilstu.edu> jliddle@rs6000.cmp.ilstu.edu (Jean Liddle) writes:

>Greetings once again!

>First off, many compliments to Linux, HJ, and others for an awsome
>system!

>I have a question about the new (alpha 4) sound driver, which I have
>installed according to the instructions in the included Readmes and
>compiled into the new 0.99 kernel.

>It detects my PAS-16 on bootup, as well as the adlib-compatible chip.
>I can listen to music piped in from line-in immediately after bootup, but
>when I try to run splay <soundfile>, the sound file plays for a second or
>two and stops, and the program hangs.  Putting splay in the background 
You have propably IRQ conflict and the driver doesn't see the interrupt
when PAS has played the first buffer. The PAS_IRQ defined in the
linux/Makefile must not be used by any other device in the system. (The
SoundBlaster emulation of PAS is also a device so PAS_IRQ and SBC_IRQ
must not be the same).

>with ^Z, then bringing it to the fg again gives me the following message:

>root@Ischade ( /usr/local/audio )# splay endoftheworld
>Speed 8007 Hz (mono)

>[1]+  Stopped                 splay endoftheworld
>root@Ischade ( /usr/local/audio )# fg
>splay endoftheworld
>/dev/dsp: I/O error

>Similarly, when attempting to play a .mod file with str[15|32] i get:

>root@Ischade ( /usr/local/audio/tracks32 )# str32 apc.mod
>Playback speed 44191 Hz (stereo) 8 bits/sample.
>[ ... ]
>[1]+  Stopped                 str32 apc.mod
>root@Ischade ( /usr/local/audio/tracks32 )# fg
>str32 apc.mod
>audio_write: I/O error

>I do not know if it is relivent, but when I compile the kernel with
>-DDSP_BUFFSIZE=65536 (as suggested in the comment preceeding that line
>for a PAS-16), I get on bootup a message to the effect that "DMA at
>address xxx not regognized/denied, yyyy bytes of memory unusable."
The DMA buffer cannot cross 64k page boundary. Therefore the only way to
get a valid 64k buffer is to round the starting address to 64k boundary.
With current version of sound driver/Linux this leaves up to 64k-1 bytes
unused memory. With 16k buffers it is possible that each of them fit to
the same 64k page and no memory is wasted.

>My solution was to set -DDSP_BUFFSIZE=16384, which got rid of that
>message.

>My kernel configuration is:
>math emulation OFF
>normal hd support ON
>tcp/ip ON
>kernel profiling OFF
>limit memory to 16MB (ON|OFF) - I've tried both...
>SCSI support ON
>(adaptec 1542 only, all others off)
>SCSI disk, tape, CDROM ON
>all filesystems supported
>Autoconfigure serial IRQ (ON|OFF) - again, I've tried both ...

>If anyone could offer some insight into what is going on, why this
>might be happening, and how I could fix it, I would be extremely 
>greatful.

>For what it is worth, my card works flawlessly under MS-DOG.
Do you use the same IRQ settings under Linux and MS-DOG? The same
settings should work under Linux.
>Many thanx in advance!

>Jean.
>-- 
>Jean Liddle                                 
>Computer Science, Illinois State University  
>e-mail:  jliddle@ilstu.edu                  
>--------------------------------------------
----------------------------------------------------------------------------
Hannu Savolainen (hsavolai@cs.helsinki.fi)
Kun Savolainen puhuu, niin vastuu siirtyy valittomasti kuulijalle.
(or link("/dev/null", "/dev/flames") in plain C)
Newsgroups: comp.os.linux