mycroft
9e4bd01bff
Make sure we clean up any DMA maps if the open fails.
1999-03-22 14:38:02 +00:00
mycroft
f887d74c45
Nuke sc_iooffs from orbit. This is exactly what bus_space_subregion() is for.
1999-03-22 14:29:14 +00:00
mycroft
97de30ff26
Several things:
...
* Rearrange the speed mapping table and adjust the code so that the highest
rate can actually be used. Previously we ended up rounding up slightly
lower speeds and then losing because set_params couldn't set the mode
back to the current one.
* Allow 260 as a valid I/O address, since the SB1 can be jumpered to this.
* Change the MPU-401 code so it can be attached as a separate device.
(XXX Really, the SB code ought to just attach a subdevice itself.)
* Do not attach an OPL on the SB1. Writing to the OPL registers at
SB_base+0 on this card wedges my machine.
(XXX Should we access it at 388 instead? The Creative web site claims
that this board *does* have an OPL2, but I haven't played with this
extensively.)
* Allocate the SB DMA channels at open time, rather than attach time, so
that a single DRQ can be used for multiple cards (if only one is in use
at a given time).
(XXX Let me tell you why this is a horrible hack. If the ISA DMA code
tries to allocate a bounce buffer after boot time, it will generally fail,
because there is no contiguous memory below 16MB and the code to allocate
contiguous pages doesn't know how to move things around. Now, we
shouldn't ever be using bounce buffers here, because we use
isa_dmamem_alloc(). So we just turn off BUS_DMA_ALLOCNOW and we don't
actually try to. That's cool, and it even works, but isa_dmamem_alloc()
has the same problem. It just happens that we allocate the ring buffers
at boot time, and whenever we reallocate them (due to the buffer size
changing), we just deallocated the previous (contiguous) buffer, so we get
lucky. This is absolutely disgusting and needs to be fixed.)
1999-03-22 07:37:35 +00:00
mycroft
1337db796b
Adjust the probe routine to work on chips where the mic preamp bit is shared
...
between register I0 and I1.
1999-03-22 07:27:46 +00:00
mycroft
ee5f90d04c
If bus_dmamap_create() fails, free the DMA channel.
1999-03-22 07:06:09 +00:00
mycroft
5b00b99bef
Allow DRQ[A-C] to be used on the 1888 as well.
1999-03-19 12:40:21 +00:00
cgd
fa26744c04
don't need isa_machdep.h, since isavar.h is included
1999-03-19 05:42:00 +00:00
cgd
d324c9f2f6
pull isa_machdep.h in from machine/ instead of from $(MACHINE)/isa/
1999-03-19 05:13:16 +00:00
mycroft
b45b384ea1
Also fix ia_iosize.
1999-03-18 20:57:11 +00:00
mycroft
5a20d4df8d
Some fixes to the IRQ/DRQ configuration, and the probe output.
1999-03-18 20:55:50 +00:00
mycroft
813fb95309
The chip is only rated for 44.1KHz, and will not record faster that 46.794KHz,
...
so adjust ESS_MAXRATE. ESS_MINRATE was also wrong, not that anyone cares.
1999-03-18 07:11:21 +00:00
mycroft
b6ee330d4e
dmapos should start at 0, in theory.
...
Also experimentally force polling mode.
1999-03-18 06:04:21 +00:00
mycroft
81d2718d5b
Add support for polling.
1999-03-18 06:03:31 +00:00
mycroft
039246b8d5
Add support for polling.
1999-03-18 04:31:36 +00:00
mycroft
ff4754d6e5
Confirm that there was an interrupt before handling it. Allows IRQs to be
...
shared with other devices.
1999-03-18 02:44:27 +00:00
mycroft
8ace2247cb
Fix a couple of other places we should avoid the Audio2 DRQ on the 1788.
1999-03-17 02:39:59 +00:00
mycroft
81a1ade358
More redux:
...
* Use a single routine to halt both input and output on Audio1.
* Reduce the number of register reads/writes used to set up a channel.
* A few other minor things.
1999-03-17 01:06:17 +00:00
mycroft
84f100d175
Audio1 does not support 16-bit DMA. Eliminate some code that tried to handle
...
that case.
1999-03-16 14:17:00 +00:00
mycroft
13d43eb62b
Fix old typo.
1999-03-16 13:37:23 +00:00
mycroft
e085a0c921
A little more cleanup.
1999-03-16 13:32:25 +00:00
mycroft
28e080a143
Minor fix to some debugging output.
1999-03-16 13:24:27 +00:00
mycroft
9e041fd850
Adjustments for structure name changes.
1999-03-16 13:07:45 +00:00
mycroft
3e404912dc
Clean up the previous:
...
* Separate the interrupt handlers based on which channel (audio1/audio2)
rather than which direction (input/output). Only register the handler for
audio1 on the 1788.
* Since the input sides are actually the same, GC the duplicated code.
* Re-KNF in a bunch of places.
* Make this work again on the 1887 in the Shark.
1999-03-16 13:06:35 +00:00
thomas
3387d026d6
Include machine/bswap.h, needed on big endian machines.
1999-03-15 20:19:57 +00:00
drochner
1b9cb332aa
Don't try to selftest the keyboard port. PC keyboard controllers have
...
shown up which break in 3 different ways, so the test is becoming
pointless.
1999-03-05 10:40:54 +00:00
nathanw
bd7b26e37d
Add ISA attachment for ess chips.
1999-03-02 20:42:10 +00:00
nathanw
64fffdfef9
Add support for the 1788 AudioDrive chip.
...
Some minor cleanup; refer to more registers by macros rather
than raw hex constants.
1999-03-02 20:36:50 +00:00
explorer
3ebb419571
Update to slightly altered rnd_attach_source() api
1999-02-28 17:08:05 +00:00
drochner
0d46b0d0fd
Make "1" an acceptable result in port tests.
...
This is a workaround for crappy hardware, normal keyboard controllers
return a "0".
Should fix PR port-i386/6636 by Krister Walfridsson and problems
reported by chopps and fvdl.
1999-02-28 14:26:38 +00:00
nathanw
281bba9355
Update for minor changes in the ad1848 back end.
1999-02-23 21:16:27 +00:00
mycroft
71eb5693e6
Use DMAMODE_DEMAND.
1999-02-22 03:24:33 +00:00
mycroft
10817df7f0
Oops; remove obsolete code.
1999-02-22 02:33:48 +00:00
mycroft
bd575a4ff6
Add support for demand mode with auto-init.
1999-02-22 02:32:43 +00:00
mycroft
529c6c50aa
Use DMAMODE_LOOPDEMAND. Tested on a CS4231 in a WSS clone.
1999-02-22 02:25:20 +00:00
mycroft
7da867ec93
Use DMAMODE_LOOPDEMAND. Tested on a ViBRA16.
1999-02-22 02:16:40 +00:00
mycroft
ea50d6f672
Use DMAMODE_LOOPDEMAND.
...
Fixes the audible glitches (due to FIFO underruns) when receiving network
packets on the Shark.
1999-02-22 01:57:33 +00:00
mycroft
b81ad0de61
Fix the halt_input and halt_output routines to actually disable the channel,
...
not just the DMA FIFO. Fixes problems with sample misalignment.
1999-02-20 23:28:37 +00:00
mycroft
1790450d8c
Fix structure names.
1999-02-19 16:59:36 +00:00
mycroft
4449a6ef39
Kill vestiges of isa_establish().
1999-02-19 16:15:06 +00:00
mycroft
4822d3d0b0
Move IRQ setup into frontend. Need to move DRQ handling as well.
1999-02-19 16:10:44 +00:00
mycroft
28bc4dfeca
Oops; PCIC_INTR_ENABLE does something *very* different.
1999-02-19 03:14:00 +00:00
mycroft
f2c4e7f8bd
Use the correct interrupt sharing type, and set PCIC_INTR_ENABLE(!).
1999-02-18 23:41:40 +00:00
mycroft
18e341a954
Add separate halt_input and halt_output methods in ad1848_isa, which disable
...
the DMA channel.
1999-02-18 17:27:39 +00:00
mycroft
9907eda026
spaces -> tabs
1999-02-18 16:09:01 +00:00
mycroft
81bc49921a
Remove some superfluous softc elements.
1999-02-18 15:47:29 +00:00
mycroft
5e2fc07a14
Add separate halt_output and halt_input routines.
1999-02-18 07:08:35 +00:00
mycroft
27963c294a
Use the trigger interface, and clean up a pile of cruft.
1999-02-17 23:05:28 +00:00
mycroft
71105fbda7
Update comments.
1999-02-17 21:44:55 +00:00
mycroft
7741cae143
Fix slight ommission in previous.
1999-02-17 02:43:13 +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
mycroft
88ad3aa42b
If we have an 8-bit DRQ, always pass that to isa_malloc().
1999-02-17 01:22:47 +00:00
is
2c7fa23c38
Fix Copyright dates
1999-02-16 23:34:10 +00:00
is
dc068e0d1f
Assign my files to The NetBSD Foundation, Inc.
1999-02-16 22:46:55 +00:00
hubertf
56f2d188fc
RCS ID police
1999-02-15 04:54:34 +00:00
bouyer
f6f9f8a965
Change DIOCEJECT to do what's needed to eject a device before the eject
...
command (unlock for sd and cd) if no other partitions are open, return
EBUSY otherwise. DIOCEJECT will have the old semantic if its argument is not
0. The old ioctl has been renamed to ODIOCEJECT for binary compatibility.
1999-02-08 16:33:16 +00:00
drochner
1eba733d91
remove dummy "load_font" entries
1999-01-11 21:35:54 +00:00
augustss
5c5590465e
Avoid `void *' arithmetic. Fixes PR 6783.
1999-01-10 21:57:19 +00:00
augustss
0d32a9a78b
Fix more `void *' arithmetic.
1999-01-08 19:22:34 +00:00
augustss
332d7c138f
Avoid arithmetic on `void *' since that's not ANSI C.
1999-01-08 18:10:35 +00:00
christos
bbe8b4dde5
Add Byte Runner Technologies TC-400 and TC-800 driver from Eric S. Hvozda
1998-12-16 11:33:50 +00:00
drochner
2e89d55ed4
Deal with an unusual response on port selftest commands. This makes at
...
least John Kohl's crappy Dell box work.
1998-12-14 13:54:25 +00:00
mycroft
95aa0d0b7d
Simplify the copy loops a bit.
1998-12-12 16:58:10 +00:00
thorpej
7a9cc5bfbc
Update for changed scsipi_xfer struct.
1998-12-09 08:37:50 +00:00
augustss
1b499d8ce6
Make the OPL information string more informative.
1998-12-08 14:26:56 +00:00
mjacob
74bc9f26d5
Update HBAs to incorporate the new max_lun property.
1998-12-05 19:43:33 +00:00
dbj
8f7f8d557d
made prototype for debug function wss_dump_regs match its definition.
1998-12-05 10:49:24 +00:00
bouyer
47ab212504
Rename pio_mode, etc ... to PIO_cap, etc ... for consistency with the
...
ata_drive_datas struct. Suggested by Soren S. Jorvan.
1998-12-03 18:24:30 +00:00
leo
7c72f9361b
Change comment about isa_intr_establish() as discussed on tech-kern.
1998-11-30 12:57:10 +00:00
hannken
246a68a003
Add support for `AdLib NSC 16 PNP' as wss, joy.
...
Record source selection needs work.
1998-11-26 21:45:13 +00:00
augustss
9726cfd1fb
Make the copyright header conform to the NetBSD template.
1998-11-25 22:17:06 +00:00
mycroft
3357fbeefb
Minor format change.
1998-11-25 13:39:37 +00:00
pk
0800aaa223
Move the `wdc' device into `conf/files'.
1998-11-22 21:57:47 +00:00
drochner
3e38051bc5
in wdc_softc: access the per-channel data via a pointer array instead of
...
an array of fixed-sized channel_softc elements. This way IDE controllers
which more than 1 channel (pciide) can extend the channel data easily
for private needs.
To avoid the double dereference at runtime, change the argument of
wdcstart() to the channel data pointer instead of the array index.
1998-11-21 15:41:41 +00:00
thorpej
3b068a6c78
Adapt to the new scsipi_adapter interface.
1998-11-19 21:53:32 +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
fade033791
Print out which IRQ is being used for which slot, when the interrupts
...
are established.
1998-11-16 22:35:18 +00:00
mycroft
5ab6a8555e
Fix one last bug in the multicast filter calculation.
...
sdr and vic work now, at least.
1998-11-13 09:37:46 +00:00
mycroft
b8974fbf40
Fix yet another bogon in the multicast filter calculation.
1998-11-12 13:03:51 +00:00
fvdl
7b10c3e7e4
Add the 'ex' driver, a DMA driver for 3Com 90x and 90xB cards. Rename
...
constants from EP_ to ELINK_ since they're now used in the ex driver as well.
1998-11-04 00:29:28 +00:00
christos
1cfb41e0d6
make this compile again (missing semi-colon)
1998-11-01 01:04:48 +00:00
thorpej
d08eb2a32b
Add code to detect a RealTek 8019 chip, and use the media selection
...
support if present.
1998-10-31 01:44:16 +00:00
thorpej
56066ad5fb
Add media list, media list count, and default media arguments to
...
ne2000_attach().
1998-10-28 00:13:47 +00:00
thorpej
925077cfb9
Holy smokes, batman! Actually fill in the "init_card" entry point!
1998-10-27 22:45:13 +00:00
scottr
ffe41a4f8f
Remove unused sc_iot/sc_ioh fields.
1998-10-25 23:48:56 +00:00
scottr
d4e6677111
Replace architecture-dependent tag/handle field names with
...
architecture-independent versions.
1998-10-25 23:48:29 +00:00
christos
6e73d89afc
PR/6274: John Ruschmeyer: Add isa/i386 ncr53c80 driver.
...
XXX: Needs work. We need to fix the probe/find goo, and add support for the
pas16 cards.
1998-10-25 18:41:56 +00:00
mycroft
ee042cb008
Disable the I/O address, DRQ and IRQ validation; assume that the config file
...
is sane.
1998-10-15 04:05:53 +00:00
bouyer
19fddaeeb5
Merge bouyer-ide
1998-10-12 16:09:10 +00:00
augustss
44d4d6a60a
Call correct ad1848 attach routine. Fixes PR 6269.
1998-10-11 17:02:36 +00:00
thorpej
29d472f53d
Garbage-collect the open_target_lu and close_target_lu entry points from
...
struct scsipi_adapter; they were not used.
Add a scsipi_ioctl entry point to struct scsipi_adapter. This will be
used to issue ioctl commands to the host adapters.
Inspired by PR #6090 , from Matt Jacob.
1998-10-10 00:28:28 +00:00
enami
bd7db8ba8a
Enable early probe stage printf's not by DIAGNOSTIC but more driver
...
specific macro constants.
1998-10-07 04:58:06 +00:00
enami
b03b63aef4
Make these files compile again; no longer necessary to pass
...
iobase to comprobe1.
1998-09-18 14:38:48 +00:00
is
95807e512a
Garbage collect unused 3rd parameter to comprobe1().
1998-09-16 21:30:58 +00:00
jonathan
ea4898c76c
Add arc as a target platform.
1998-09-11 19:39:28 +00:00
thorpej
4f9a0d0550
Add mmap support for gus and gusmax, PR #5988 , Feico Dillema.
1998-09-09 04:40:34 +00:00
jtk
1247373b7a
Correct the remaining uses of ad1848_softc to ad1848_isa_softc
1998-09-06 13:03:49 +00:00
pk
06f777a3fe
Debug output updates (Ezra Story; PR#6108).
1998-09-06 11:06:52 +00:00
pk
7991c56b93
Use `ad1848_isa_{open|close}' (Ezra Story; PR#6108).
1998-09-06 11:05:21 +00:00
pk
fc5e533cc2
Relinquish my copyright claim on this file.
1998-09-05 17:23:09 +00:00
christos
c7a4282124
Assign copyright to TNF.
1998-09-05 14:12:36 +00:00
jtk
92707994ef
use ad1848_isa_attach, so GUS cards with CS4231 don't panic the kernel
1998-09-01 18:48:38 +00:00
cgd
d58173741d
kill the last remnants of __BROKEN_INDIRECT_CONFIG. (only the pica port
...
used it, and it's non-working and apparently slated for replacement.)
1998-08-31 22:28:04 +00:00
jtk
61cf67759a
make AUDIO_DEBUG work again
1998-08-29 22:49:48 +00:00
augustss
7972a062b0
Make the OPL driver attach directly to ISA as well.
1998-08-26 13:33:59 +00:00
augustss
8d64ea1683
Less debug printing.
1998-08-26 13:08:44 +00:00
augustss
bb3c56652c
Make the OPL driver turn on the sound on sound cards that require it.
...
That makes it much more likely that we get any sound. DUH!
1998-08-26 12:10:22 +00:00
pk
2ffb54bdcc
Split the AD1848 driver into MI (dev/ic/ad1848.c) and ISA parts.
1998-08-25 22:34:29 +00:00
augustss
a48f7d8a24
Attach the OPL FM synth to the ESS driver.
...
It probes, but alas, no sound.
1998-08-25 12:52:47 +00:00
augustss
c7e036f6e2
Let opl attach to ess.
...
WARNING: it doesn't work yet.
1998-08-22 22:55:09 +00:00
augustss
915f1fe566
Add missing __P
1998-08-20 10:46:10 +00:00
augustss
0e6f209f9d
Add forgotten OPL file.
1998-08-18 17:56:39 +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
d07b3639a4
Assign my copyrights to TNF.
1998-08-15 17:47:15 +00:00
mycroft
62b1bf3e2e
Assign my copyrights to TNF.
1998-08-15 10:51:16 +00:00
mycroft
6dc903202f
Assign my copyrights to TNF.
1998-08-15 10:10:47 +00:00
mycroft
129cbf95ee
Minor edit.
1998-08-15 05:16:41 +00:00
mycroft
b2827b9d36
Assign copyright to TNF.
1998-08-15 04:16:55 +00:00
mycroft
df9baf2311
Assign copyrights to TNF.
1998-08-15 03:51:30 +00:00
mycroft
6d3d8a1350
Make copyright notices with my name consistent.
1998-08-15 03:02:31 +00:00
mycroft
183442fe73
Emulate ulinear_be using slinear_be on later chips.
1998-08-14 00:49:23 +00:00
kim
f750a7d47e
device ess was listed twice
1998-08-13 04:53:18 +00:00
eeh
a2dd74ed79
Merge paddr_t changes into the main branch.
1998-08-13 02:10:37 +00:00
augustss
58e0098fef
Shut up after close().
1998-08-12 21:36:21 +00:00
mycroft
5c76b6a944
The mic preamp is really a property of the input stage, and affects both
...
pass-through and recording.
1998-08-12 19:13:14 +00:00
thorpej
b170caf730
Completely rewrite media selection. Add support for the MII/PHY on
...
the 3Com 3c905-TX and 3c905-T4. Fix handling of the MII on the
3c595-MII and 3c597-MII (can't talk to the PHYs on these cards; just
use "manual" for the external MII port).
Fixes kern/4782 (Chris Demetriou).
1998-08-12 18:51:52 +00:00
augustss
fa39959a5e
Add a MIDI driver for the PC speaker. This is mostly of hack value,
...
but, hey, lotsa people got a MIDI device now! (A truly pitiful one. :-)
1998-08-12 18:16:36 +00:00
augustss
881b4053a6
Remove some white space.
1998-08-12 18:15:04 +00:00
mycroft
3979b06d00
enhanced -> preamp
1998-08-12 03:18:34 +00:00
matthias
1f5c14d8ef
ess_audio_channel:active is now used even when DIAGNOSTICS is not defined.
1998-08-11 12:16:22 +00:00
mycroft
a6e73a5576
Actually set all the logical filter bits. Doh!
1998-08-11 05:57:40 +00:00
mycroft
271d3df6f3
Fix an obvious bug that caused the multicast filter to always be all 0s.
1998-08-11 04:18:25 +00:00
matt
8ba8e2056b
Remove unused field (sc_ih) in ess_softc (interrupt handlers are kept
...
in a per-direction structure).
1998-08-10 20:24:26 +00:00
augustss
b034eb97bf
Fix typo.
1998-08-10 20:02:48 +00:00
mycroft
7fca135b1b
Use the new trigger interface.
1998-08-10 15:32:18 +00:00
mycroft
060f81eb62
Minor change.
1998-08-10 02:19:18 +00:00
mycroft
93703857ca
Slow down, Wilbur.
1998-08-10 02:13:44 +00:00
mycroft
7514d511f7
Fix a typo I introduced in the MIDI code.
1998-08-10 02:12:30 +00:00
mycroft
8d77cae1b4
For models prior to the SB16, there is only one clock divider, so couple the
...
sample rates. However, only do this if both play and record are being used
simultaneously; otherwise we can't play 22KHz on the SB1.
1998-08-10 01:25:33 +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
mycroft
b4e0bf5dfb
Use 4- and 8-byte DMA transfers.
1998-08-09 06:52:57 +00:00
mycroft
0611fc34f8
Don't actually touch the hardware in set_params; defer that until we actually
...
start a transfer. Instead, just check that the parameters are valid.
Also, use 16-bit output for u-law and a-law.
1998-08-09 06:38:30 +00:00
mycroft
5eba82397c
Oops; fix typo.
1998-08-09 04:59:55 +00:00
mycroft
017b9af5fe
Clarify with a specific reference to the manual page in question.
1998-08-09 04:58:08 +00:00
mycroft
12f5a41e1f
Make the previous slightly more robust, and set AUDIO_PROP_INDEPENDENT.
1998-08-09 04:40:55 +00:00
mycroft
c8532af3b2
Make sure the sample rate is the same on both channels, tracking the change
...
from one channel to the other if only one is active.
1998-08-09 04:14:47 +00:00
mycroft
759ca5ee0c
The manual says to use the other crystal for 22050Hz.
1998-08-09 03:48:42 +00:00
mycroft
565adbaffb
Set the FIFO control bits correctly so that stereo recording works.
1998-08-09 02:54:50 +00:00
mycroft
80457a2c65
Use auto-initialize DMA for recording.
1998-08-09 02:05:52 +00:00
mycroft
e2686d0a1b
Use splnet, not splimp.
1998-08-08 23:51:39 +00:00
mycroft
c49235f44c
Use splnet(), not splimp().
1998-08-08 23:44:12 +00:00