477 Commits

Author SHA1 Message Date
orion
6923b3865d use pcm_getbuffersize() 2001-10-10 17:56:35 +00:00
scottl
c2316fb3b7 Update to using the pcm_getbuffersize() method.
Fix an off-by-one error in the saving of the dsp memory.
Up the play channels to 2.

MFC after:	3 days
2001-10-09 19:46:09 +00:00
cg
046dce9528 use pcm_getbuffersize()
only creat a mic recording channel if the codec supports it
2001-10-08 06:10:39 +00:00
cg
52fbddb20a use pcm_getbuffersize()
use seperate dma tags for buffers and control info
2001-10-08 06:01:13 +00:00
cg
2c46a9f5ab use pcm_getbuffersize() 2001-10-08 05:59:54 +00:00
cg
54bd95ef30 * register the correct number of channels
* include hw buffer size in sndstat info
2001-10-07 23:31:52 +00:00
cg
90f02c6299 use mixer channel numbers, not channel masks- this should fix sb/sbpro mixer
problems.
2001-10-07 23:28:34 +00:00
greid
a6cad80bb4 Add another pnpid for the AWE64
PR:		30909
Submitted by:	Kinji Itoh <kinji-i@gray.plala.or.jp>
MFC after:	7 days
2001-09-29 12:38:58 +00:00
cg
16faee5a1d release isa dma channels on unload. 2001-09-29 08:01:42 +00:00
cg
3113c29f95 allow the hardware buffer size to be controlled with hints
release isa dma channels on unload (ad1816, ess, sb8)
2001-09-29 07:57:07 +00:00
jhb
69b2d3f3db Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
cg
b86875b944 when setting blocksize, fix blockcount to 2 to reduce latency with smaller
block sizes.
2001-09-18 15:19:44 +00:00
cg
30230e56a5 make buffer size adjustable. 2001-09-18 15:12:35 +00:00
cg
fb1faed56b don't enable the mic record channel unless the codec supports it.
allow hardware buffer size to be specified using hints.
2001-09-18 14:53:01 +00:00
cg
afd9c60fd0 change tracking of channel counts.
add method for retrieving "buffersize" hints for pcm devices, adjusted for
specified minimum, maximum and default values.
2001-09-18 14:50:52 +00:00
cg
89b447d520 add a tunable/sysctl, hw.snd.targetirqrate, to modify the default target
irq rate for apps that do not set a blocksize.
2001-09-18 14:45:09 +00:00
cg
afb2bba74c add a method for retrieving codec capabilities 2001-09-18 14:34:59 +00:00
tanimura
f5b6a4e5d7 Catch up to the last commit of KSE. 2001-09-15 08:14:23 +00:00
greid
395572e2f3 - Correctly increment the channel refcount in dsp_open() such that it is
no longer possible to unload the driver module while sound is playing
  (which resulted in a panic).
- Fix a similar problem with the sndstat device that I found while looking
  at the above.
- Append a newline character to error messages in pcm_unregister()

Reviewed by:	cg
MFC after:	10 days
2001-09-14 20:26:03 +00:00
julian
5596676e6c KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
green
841babd11d Convert the CMedia driver to using a device mutex and INTR_MPSAFE. 2001-09-08 05:20:52 +00:00
cg
9d8a805762 add a method for recording of specific channels for devices with more than
one hardware record channel.  new devices, /dev/dsprX.Y where X is unit
number and Y is channel index.
2001-09-05 16:28:41 +00:00
cg
1a16a8c5cb don't try to dump nonexistent data when recording 2001-09-05 14:49:44 +00:00
orion
f1a12fefd6 Return updated blocksize from setblocksize function. 2001-09-03 02:14:55 +00:00
orion
693f6a6f4e Fix return value of cs4281chan_setblocksize. 2001-09-03 01:05:04 +00:00
orion
9f07ad162e Fix return value of svchan_setblocksize.
Expand probing range.
2001-09-03 01:03:50 +00:00
orion
ebb84d55ed Fix return value of setblocksize functions. Recording is interspersed
with silent intervals otherwise.
2001-09-03 00:45:00 +00:00
cg
170a979320 tweaks to reduce latency/pauses in output 2001-08-29 09:17:43 +00:00
greid
79fd56534c Add support for the Acer Labs M5451 chip.
Submitted by:	Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
2001-08-29 09:04:22 +00:00
cg
bf28cfba58 add some extra diagnostic info to sndstat output. 2001-08-29 02:49:54 +00:00
cg
be67da3328 * change buffering method a bit
* swap record/mic channels
* initialise all channels
* align dma buffers to 8 bytes

