Commit Graph

53 Commits

Author SHA1 Message Date
jdolecek 1511af3e96 Resurrect the 'sc->sc_sbdsp.sc_dev.dv_cfdata = match' in pasprobe(),
it's needed for sbdsp.c:sbdsp_probe().
2002-01-11 17:45:10 +00:00
thorpej 3835413bc1 Overhaul of the ISA autoconfiguration code to support direct
configuration of devices logically attached to the ISA bus:

* Change the isa_attach_args to have arrays of io, mem, irq, drq
  resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
  isa_attach_args.  If either of these members are non-NULL,
  direct configuration of the bus is being performed.  Add an
  ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
  direct configuration is not being performed and the probe fucntion
  is returning success.
* Adapt device drivers -- currently, all driver probe routines return
  "no match" if ISA_DIRECT_CONFIG() evaluates to true.
2002-01-07 21:46:56 +00:00
lukem 3f7d8d47b6 add RCSID 2001-11-13 08:01:09 +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
thorpej ce623a36cc bzero -> memset 2001-07-18 20:39:53 +00:00
lukem 09ba301f07 delint: () protect some macro args 2001-05-15 15:00:04 +00:00
jdolecek 520f9dc581 pasfind(): avoid silly bug - if bus_space_map() of SB I/O space failed,
we used bad label and tried to bus_space_unmap() invalid memory
	region

Fixes port-i386/9992 by Jarkko Teppo <jate@uwasa.fi>.
2000-04-28 08:51:42 +00:00
mycroft 5e2fc07a14 Add separate halt_output and halt_input routines. 1999-02-18 07:08:35 +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 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 3dcff6581b Use the new trigger_{in,out}put interface.
Also, even on the SB1, we can leave the DMA controller in auto-initalize
mode and just send a command to the board for each block.  This may help
prevent FIFO underruns.
1998-08-10 00:20:39 +00:00
augustss 41af9f2ec7 Make PAS driver work again. From "John F. Woods" <jfw@jfwhome.funhouse.com>. 1998-06-22 17:21:34 +00:00
thorpej 5bc2217a49 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-09 07:24:55 +00:00
thorpej 5f97398507 Adjust for changes to the ISA DMA API. 1998-06-09 00:05:44 +00:00
augustss dbef68a11b Update for __BROKEN_INDIRECT_CONFIG. Still untested since it is so hard
to find testers for these old cards.
1998-03-23 01:00:21 +00:00
drochner 52c701add6 Make this file compile without BROKRN_INDIRECT_CONFIG.
(Brute force - device probe always returns 0. Should be fixed soon.)
1998-03-22 12:50:20 +00:00
thorpej 06ce220790 Update for config changes. 1998-01-12 09:39:57 +00:00
augustss e7029fc0da Make the audio API (almost) SunOS compatible.
The changes is to allow some limited mixer manipulation through
the audio device (instead of the mixer device).
This rendered 4 methods in audio_hw_if unused so garbage collect these.
1997-10-19 07:41:33 +00:00
augustss 1cdcb2d362 Get rid of `register'. 1997-09-14 09:03:33 +00:00
augustss 332ad95e76 Change the MI audio driver so it attaches to the MD driver in the
normal way.  This requires adding a line to the config files to
get audio to work again.
1997-08-19 23:49:33 +00:00
augustss 658656bb99 Audio changes:
- Change the way attach and open works to allow multiple audio
	  devices.
	- Split the mulaw.c file into two to avoid dragging in mulaw
	  convertsion when they are not needed.  Add 16 bit alaw/mulaw tables.
	- Change the way audio properties are gotten.
	- Recognize more versions os SoundBlaster.
1997-07-31 22:33:08 +00:00
augustss a63034762b Audio: Remove the machine dependant code I put in audio.c by mistake.
This adds another method to audio_hw_if.  Also remove a field from
audio_hw_if that was not read-only.
1997-07-28 20:56:05 +00:00
augustss f6cd87f322 audio: Minor cleanup and enable looping DMA for PSS and PAS. 1997-07-28 01:31:50 +00:00
augustss d58bc6796f audio: Simplify handling of AUDIO_SETFD and committing of encoding mode. 1997-07-27 23:51:48 +00:00
augustss 9745684ebe Changes to the sudio system:
- It is now possible to handle devices that want "looping" DMA,
    e.g. the SoundBlaster correctly.  The WSS and SB drivers use this.
    To do this several new methods were introduced in audio_hw_if.
  - Different silence handling (forced by previous change).
  - The audio driver can now be mmap()-ed, but due to problems in
    the VM system only for writing for now.
  - The OSS (Linux) audio emulation takes advantage of some of the
    new features.
1997-07-27 01:16:32 +00:00
augustss 36ff661ec7 Make PAS audio work again.
From John F. Woods, PR #3859.
1997-07-25 01:42:20 +00:00
thorpej 11e78a6b0d Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:43:45 +00:00
augustss e63a553175 Change the interface between high and lowlevel audio drivers again:
Set the encoding parameters slightly differently.
Remove the SW encoding/decodinf functions from this interface
and move them to the audio_parameter struct; this is both more efficient
and flexible.
1997-05-09 22:16:27 +00:00
augustss 526ef2f618 Change the interface between the high and low level audio drivers
so that all audio encoding parameters are set at once.  This simplifies
the interface and make error checking easier.
1997-04-29 21:01:33 +00:00
augustss 7dcb9bed4c Make sure the bus tag is set where we need it. 1997-04-06 00:54:22 +00:00
jtk 983d7a8c15 use new name sc_drq8 and initialize sc_drq16 (reflect changes to SB driver) 1997-03-24 05:30:28 +00:00
mycroft c1cc14fa25 Combine set_encoding and set_precision into a single set_format interface. 1997-03-20 06:48:48 +00:00
mycroft ac3b8b13b7 Don't share the silence block between devices. Make silence filling work for
more encodings, and make it device-independent.  From Lennart Augustsson, in
PR kern/3305.
1997-03-13 02:19:32 +00:00
mikel 457c188626 Use device struct from sbdsp_softc, eliminate redundant softc members.
Fixes PR kern/2237.
1996-11-12 07:39:56 +00:00
christos 86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos 58953408cb printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:04:48 +00:00
mycroft cec36bf8d5 Use intr.h. 1996-05-12 23:51:23 +00:00
christos e8a8a6298c - prototype fixes 1996-04-29 20:02:32 +00:00
cgd 51e85d07b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:27:59 +00:00
thorpej 6d9ea4cf59 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:43:52 +00:00
mycroft 546ad9e88b Add support to the ISA DMA framework for auto-initialize mode.
Add experimental SB16 code, disabled for now.
1996-03-01 04:08:13 +00:00
mycroft 19f59bf3c2 Prototype the probe and attach functions. 1996-02-16 08:18:32 +00:00
mycroft 3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
mycroft d3c61be30b Convert IRQ, DRQ, and port numbers to int. 1995-11-10 05:01:05 +00:00
brezak 693043d786 GUS audio driver from John Kohl. 1995-07-19 19:58:09 +00:00
brezak 4b4b3ee81a Cleanup 1995-07-07 02:19:48 +00:00
brezak c68110e043 Remove strings 1995-05-08 22:01:34 +00:00
cgd 982230db44 update for new locations 1995-04-17 15:48:20 +00:00
cgd 8a640328ed clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration.  more work still needs to be done,
but it's getting better...
1995-04-17 12:06:30 +00:00
mycroft ff6c206c3f Use void* rather than caddr_t in many places. 1995-03-25 00:00:53 +00:00