summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
Commit message (Collapse)AuthorAgeFilesLines
* BUS_SPACE_UNRESTRICTED shouldn't be used with the bus_alloc_resourceimp2005-02-012-6/+6
| | | | interface. Instead, move to the convenience _any interface.
* Start each of the license/copyright comments with /*-, minor shuffle of linesimp2005-01-0674-98/+103
|
* Allow selection of a recording source on USB audio devices.julian2004-12-253-8/+95
| | | | | | | PR: 75316 Submitted by: Kazuhito HONDA <kazuhito at ph dot noda dot tus dot ac dot jp> Obtained from: NetBSD plus changes MFC after: 2 weeks
* Allow recording on at least some USB audio devices.julian2004-12-253-2/+73
| | | | | | | PR: 75311 Submitted by: Kazuhito HONDA <kazuhito at ph dot noda dot tus dot ac dot jp> Obtained from: NetBSD plus changes MFC after: 2 weeks
* Allow volume control on more channels/inputsjulian2004-12-251-18/+129
| | | | | | | PR: 75276 Submitted by: Kazuhito HONDA <kazuhito at ph dot noda dot tus dot ac dot jp> Obtained from: NetBSD with changes MFC after: 2 weeks
* MFNetBSD:julian2004-12-254-724/+1762
| | | | | | | | | | One of a set of patches submitted by Kazuhito HONDA to make the usb audio driver a lot more capable. PR: 75274 Submitted by: Kazuhito HONDA (kazuhito at ph dot noda dot tus dot ac dot jp) Obtained from: NetBSD (indirectly) MFC after: 2 weeks
* Don't include vnode.hphk2004-12-221-1/+0
|
* PNP BIOS devices are fundamentally different than ISA PNP devices.imp2004-12-071-1/+1
| | | | | | | These devices should be probed first because they are at fixed locations and cannot be turned off. ISA PNP devices, on the other hand, can be turned off and often can be flexible in the resources they use. Probe them last, as always.
* Fix build.ru2004-11-111-2/+2
| | | | Submitted by: Taku YAMAMOTO
* Add record capability.julian2004-11-102-488/+1405
| | | | Submitted by: Taku Yamamoto (original author)
* Device driver for onboard CS4231 audio controller which is foundyongari2004-10-253-0/+1935
| | | | | | | | | | | | | | | on UltraSPARC workstations. The driver is based on OpenBSD's SBus cs4231 driver and heavily modified to incorporate into sound(4) infrastructure. Due to the lack of APCDMA documentation, the DMA code of SBus cs4231 came from OpenBSD's driver. The driver runs without Giant lock and supports both SBus and EBus based CS4231 audio controller. Special thanks to marius for providing feedbacks during the driver writing. His feedback made it possible to write hiccup free playback code under high system loads. Approved by: jake (mentor) Reviewed by: marius (initial version) Tested by: marius, kwm, Julian C. Dunn(jdunn AT opentrend DOT net)
* Re-add an acpi attachment for the legacy probe that was inadvertentlynjl2004-10-151-0/+1
| | | | removed.
* Plug possible memory leak in sound DMA buffer handling. It alsoyongari2004-10-151-9/+24
| | | | | | | changes return code to ENOMEM in case of allocation failure. Approved by: jake (mentor), scottl (co-mentor) Reviewed by: truckman, matk
* Limit DMA address space to 1GB since the trident audio cards can'tyongari2004-10-131-1/+11
| | | | | | | | | | handle DMA addresses located above 1GB. The LBA(loop begin address) register which holds DMA base address is 32bits register. But the MSB 2bits are used for other purposes. This effectivly limits the DMA address space up to 1GB. Approved by: jake (mentor) Reviewed by: truckman, matk
* Audio drivers failed to detect failure condition and attempted toyongari2004-10-1318-23/+29
| | | | | | | | | | assign DMA address to the wrong address. It can cause system lockup or other mysterious errors. Since most sound cards requires low DMA address(BUS_SPACE_MAXADDR_24BIT) sndbuf_alloc() would fail when the audio driver is loaded after long running of operations. Approved by: jake (mentor) Reviewed by: truckman, matk
* * Remove the acpi attachment from the es1888. It has an identify methodnjl2004-10-123-3/+2
| | | | | | | | | that conjures up the device node so it isn't true PNP. Noticed by jhb@. * Add an attachment for esscontrol since it too uses ISA_PNP_PROBE. * Move an attachment from snd_mss to snd_pnpmss. The latter is the real PNP user.
* Add acpi attachments for ISA sound drivers. This is needed so they'llnjl2004-10-114-0/+4
| | | | | | | probe and attach when ACPI is enabled. Submitted by: takawata (sbc fix) MFC after: 1 day
* Add ICH6 support.ps2004-09-281-2/+8
|
* Correct the capitalization of "nVidia".des2004-09-211-5/+5
|
* Add support Nvidia nForce2(audio)sanpei2004-09-201-0/+4
| | | | | | PR: kern/71317 Submitted by: Mezz <mezz@freebsd.org> MFC after: 1 week
* Add support nForce3 250 audiosanpei2004-09-201-0/+4
| | | | | | PR: kern/71726 Submitted by: FUJIMOTO Kou <fujimoto@j.dendai.ac.jp> MFC after: 1 week
* Backout the code which tries to use undocumented way to determine ifsobomax2004-09-151-43/+5
| | | | | | | | fm801 has sound capabilities or not. Unfortunately this code doesn't work as expected. Submitted by: many MFC after: 3 days
* Change sb_lock() calls to sbc_lockassert() and remove the sb_unlock()truckman2004-09-121-4/+2
| | | | | | | | | | | calls in sb_cmd2() and sb_getmixer(). The lock has already be grabbed before these functions are called. This is a RELENG_5 candidate. PR: 71189 Submitted by: stephane MFC after: 3 days
* Convert sndstat_lock from a mutex to an sx lock. sndstat_read()truckman2004-09-101-26/+29
| | | | | | | | | | | | | | | holds sndstat_lock across a call to uiomove(), which is not legal to do with a mutex because of the possibility that the data transfer could sleep because of a page fault. It is not possible to just unlock the mutex for the uiomove() call without introducing another locking mechanism to prevent the body of sndstat_read() from being re-entered. Converting sndstat_lock to an sx lock is the least complicated change. This is a candidate for RELENG_5. LOR: 030 MFC after: 4 days
* The new contigmalloc code is exposing a lot of misuses of busdma memorygreen2004-08-221-21/+15
| | | | | | | | | | | | | | | | | | allocation. Notably, in this case, the driver tries to allocate several pieces of memory and then fails if the pieces allocated after the first do not come after it physically, and within a specific range (8MB I believe). Of course, this could just as easily fail for any number of reasons, but it almost always fails now that contiguous allocations start at the end of possible specified memory locations rather than the beginning. Allocate all the possibly-needed memory up front, even though it's a waste, to get around this. The least bogus solution would be to take the physical address from the first allocation and create a new tag that specified that further allocations must follow it within that 8MB window, then use that when allocating new channels, but that's left for anyone else that really feels like doing it. Tested by: Erwin Lansing <erwin@lansing.dk>
* Remove rev 1.50.obrien2004-07-241-9/+0
|
* Rename the sound device drivers:tanimura2004-07-1631-42/+47
| | | | | | | | | | | | | | - `sound' The generic sound driver, always required. - `snd_*' Device-dependent drivers, named after the sound module names. Configure accordingly to your hardware. In addition, rename the `snd_pcm' module to `sound' in order to sync with the driver names. Suggested by: cg
* Do a pass over all modules in the kernel and make them return EOPNOTSUPPphk2004-07-151-0/+1
| | | | | | | | for unknown events. A number of modules return EINVAL in this instance, and I have left those alone for now and instead taught MOD_QUIESCE to accept this as "didn't do anything".
* Remove DDB. The one user of this macro has been changed to use BVDDB.marcel2004-07-101-1/+0
| | | | | Yes, DDB is unrelated to the debugger with the same acronym. Hence, the change.
* s/DDB/BVDDB/gmarcel2004-07-101-1/+1
| | | | Note that DDB is unrelated to the debugger with the same acronym.
* Check the return value of bus_dmamem_alloc() correctly.bms2004-07-041-2/+4
| | | | Submitted by: Darron Broad (with cleanups)
* Implement SNDCTL_DSP_SETDUPLEX. This may fix sound apps which want tonetchild2004-07-021-0/+10
| | | | | | use full duplex mode. Approved by: matk
* Fix uninitialized variable, that breaks the build.josef2004-06-251-2/+2
| | | | | | Approved by: hmp Reviewed by: chris Pointy hat to: josef (for ignoring warning)
* Change the possibility to configure pcm(4) via boot/loader.confjosef2004-06-241-8/+7
| | | | | | | | to use boot/device.hints now As discussed on cvs-src@ Reviewed by: Hiten Pandya <hmp@backplane.com>
* Enable pcm to read kenv variables to set default values forjosef2004-06-201-2/+11
| | | | | | | | | | | | | mixer channels. e.g.: pcm0.line=0 to muten input line per default. Approved by: cg Reviewed by: le, stefanf Requested by: Eugene Grosbein <eugen@grosbein.pp.ru> (implicitly) PR: kern/63771
* Second half of the dev_t cleanup.phk2004-06-172-2/+2
| | | | | | | | | | | The big lines are: NODEV -> NULL NOUDEV -> NODEV udev_t -> dev_t udev2dev() -> findcdev() Various minor adjustments including handling of userland access to kernel space struct cdev etc.
* Do the dreaded s/dev_t/struct cdev */phk2004-06-165-36/+36
| | | | Bump __FreeBSD_version accordingly.
* Improve mapping of relative to absolute volume.josef2004-06-141-2/+15
| | | | | | | | | | I added bounds checking to the patch and cg improved the formular. Submitted by: Andriy Gapon <avg@icyb.net.ua> PR: kern/65485 Approved by: cg Reviewed by: imp, rwatson, le
* Add PCI identifier for Dell modified SBLive! cardobrien2004-06-131-0/+9
| | | | Submitted by: Joseph Dunn <joseph@magnesium.net>
* Nuke a cryptic and useless diagnostic printf().truckman2004-06-071-1/+0
|
* Make the emu10k1 pcm driver INTR_MPSAFE. The locking is modeledmux2004-06-041-28/+46
| | | | | | exactly as done in the cmi driver. I am quite confident this is safe since I'm runing this for more than two weeks now, on an SMP box. A few people tested this patch for me successfully as well.
* Axe the old midi drivers and framework. matk has developed a newtanimura2004-06-0117-12371/+0
| | | | module-friendly midi subsystem to be merged soon.
* Devclass have to be shared with same 'pcm' devclass, ortakawata2004-05-311-1/+0
| | | | unit management will corrupt.
* Add PCI ID for via 8237.matk2004-05-261-0/+4
| | | | | | Submitted by: Josh Elsasser <jre@vineyard.net> Approved by: tanimura (mentor) PR: kern/61730
* Remove extraneous spaces.truckman2004-05-131-1/+1
|
* Implement sbc_lockassert() and sb_lockassert() functions to allowtruckman2004-05-133-3/+19
| | | | | | | | | | | | | proper locking to be checked at runtime. Remove sb_lock() and sb_unlock() calls from sb_reset_dsp() because the latter is called from sb_setup() with the lock already held. Add a call to sb_lockassert(). Surround the call to sb_reset_dsp() in sb16_attach() with sb_lock() and sb_unlock() calls. Tested by: Bartek Marcinkiewicz <junior AT p233.if.pwr.wroc.pl>
* Add support CS4294sanpei2004-05-081-0/+1
| | | | | PR: kern/66280 Submitted by: Christian Brueffer <chris@unixpages.org>
* Don't do malloc(M_WAITOK) for sound buffers while locks are held.green2004-04-291-1/+1
|
* This driver certainly works fine turning INTR_MPSAFE back on. For thosegreen2004-04-211-1/+1
| | | | | | of you with other cards, please do review and test the drivers for MP-safety and disable Giant in the interrupt routines when you are sure of proper functionality.
* The newpcm headers currently #define away INTR_MPSAFE and INTR_TYPE_AVgreen2004-04-1414-22/+17
| | | | | | | | | | | | | | | | | | because they bogusly check for defined(INTR_MPSAFE) -- something which never was a #define. Correct the definitions. This make INTR_TYPE_AV finally get used instead of the lower-priority INTR_TYPE_TTY, so it's quite possible some improvement will be had on sound driver performance. It would also make all the drivers marked INTR_MPSAFE actually run without Giant (which does seem to work for me), but: INTR_MPSAFE HAS BEEN REMOVED FROM EVERY SOUND DRIVER! It needs to be re-added on a case-by-case basis since there is no one who will vouch for which sound drivers, if any, willy actually operate correctly without Giant, since there hasn't been testing because of this bug disabling INTR_MPSAFE. Found by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru>
OpenPOWER on IntegriCloud