Commit Graph

65 Commits

Author SHA1 Message Date
thorpej b193480908 Add extensible malloc types, adapted from FreeBSD. This turns
malloc types into a structure, a pointer to which is passed around,
instead of an int constant.  Allow the limit to be adjusted when the
malloc type is defined, or with a function call, as suggested by
Jonathan Stone.
2003-02-01 06:23:35 +00:00
thorpej 7ec10e2d99 Use aprint_*(). 2003-01-31 00:07:39 +00:00
mrg b45e7ba10d add detach support 2003-01-14 02:23:29 +00:00
pooka 0b31dc8e73 For the ES1370 do "best effort" rate selection for the FM DAC. The
card contains only one clock, which is already used by the other
DAC. The FM DAC can handle a few fixed-frequency choices.

thanks to Matthew Green for testing
2002-12-26 17:59:16 +00:00
pooka a2e85e2b1c Silly me for assuming that the CT5880 cards could be identified by looking
at which ones had the Product ID CT5880. Try to get the checks right now.

Also add ES1373_8 to the list.
2002-12-14 17:52:47 +00:00
pooka 98539df1fe Recognize a few more CT5880 chips. Only cosmetic, does not
affect functionality.
2002-12-05 11:26:26 +00:00
pooka fa8ee3bb1c Don't use tsleep() in attach, use delay()
This change makes the driver work properly for the following card,
which used to function a bit weird:

eap0 at pci0 dev 10 function 0: Ensoniq CT5880 CT5880C (rev. 0x02)
eap0: interrupting at irq 9
eap0: TriTech TR28602 codec; no 3D stereo
2002-11-30 00:20:02 +00:00
scw 5b10944d66 Fix uninitialised variable warnings. 2002-11-24 12:06:12 +00:00
gson 1fd621f7df eap.c 1.54 changed ES1371 specific code but failed to make the
corresponding cases to the ES1370 case, causing a panic when
attaching an ES1370.
2002-11-14 04:43:23 +00:00
pooka 36e8081d49 rename EAP_EN() to the more descriptive EAP_DAC_EN(), and
use it everywhere.
2002-11-11 22:17:47 +00:00
thorpej 1e1c759c66 Don't use newlines in string literals. 2002-11-07 06:54:25 +00:00
pooka d6b170e2de add support for the second DAC found on the chip. to attach the second
audio device, define EAP_USE_BOTH_DACS
2002-11-04 16:34:25 +00:00
pooka fec12d1505 make a few debug printf's match reality 2002-10-10 15:39:01 +00:00
thorpej 9b2c2ec24d Add trailing ; to CFATTACH_DECL. 2002-10-02 16:50:59 +00:00
thorpej 387fc6dc87 Use CFATTACH_DECL(). 2002-09-30 20:37:04 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
gson 63dd492c1a Mask MCCB interrupts since they are not currently handled
and it is not clear how they should be handled.  Fixes
kern/17071.
2002-07-04 02:20:22 +00:00
lukem 9048aaae21 add RCSID 2001-11-13 07:48:40 +00:00
augustss 1339e88a86 Add a new optional method, dev_ioctl, to the audio hardware driver interface.
It is called when an unrecognized ioctl() is performed on a device,
thus allowing ioctl()s that frob the hardware driver (like loading
microcode).
2001-10-03 00:04:47 +00:00
reinoud e8858886be Fixed compiling error when AUDIO_DEBUG was switched on ... 2001-09-03 15:07:37 +00:00
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