Commit Graph

45 Commits

Author SHA1 Message Date
mycroft
ad44e79f90 It appears there's a race condition when disabling a channel that causes us to
need to explicitly relatch the interrupt when firing it up again.  So, in the
trigger routines, explicitly disable and reenable the interrupt to relatch it,
like we do in the interrupt routine.

Also clean up some broken loop overrun checks.

My ES1371 seems to be more reliable now, but I'm not going to pretend to fully
understand this chip.
2001-04-24 21:03:33 +00:00
augustss
532934d5f1 ANSIfy. 2001-01-27 18:53:33 +00:00
augustss
d13e6a84f2 Sleep a little when closing the midi device to allow the UART to drain. 2001-01-27 18:37:01 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
augustss
87a5ae384c Update URLs. 2000-06-01 09:58:19 +00:00
thorpej
1838aef29c ac97.h -> ac97var.h 2000-05-15 01:27:44 +00:00
augustss
4e1e58e353 Change the way the codec is access to mimic how Linux&FreeBSD does it. 2000-05-01 17:15:41 +00:00
augustss
aaa405eab7 Add driver for C-Media CMI8x38 Audio Chip. From Takuya SHIOZAKI <AoiMoe@imou.to> 2000-04-30 21:59:58 +00:00
augustss
aae26d0d0c Move a test if the MIDI is open outside a loop in the interrupt routine.
Some stylistic changes.
2000-04-24 17:55:24 +00:00
soren
2d937cc876 Make it a bit more clear which functions are specific to which models.
Split off register definitions into eapreg.h.
Remove duplicate codec reset.
2000-03-19 17:11:50 +00:00
soren
2d525b16dd The shortened 1371 reset delay in revision 1.32 doesn't seem to be
quite enough for my 1373, so increase it some.
2000-03-11 06:42:37 +00:00
perry
d97becf28e Make Creative Soundblaster PCI 128's work -- from Masahiro Ishiyama
Note that on device close, there's a sharp pop that probably should be fixed.

Note also that the device is hanging the machine at times for brief
periods inside audio.c::audiogetinfo(), but I haven't yet figured out
why.
2000-03-06 03:18:11 +00:00
augustss
361b083d4c Shorten some delay()s. From WITEK Wnuk <witek@atari.org> 1999-11-02 17:48:01 +00:00
soren
09c41837ce Fix crash when both 1370 and 1371/1373 devices are configured.
Update documentation links.
XXX The initial volume of the 1371 mixers is set to 255. Should be ~200.
1999-11-02 05:40:59 +00:00
augustss
860ebb7a92 Make little endian and big endian version of all functions
that deal with 16 bit samples.  Let the drivers decide which ones
to use.
1999-11-01 18:12:19 +00:00
augustss
613db45d20 Add MIDI support.
Closes PR 8578.
1999-10-29 23:03:18 +00:00
augustss
8ecf3c7c3e Add support for ES1371. From OpenBSD and Ezra Story <ezy@panix.com>. 1999-10-27 13:20:34 +00:00
kleink
e5d76dce61 Don't make a human-readable device description being printed at attach time
depend on PCIVERBOSE.
1999-09-01 07:32:31 +00:00
kleink
2422638ad5 Fix a buglet in the driver's DMA buffer list ipmlementation, causing the next-
in-list (wrong) descriptor structure of the buffer in question to be freed.
1999-07-10 16:46:19 +00:00
mycroft
e0b748e50c Pass the correct address (PCI bus address, not PA) to the card.
Works on an Alpha now.
1999-02-18 07:59:30 +00:00
mycroft
c02bf3c4d7 Minor code munging. 1999-02-18 05:46:38 +00:00
mycroft
8b7b7cccc7 Fix a silly type. 1999-02-17 23:55:18 +00:00
mycroft
71105fbda7 Update comments. 1999-02-17 21:44:55 +00:00
mycroft
e5f5e628d2 Pass the direction to the allocm and round_buffersize methods.
Some drivers need this to properly allocate DMAable memory.
1999-02-17 02:37:38 +00:00
augustss
0d32a9a78b Fix more `void *' arithmetic. 1999-01-08 19:22:34 +00:00
augustss
9726cfd1fb Make the copyright header conform to the NetBSD template. 1998-11-25 22:17:06 +00:00
mrg
db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
thorpej
daa8ad1747 Add some braces to make egcs happy. 1998-08-25 04:56:01 +00:00
augustss
cd09067eb4 * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
  The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
mycroft
6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
mycroft
a5ace63ee2 Associate the preamp with the mic volume in the input class. 1998-08-12 19:09:55 +00:00
mycroft
916c60de3e Oops; fix typos. 1998-08-12 18:55:03 +00:00
mycroft
a2f1d5b822 Add a knob to enable/disable the mic preamp. 1998-08-12 18:47:43 +00:00
mycroft
1c6dea16fa For consistency, only do the rate coupling in full-duplex mode. 1998-08-10 01:27:34 +00:00
mycroft
cf7abcbe64 Minor cleanup to debugging cruft. 1998-08-09 22:11:48 +00:00
mycroft
4ffebebb25 Several things:
* Use the new trigger_{in,out}put interface.
* Allow the play and record channels to have different encodings (but the
  same sample rate).
* Play u-law and a-law as 16-bit data.  (This may not work yet...)
1998-08-09 20:32:34 +00:00
augustss
8af687b575 Add mixer output selection.
From gson@araneus.fi (Andreas Gustafsson)
1998-07-06 11:12:21 +00:00
thorpej
ea3a1d9c44 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-08 06:55:54 +00:00
augustss
a10981bdbf Fix a recording problem that occurs when the EAP chip sends its
interrupt just BEFORE the dma has finished rather than after.
1998-05-26 13:28:03 +00:00
augustss
d824266389 Remove some lint. 1998-05-06 19:21:45 +00:00
mycroft
a835c012d3 Adjust PCLKDIV by 2 to correct the output sample rate. (Unfortunately, this
isn't documented.)
Fix typo in mappage routine.
1998-05-02 08:21:10 +00:00
mycroft
fef6b0b8a3 Oops; fix typo. 1998-05-02 02:36:30 +00:00
mycroft
cfe3e5fb08 Fix reading of the master volume, and a hack that seems to make stereo output
work correctly.  (Will check the documentation as soon as I can read it.)
1998-05-02 02:34:53 +00:00
augustss
6cb1f6c5b1 Add a driver for the Ensoniq AudioPCI sound card. The driver still
needs some testing, but it seems to produce sound.  The driver was written
by me, but since I don't have the hardware the debugging and testing was
done by Andreas Gustafsson <gson@araneus.fi>, Chuck Cranor
<chuck@maria.wustl.edu>, and Phil Nelson <phil@cs.wwu.edu>.  Thanks.
1998-05-01 21:54:33 +00:00