Commit Graph

37 Commits

Author SHA1 Message Date
yamt 18f717bb90 constify audio_hw_if, midi_hw_if, and radio_hw_if. 2004-10-29 12:57:15 +00:00
mycroft 921c2474ad There's no need to halt the input and output pipes in the close routine --
audio_close() takes care of this.
2004-07-09 01:02:32 +00:00
kleink 8e491dbabd In addition to alpha, grossly work around the 24-bit limitation of the
Audio 1 DMA engine by allocating through the ISA DMA tag on amd64
and i386.
2004-07-08 21:33:45 +00:00
kleink d42e56f0d5 General mixer initialization improvements around the MONO_IN/MONO_OUT/
PreAmp register, including a new MONO_IN mixer stage bypass mixer control;
inspired by (and fixing) PR kern/18342 from Stephen Ma.
2004-05-25 21:38:11 +00:00
kleink e436929104 Fix a (non-dangerous) malloc size botch in eso_allocm();
from Stephen Ma in PR kern/18342.
2004-02-17 17:39:55 +00:00
kleink d82820e03a Audio 2's DMA current address register implements only the least
significant 20 bits, so make sure its memory allocation won't cross
a 1M boundary.  From Stephen Ma in PR kern/18342.
2004-02-17 17:34:21 +00:00
kleink 62138f6396 unask -> unmask 2003-02-05 00:07:34 +00:00
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
thorpej 72a7af27b0 Use aprint_normal() in cfprint routines. 2003-01-01 00:10:15 +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
kleink 22e2d71a5f Add a joystick attachment to the ESS Solo-1 driver. 2002-04-25 00:52:21 +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
kleink 1bd93b6232 Hint BUS_DMA_READ and BUS_DMA_WRITE. 2001-07-19 17:19:40 +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
kleink c8b75dd368 Scale the drain timeout for allowing auto-initialize DMA to complete. 2000-03-22 14:37:43 +00:00
cjs 762741c71d Fix the size of the playback buffer. Patch from Dave Sainty <dave@dtsp.co.nz>. 2000-01-18 04:48:47 +00:00
kleink 1e9bb239a3 Off-by-one error in limiting the DMAC buffer size for Audio 2 to 64K (actually
64K - 1); from Dave Sainty in PR kern/9064.
1999-12-28 19:26:26 +00:00
kleink f6655d0f7e Fix a buffer KVA comparison botch in eso_mappage(); from Dave Sainty in
PR kern/9062.
1999-12-28 01:39:38 +00:00
kleink c88b5146dc Add support code to have the Hardware Volume Control interact with the
software mixer Master Volume state in a defined way by lazily updating the
latter if input from the former was processed.
1999-12-10 19:13:00 +00:00
kleink eab9ce05b7 A PCI Revision ID of 0x02 is what ESS happens to be calling ES1946 Revision E. 1999-12-03 22:34:28 +00:00
kleink b536890c88 Add a mixer control for the Master Volume Mute knob. 1999-11-02 12:11:42 +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
leo 38cae5303b Remove htopci(). bus_space_write_4() takes care of necessary endian conversions. 1999-10-28 13:49:19 +00:00
cgd c3703ecfdd don't print using string pointer one off the end of the eso_rev2model
array.  pointed out by Kouichi Hashikawa in PR#8601.
1999-10-10 18:52:03 +00:00
kleink bb54953b63 Since the Audio 1 DMA controller implements the 24 low address bits only,
add the gross hack originally implemented by Charles Hannum in the SonicVibes
driver to force allocation of DMA memory for that channel through the Scatter-
Gather Map to get an address range that fits in.

The eso driver now works on Alphas except for DWLPX-based systems, whose owners
are not likely to desire audio or likely can afford slightly less cheap audio
hardware.  :-)
1999-09-28 13:57:45 +00:00
kleink cef2689773 Oops, we do have to check ourselves whether a given value is valid within an
enumeration.
1999-09-23 11:46:12 +00:00
kleink 9c10799ac4 Use the approximated sampling rate to compute the filter rate. 1999-09-02 17:26:15 +00:00
kleink 48f055e09b Add missing MPU interrupt glue. 1999-08-14 22:42:16 +00:00
kleink 7b34e008a9 Forgot to initialize a pointer; from Simon Burge. 1999-08-14 15:05:02 +00:00
augustss 42fb510148 Move the mpu device declaration to conf/files.
Let the mpu device attach at the sb device, and then midi at the mpu.
Update the mpu at eso attachment.
1999-08-02 17:37:41 +00:00
augustss cbf1f6f1b9 Move the MPU driver isa/ to ic/.
(I didn't move it in the repository because the revision history
is very short and uninteresting. :)
1999-08-01 18:05:39 +00:00
kleink cf917747a1 Add a driver for the ESS Technology Solo-1 PCI AudioDrive line of chips. 1999-07-12 15:13:30 +00:00