summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
Commit message (Collapse)AuthorAgeFilesLines
* Implement suspend/resume operation for snd_csa(4)glebius2005-06-274-17/+220
| | | | | | | PR: kern/82243 Submitted by: Serge Semenenko Approved by: re (scottl) MFC after: 1 month
* Wrap the calls to the ISA DMA specific sndbuf_dma*() functions ofmarius2005-06-101-0/+10
| | | | | | | sys/dev/sound/isa/sndbuf_dma.c (compilation depending on device isa) in #ifdef DEV_ISA so sound(4) can be compiled without isa(4). MFC after: 1 month
* s/-1000/BUS_PROBE_LOW_PRIORITY/tanimura2005-05-291-1/+1
| | | | Pointed out by: nyan
* Add 6300ESB, which should be treated as ICH4.tanimura2005-05-281-1/+9
| | | | | | PR: kern/81573 Submitted by: OOTOMO Hiroyuki <ootomo@za.wakwak.com> MFC after: 1 week
* Make snd_maestro3(4) mpsafeyongari2005-05-231-84/+211
| | | | | | | | | - Let m3_pchan_trigger()/m3_rchan_trigger() acquire lock and call m3_pchan_trigger_locked()/m3_rchan_trigger_locked() respectivly. - Mark interrupt handler INTR_MPSAFE. - Add locks in sound/channel interface. Tested by: nork
* Take advantage of ebus(4) having switched to SYS_RES_MEMORY for themarius2005-05-191-5/+2
| | | | | | | memory resources in ebus.c rev. 1.22 and treat both the EBus and SBus variants alike in this regard. Ok'ed by: yongari
* Add code from Kazuhito HONDA that allows the user to seejulian2005-04-273-0/+157
| | | | | | | | | | the available modes in /dev/sndstat. e.g. pcm1: <USB Audio> at addr ? (0p/1r/0v channels duplex) mode 1:(input) 1ch, 16/16bit, pcm, 44100Hz mode 2:(input) 1ch, 16/16bit, pcm, 22050Hz mode 3:(input) 1ch, 16/16bit, pcm, 11025Hz mode 4:(input) 1ch, 16/16bit, pcm, 8000Hz
* Fix a bug where we call pcm_getbuffersize twice.matk2005-04-171-1/+0
| | | | Pointed out by: Kazuhito HONDA <kazuhito at ph dot noda dot tus dot ac dot jp>
* De-dma the uaudio <-> pcm bridge. We were not capable of doing DMA frommatk2005-04-171-41/+35
| | | | | | | | this buffer anyway so the constraint that it had to be DMA capable only caused pain when devices failed to aquire the memory. Use a regular malloc instead with sndbuf_setup. Approved by: tanimura (mentor)
* On record only devices, don't fail if we don't have a play channel.julian2005-04-171-3/+11
| | | | MFC after: 3 days
* The maximum allowable alloc is 16K not (16K-1).julian2005-04-131-1/+1
| | | | | This whole section is actually overly restrictive and another patch is in the works.
* Make it clear that the statement following the conditional is a NOP.mdodd2005-04-131-1/+2
|
* Fix the output ports on the AD1988 codec. From the submitter:scottl2005-04-101-0/+1
| | | | | | | | | | | | | | | | | | | | | Affects to people WITH an AD1888 codec, the system will output to the port labeled "speaker" instead of microphone. System will work the same in multiple operating systems. If people are currently using their systems with this codec they will need to swap their output ports. I have _not_ checked audio input or line input (basically, I have checked nothing other than line-out). I believe this is an appropriate change, it makes us consistent with documentation, and other operating systems. Furthermore, this feature (playing) is the vast majority of sound activities, so if this makes is right for playback and wrong for recording... playback is more important, and we can fix recoding in the future without worries of screwing people again in the future (since we'll be "right" on the playback). Submitted by: David Cross
* Explicitly hold a reference to the cdev we have just cloned. Thisphk2005-03-312-1/+4
| | | | | closes the race where the cdev was reclaimed before it ever made it back to devfs lookup.
* Return BUS_PROBE_DEFAULT in preference to 0.murray2005-03-201-1/+1
| | | | Pointed out by: Nate Lawson <nate@root.org>
* Add device id for nForce 4 audio controller.murray2005-03-191-0/+4
| | | | | | PR: kern/78482 Submitted by: Markus Niemistö <markus.niemisto@iki.fi> MFC after: 1 week
* Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY inimp2005-03-0121-64/+70
| | | | | preference to some random negative number to allow other drivers a bite at the apple.
* Use mss_{format,speed}() rather than chn_set{format,speed}() and holdmdodd2005-02-271-2/+4
| | | | | | | mss lock across call. This allows my Thinkpad 600E to resume with the sound driver loaded and vchans enabled.
* Use dynamic major number allocation.phk2005-02-274-8/+0
|
* 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)
OpenPOWER on IntegriCloud