Submitted by:	Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp>
(mostly)
2001-08-29 02:31:03 +00:00
cg
748a830ba6 now we have the rate feeder, we don't need to constrain the default channel
speed.  however, continue to do so for record channels until the feederchain
builder is fixed.
2001-08-27 01:02:13 +00:00
cg
2c0e81585d MFS rev 1.8.2.8:
release resources on detach

Submitted by:	"Christopher N . Harrell" <cnh@netvmg.com>
2001-08-27 00:54:26 +00:00
greid
a88b1ce13d Add support for the SiS 7018
PR:		30100
Submitted by:	Ada Lim <adal@cse.unsw.edu.au>
2001-08-26 19:15:28 +00:00
cg
f53d43761e the feederchain builder is currently broken for recording channels. disable
it until it is fixed.  this limits recording to native formats and speeds
only.
2001-08-23 12:27:27 +00:00
cg
a77fa3901d handle bogus values passed to SOUND_PCM_WRITE_CHANNELS/SNDCTL_DSP_CHANNELS
ioctls better- if 0 is passed, return the current setting.  if 1 or 2 are
passed, behave accordingly.  treat values >2 as 2.

PR:		kern/29964
2001-08-23 12:21:12 +00:00
cg
f92a958097 make the 4dwave nx chip work
Submitted by:	Philippe Anel <xigh@noos.fr>
2001-08-23 12:02:29 +00:00
cg
ebfee899aa MFS: make SNDCTL_DSP_SETTRIGGER work 2001-08-23 11:58:38 +00:00
cg
14ef1eed0d MFS: allow multiple opens of mixer devices 2001-08-23 11:56:07 +00:00
cg
2cfb90cc8d many changes:
* add new channels to the end of the list so channels used in order of
addition

* de-globalise definition of struct snddev_info and provide accessor
functions where necessary.

* move the $FreeBSD$ tag in each .c file into a macro and allow the
/dev/sndstat handler to display these when set to maximum verbosity to aid
debugging.

* allow each device to register its own sndstat handler to reduce the amount
of groping sndstat must do in foreign structs.
2001-08-23 11:30:52 +00:00
greid
132593d4da Set up the via_chinfo structures properly so we write to the correct
registers later on; this fixes the VIA82C686 sound problems recently
reported by a number of people.
2001-08-02 22:13:10 +00:00
scottl
ac76e3b7fe Limit the device to only one playback channel until I can figure out why
a) newpcm insists on using only the highest number channel available, and
b) the maestro3 driver no longer likes anything above channel 0.
2001-07-19 20:53:52 +00:00
scottl
b6c9d769b9 Fix an off-by-one error in the dma tag. This was causing the VM system to
freak out occasionally.

MFC after:	1 week
2001-07-19 20:51:29 +00:00
peter
3fe8813714 Somehow I missed this. Use INTR_TYPE_AV (high priority) instead of
INTR_TYPE_TTY (lowest priority).
2001-07-09 23:44:54 +00:00
cg
5a82aadeb1 * simplify
* add support for mic record channel

* add support for setblocksize

* make mpsafe

* make getptr accurate

* reduce buffer size from 64k to 16k for better synchronisation
2001-07-03 17:27:13 +00:00
cg
5aa3adcdfb remove obsolete typedefs.
only define INTR_TYPE_AV if it is not already defined.
2001-07-03 12:53:09 +00:00
green
1aa95d9355 Correct obviously wrong mistakes. 2001-07-02 23:47:23 +00:00
mjacob
e4ef9e1284 make it compile again in -current 2001-07-02 17:36:11 +00:00
green
894add3bd0 Detect the device on e.g. Dell OptiPlex GX110s. 2001-07-02 15:29:38 +00:00
green
9243c4f1a8 Make all this compile on 4.3, modulus sbuf. 2001-07-02 15:27:28 +00:00