History log of /freebsd/sys/dev/sound/pcm/dsp.c (Results 276 – 300 of 335)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 07159f9c 25-Feb-2003 Maxime Henrion <mux@FreeBSD.org>

Cleanup of the d_mmap_t interface.

- Get rid of the useless atop() / pmap_phys_address() detour. The
device mmap handlers must now give back the physical address
without atop()'ing it.
- Don't

Cleanup of the d_mmap_t interface.

- Get rid of the useless atop() / pmap_phys_address() detour. The
device mmap handlers must now give back the physical address
without atop()'ing it.
- Don't borrow the physical address of the mapping in the returned
int. Now we properly pass a vm_offset_t * and expect it to be
filled by the mmap handler when the mapping was successful. The
mmap handler must now return 0 when successful, any other value
is considered as an error. Previously, returning -1 was the only
way to fail. This change thus accidentally fixes some devices
which were bogusly returning errno constants which would have been
considered as addresses by the device pager.
- Garbage collect the poorly named pmap_phys_address() now that it's
no longer used.
- Convert all the d_mmap_t consumers to the new API.

I'm still not sure wheter we need a __FreeBSD_version bump for this,
since and we didn't guarantee API/ABI stability until 5.1-RELEASE.

Discussed with: alc, phk, jake
Reviewed by: peter
Compile-tested on: LINT (i386), GENERIC (alpha and sparc64)
Runtime-tested on: i386

show more ...


# d00d7d5c 11-Feb-2003 Brian Feldman <green@FreeBSD.org>

Sound devices were being leaked by dsp_open() not actually releasing the
channels it allocates if chn_reset() on them resulted in failure.
ARROW'D!


Revision tags: release/5.0.0_cvs, release/5.0.0
# a8be3e63 05-Jan-2003 Brian Feldman <green@FreeBSD.org>

Fix the duplicate unlock of the pcm read channel in certain cases.

Reviewed by: cg


Revision tags: release/4.7.0_cvs
# 47d5a0f3 28-Aug-2002 Orion Hodson <orion@FreeBSD.org>

Marginally simplify dsp_open error handling by adding an early test to
determine liklihood of opening device in requested directions. Makes for
simpler error handling and change should close kern/35

Marginally simplify dsp_open error handling by adding an early test to
determine liklihood of opening device in requested directions. Makes for
simpler error handling and change should close kern/35004.

PR: kern/35004.

show more ...


# 22967090 20-Aug-2002 Orion Hodson <orion@FreeBSD.org>

Back out last commit. Needs slightly more subtle handling.


# 42e67fd3 18-Aug-2002 Orion Hodson <orion@FreeBSD.org>

Apply reference counting patch. Fixes problem of two applications
opening the device, eg one read only and one write only, and the
reference count being non-zero when both exit rendering device
perm

Apply reference counting patch. Fixes problem of two applications
opening the device, eg one read only and one write only, and the
reference count being non-zero when both exit rendering device
permanently busy.

PR: kern/35004
Submitted by: Bill Wells
MFC after: 3 days

show more ...


Revision tags: release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs, release/4.5.0_cvs, release/4.4.0_cvs
# 436c9b65 25-Jan-2002 Scott Long <scottl@FreeBSD.org>

Fix code that had rotted behind debugging macros.

Approved by: cg (in principle)
MFC after: 2 weeks


# 095159ec 23-Jan-2002 Cameron Grant <cg@FreeBSD.org>

add more error checking to open of /dev/dsp* and /dev/audio* - if the
default format for the chosen subdevice cannot be obtained return an error
instead of returning success with an indeteterminate f

add more error checking to open of /dev/dsp* and /dev/audio* - if the
default format for the chosen subdevice cannot be obtained return an error
instead of returning success with an indeteterminate format selected.

note that this should never happen once the feederchain builder works for
recording.

show more ...


# 1c72c53f 23-Jan-2002 Cameron Grant <cg@FreeBSD.org>

don't allow mmap beyond the end of the buffer

Submitted by: Philippe Anel <philippe.anel@noos.fr> (partially)


# 16a33022 24-Oct-2001 Cameron Grant <cg@FreeBSD.org>

fix SNDCTL_DSP_GETISPACE behaviour


# 5c25132a 14-Sep-2001 George C A Reid <greid@FreeBSD.org>

- 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

- 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

show more ...


# b40ce416 12-Sep-2001 Julian Elischer <julian@FreeBSD.org>

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 fu

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

show more ...


# 506a5308 05-Sep-2001 Cameron Grant <cg@FreeBSD.org>

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.


# 334326a1 23-Aug-2001 Cameron Grant <cg@FreeBSD.org>

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.

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

show more ...


# 92f39b2c 23-Aug-2001 Cameron Grant <cg@FreeBSD.org>

MFS: make SNDCTL_DSP_SETTRIGGER work


# 67b1dce3 23-Aug-2001 Cameron Grant <cg@FreeBSD.org>

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

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.

show more ...


# c76f0116 01-Jul-2001 Cameron Grant <cg@FreeBSD.org>

don't set a flag that is already set


# aa0baad5 27-Jun-2001 Cameron Grant <cg@FreeBSD.org>

tidy up/simplify dsp_clone()


# f00f162a 23-Jun-2001 Cameron Grant <cg@FreeBSD.org>

add defines and ifdefs so this code will compile on 4.x

add spls so this code will work on 4.x


# 74ffd138 18-Jun-2001 Cameron Grant <cg@FreeBSD.org>

use devclass_get_maxunit() correctly


# faeebea2 18-Jun-2001 Cameron Grant <cg@FreeBSD.org>

revise dsp_clone() to return the first nonbusy channel instead of simply
cycling channel numbers.

remove unused fields from struct snddev_info.


# 5210620e 17-Jun-2001 Cameron Grant <cg@FreeBSD.org>

fix a potential panic in dsp_clone() if no pcm devices were detected


# d95502a8 16-Jun-2001 Cameron Grant <cg@FreeBSD.org>

use a global devclass for all drivers - i'm not entirely sure why this
worked before.

mixer, dsp and sndstat are seperate devices - give them their own cdevsws
instead of demuxing requests sent to a

use a global devclass for all drivers - i'm not entirely sure why this
worked before.

mixer, dsp and sndstat are seperate devices - give them their own cdevsws
instead of demuxing requests sent to a single cdevsw.

use the si_drv1/si_drv2 fields in dev_t structures for holding information
specific to an open instance of mixer/dsp.

nuke /dev/{dsp,dspW,audio}[0-9]* links - this functionality is now provided
using cloning.

various locking fixes.

show more ...


# b8f0d9e0 14-Jun-2001 Cameron Grant <cg@FreeBSD.org>

various locking fixes, rework open logic and channel registration

PR: kern/28084


# 285648f9 27-May-2001 Cameron Grant <cg@FreeBSD.org>

beginnings of virtual playback channel support

instead of using two malloced arrays for storing channel lists, use an
slist. convert the sndstat device to use sbufs and optionally provide more
deta

beginnings of virtual playback channel support

instead of using two malloced arrays for storing channel lists, use an
slist. convert the sndstat device to use sbufs and optionally provide more
detail about channel state.

vchans are software mixed playback channels. they are not enabled by this
commit. they use the feeder infrastructure to emulate normal playback
channels in a manner transparent to applications, whilst providing as many
channels are desired, especially suitable for devices with only one hardware
playback channel. in the future they will provide additional features.

those wishing to test this functionality will need to add vchan.c to
sys/conf/files and use 'sysctl -w hw.snd.pcm0.vchans' to enable it.

blocksize and auto-rate selection are not yet supported.

show more ...


1...<<11121314