Commit Graph

1742 Commits

Author SHA1 Message Date
thorpej 4044b5a41c Use separate callouts for motor-on and motor-off. Fixes a condition
where the floppy driver would wedge because a motor-on timeout would
be cancelled by another I/O operation cancelling a motor-off timeout.

From enami tsugutomo <enami@sm.sony.co.jp>.
2000-04-07 16:58:53 +00:00
thorpej 91d6998394 Combine the Alpha, BeBox, and i386 ISA floppy drivers with a sledgehammer.
Not a perfect solution, but this is two less versions of this driver I
now have to modify.
2000-04-07 16:32:03 +00:00
itojun f564201ae9 sync with ata driver change (dma_start args). 2000-04-02 02:07:52 +00:00
augustss 169ac5b3c1 Remove register declarations. 2000-03-30 12:41:09 +00:00
simonb 9ff7681a33 Don't need to include <sys/conf.h> here. 2000-03-29 03:43:31 +00:00
mycroft 528bd4a794 Move esp declaration to conf/files. 2000-03-25 19:58:04 +00:00
tsutsui 9100212ef0 Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
2000-03-25 15:27:54 +00:00
ad b84aceb90d The bus_space stuff handles byte order conversions for us. 2000-03-25 13:38:35 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
pk 4f91a51915 Move `nca' declaration to `conf/files'. 2000-03-20 11:03:42 +00:00
tsutsui 553896782a Cosmetics. ( 0x80 -> NCRSTAT_INT ) 2000-03-20 03:49:22 +00:00
mycroft c2150bf8bf Adapt to ncr53c9x change. 2000-03-19 21:27:01 +00:00
rh 783a9476be Track name change espvar.h -> esp_isavar.h so 'make includes' works again. 2000-03-19 09:11:50 +00:00
mycroft 48e59fc985 esp -> esp_isa 2000-03-18 21:50:20 +00:00
mycroft 4a915758fd esp -> esp_isa 2000-03-18 21:49:33 +00:00
mycroft b1d2b97787 Change footprint of ncr5380_intr() to match normal interrupt handler usage. 2000-03-18 17:14:34 +00:00
mycroft 28b4015ca2 GC. 2000-03-18 16:52:20 +00:00
mycroft 0af581a1a1 Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
2000-03-18 16:13:22 +00:00
mycroft 7e9aa53f0a nca -> nca_isa 2000-03-18 13:17:03 +00:00
mycroft 5960b2aec6 Move some code around in preparation for nca_pcmcia. 2000-03-18 13:05:20 +00:00
ad 534da504b9 Cosmetic change. 2000-03-16 15:09:59 +00:00
thorpej f76ce3b475 Only poll for bell completion if we're calling in from cnbell(). Fixes
a problem reported by Lennart Augustsson.
2000-03-10 06:10:34 +00:00
groo 7e6d7b8613 use bus independent probe 2000-03-09 04:19:03 +00:00
thorpej 42144199a1 - Make the pcppi and pckbd drivers cooperate a little more -- pckbd provides
a call to hook up a bell-ringer (since the keyboard itself has no bell).
  This eliminates the need for #ifdefs for the bell-ringer in the pckbd
  driver.
- Add cnbell() support to pckbd.
2000-03-06 21:40:08 +00:00
enami d2b929f576 Fix naming think-o. 2000-02-28 05:30:19 +00:00
mycroft 9a06ea04a2 Fix the same race condition while initializing the socket. 2000-02-27 03:25:03 +00:00
mycroft 7794bfe183 Reorder the usage of intr_establish/intr_disestablish with respect to setting
the CSC_INTR register, to insure that the IRQ is not left floating and enabled
at any point.  Eliminates stray interrupts during the IRQ probe.
2000-02-27 03:08:00 +00:00
mycroft a3ae8af043 Allow a flag to be set to force polling for socket events. 2000-02-27 00:14:27 +00:00
thorpej 52169104c5 Fill in the softc's bus space tag (OOPS!). 2000-02-26 05:11:27 +00:00
mycroft 78171a3a3e I told them not to use IST_LEVEL here. Now PCMCIA works on my AS200. *sigh* 2000-02-25 20:48:22 +00:00
groo f5f2ad429c Initial import of National Semiconductor LM7[89] Hardware Monitor with isa and
pnpbios attach.

examples:

	lm0 at pnpbios0 index?
	lm0 at isa? port 0x290


TODO: spinlocks, i2c interface.
2000-02-25 02:17:43 +00:00
ad 28fc2b2ee8 Add a DPT ISA HBA frontend, tested lightly with a PM2021A/9X. There are some
issues.
2000-02-24 18:49:06 +00:00
thorpej 3f9cf7572c Don't use void * for chipset tags. Bad hacker, no biscuit. 2000-02-22 16:04:44 +00:00
thorpej 3bc7ce8d31 Cast bus_size_t to u_long for printing. 2000-02-08 18:40:51 +00:00
tron 73286f8d56 Fix printf() format string. 2000-02-08 18:31:02 +00:00
mycroft ac0db48a13 In light of the previous change, whack the clearing of CSC_INTR
again.
2000-02-08 17:53:48 +00:00
mycroft eb071839ea The final read of the CSC register does not appear to be needed any
more.
2000-02-08 17:48:39 +00:00
chopps d12c4012f1 deal with loops that we get stuck in due to unhandled interrupts. 2000-02-08 17:14:29 +00:00
mycroft 5abb516b1e Be more careful with the CSC_INTR register while probing.
Make some output more specific.
2000-02-08 16:59:52 +00:00
thorpej 52a2804a5c Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel.  Make all clients
of ISA DMA use this call to determine their maximum transfer size.
2000-02-07 22:07:27 +00:00
thorpej fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
chopps 70e711cd60 only enable interrupts from the controller if the socket is enabled 2000-02-04 08:42:47 +00:00
chopps 9ff702157c doh, remove debugging leftover (forcing irq 15 to always be avail). 2000-02-04 05:30:55 +00:00
enami 0bff6e573a Cosmetic change; use IRQUNK instead of -1 always. 2000-02-03 23:03:11 +00:00
enami 586595e6d4 Make irq probing controled by patchable variable and disable on hpcmips
by default.  It doesn't work on hpcmips.
2000-02-02 14:44:09 +00:00
chopps 4483fc0f5f restore irq 10 to pcic_isa_intr_alloc_mask 2000-02-01 22:56:17 +00:00
chopps d8e72e215d implement probing for available irqs on non-cirrus pcmcia controllers
including cardbus controllers running in pcic mode
2000-02-01 22:39:51 +00:00
ad ea0751f1aa Finish with fixing the SOFTCURSOR stuff. 2000-01-25 02:44:03 +00:00
thorpej dc59bc1db3 Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:39:55 +00:00
thorpej 0835b779d1 Simplify sbdsp_pause(). 2000-01-20 19:27:03 +00:00
mycroft 01c66d1c23 Mute the DAC -- not the master volume -- on close, so that CD passthrough is
unaffected.
2000-01-18 22:11:05 +00:00
ad a0d0bf907a Use pcdisplay_cursor_init(). 2000-01-05 18:27:47 +00:00
ad e75404417a Add and use pcdisplay_cursor_init(). Still a couple of nits with this, I
will resolve when I can test properly.
2000-01-05 16:14:35 +00:00
chopps 882236e45c add if_ntwo_isa driver for the Riscom/N2 card. 2000-01-04 06:30:04 +00:00
chopps 93bc2af93e Add Riscom/N2 isa driver, most of the probe code was adapted from the
freebsd if_sr.c driver.
2000-01-04 06:29:21 +00:00
itohy 38e8851905 - Unmuting an external input source (CD playback, line input, and speaker)
now prevents power down/save the device.
  The external input sources are muted by default at initialization.
- Change "power.power.*" to "power.save.*".  Sorry, spec change....
- Shorten tsleep(9) ident string for "ps l".
1999-12-27 03:21:56 +00:00
drochner ca8e2a94ea First cut on an EGA driver. For initial testing, lacks some EGA vs CGA/MGA
identification. Can share more code with VGA later.
1999-12-13 16:28:57 +00:00
drochner 0893832078 update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
1999-12-06 19:25:56 +00:00
sommerfeld 878fa4790f Fix "make includes" since pckbc moved to dev/ic from dev/isa
(Hi, Jason!)
1999-12-04 02:16:24 +00:00
thorpej 4560ac465a Split the PC-like keyboard controller driver into chip back-end and
bus front-end.
1999-12-03 22:48:22 +00:00
thorpej d8719f61c9 Get ready for some needed flexibility; put the IRQs to use for each slot
in the softc.
1999-12-03 19:02:49 +00:00
mcr 4429aebc03 added support for BOCA 6port ISA adapter. 3x16552 with an
interrupt status register at yet-another-address.
	ioat0   at isa? port 0x220 irq 5 flags 1# BOCA 'ioat66' 6-port cards
	com*    at ioat? slave ?
1999-11-15 21:13:38 +00:00
augustss 3fc5780b19 Allow irq 15 since some clones use it. 1999-11-02 23:35:02 +00:00
augustss 35483ee3bf Set mixer controls after a reset. 1999-11-02 17:05:05 +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
matt b2db663942 fix entry for lemac on isa. add entry for wavelan on isa 1999-10-29 21:38:04 +00:00
drochner b4fc704a74 avoid cast 1999-10-25 19:39:54 +00:00
haya 4eee111127 This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
  o Conform to the KNF more strictly.
  o Be unified with pcmcia code as much as possible.
  o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

	sys/arch/i386/conf/files.i386
	sys/arch/macppc/conf/files.macppc
	sys/conf/files
	sys/dev/ic/elinkxl.c
	sys/dev/ic/elinkxlvar.h
	sys/dev/ic/i82365.c
	sys/dev/ic/i82365var.h
	sys/dev/isa/i82365_isasubr.c
	sys/dev/pci/files.pci
	sys/dev/pcmcia/pcmcia.c
	sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

	sys/arch/i386/conf/CARDBUS
	sys/arch/i386/include/rbus_machdep.h
	sys/arch/i386/i386/rbus_machdep.c
	sys/arch/macppc/include/rbus_machdep.h
	sys/arch/macppc/macppc/rbus_machdep.c
	sys/dev/cardbus/if_ex_cardbus.c
	sys/dev/cardbus/Makefile.cardbusdevs
	sys/dev/cardbus/cardbus.c
	sys/dev/cardbus/cardbus_map.c
	sys/dev/cardbus/cardbusdevs
	sys/dev/cardbus/cardbusdevs.h
	sys/dev/cardbus/cardbusdevs_data.h
	sys/dev/cardbus/cardbusvar.h
	sys/dev/cardbus/cardslot.c
	sys/dev/cardbus/cardslotvar.h
	sys/dev/cardbus/devlist2h.awk
	sys/dev/cardbus/files.cardbus
	sys/dev/cardbus/if_fxp_cardbus.c
	sys/dev/cardbus/pccardcis.h
	sys/dev/cardbus/rbus.c
	sys/dev/cardbus/rbus.h
	sys/dev/pci/pccbb.c
	sys/dev/pci/pccbbreg.h
	sys/dev/pci/pccbbvar.h
1999-10-15 06:07:17 +00:00
mycroft 04a784cb79 Fix one more #ifdef, and now it actually compiles again. *sigh* 1999-10-10 00:14:44 +00:00
mycroft f52d37c204 Oops; this should get mpu.h, not midi.h. 1999-10-10 00:10:26 +00:00
mycroft 92ce7e96c6 NMIDI -> NMPU, to be consistent with sbdsp.c. 1999-10-10 00:08:24 +00:00
mycroft c5056ddd8c NMIDI -> NMPU, to be consistent with sbdsp.c. 1999-10-09 20:57:28 +00:00
mycroft 88a9173b10 NMIDI -> NMPU, to be consistent with sbdsp.c. 1999-10-09 20:54:36 +00:00
itohy 2b98e16426 Oops! Make it compile again. 1999-10-07 08:16:51 +00:00
itohy a44328a50e Fix power-related init code.
Change the default mixer setting to make wave and OPL3 volume even.
Mute the chip during attach not to make noise.
1999-10-07 03:28:56 +00:00
itohy 4aba617989 Add "opl at ym" and "mpu at ym" attachment.
Options for ym driver are defopt'ed.
1999-10-05 03:48:27 +00:00
itohy 871f1c2c0a New ym driver.
1. Add power control to reduce power consumption.
    The behavior can be controlled by mixerctl(1).
 2. Add suspend/resume hook to keep the parameters.
    Currently this includes CODEC and control registers but
    does not include the DMA state.  FIXME.
 3. Support "opl at ym" and "mpu at ym" attachment.
    Actually, this is required for power control.
 4. Add support for the on-chip 3D enhancement hardware.
    This includes bass/treble enhancement, wide stereo, and
    the equalization mode.  This can be controlled by mixerctl(1).
 5. Make "audioctl -w play.gain=xxx" work like as
    "mixerctl -w inputs.dac=xxx" and now it changes
    the wave output volume correctly.
 6. Support hardware master volume switches.
 7. Change formula of calculating gain so that all the levels
    should be used equally.
 8. Change "audioctl name" to "OPL3-SA3" and "audioctl version"
    to the version of the chip.
1999-10-05 03:46:08 +00:00
itohy d82343a7ec Add power control hooks.
Make the wave output mute while playback is inactive.  This significantly
reduces noises while preparing playback, especially by mpg123.
1999-10-05 03:44:31 +00:00
itohy 3b2be55d69 Add power control hooks. 1999-10-05 03:42:53 +00:00
itohy 0fed0f8872 "mpu at ym" attachment glue for making use of
Roland MPU401 compatible MIDI port on Yamaha OPL3-SA3.
1999-10-05 03:41:05 +00:00
itohy 04c1bf41b9 "opl at ym" attachment glue for making use of
OPL3 FM synthesizer on Yamaha OPL3-SA3.
1999-10-05 03:40:21 +00:00
thorpej a3ef0b7a6d Fix compilation of ISA bha front-end. PR #8528, Takahiro Kambe. 1999-10-01 18:17:12 +00:00
thorpej 63b8530b4e Update for SCSPI changes. 1999-09-30 23:04:39 +00:00
is 4efecd1291 The nca.c probe routine falsely claims i82595tx chips to itself.
Move it to after the iy driver.
1999-09-09 09:54:08 +00:00
soren a4b7a96e0e Do not complain in sbfind() if another driver has mapped the registers. 1999-09-07 00:49:41 +00:00
rh ff962e992b Add mode 3 support for newer CS423X chips. Modify probe to correctly
distinguish between CS4236, CS4236B, and CS4237B.
1999-09-06 17:07:04 +00:00
thorpej 90b9deda72 When padding short packets on transmit, don't include the CRC length
in the computation.  kern/8194.
1999-08-25 22:41:42 +00:00
augustss 19570e813c Implement opl at wss. 1999-08-14 21:19:29 +00:00
drochner 7317aa4924 make it report the correct ISA port range 1999-08-14 14:32:12 +00:00
augustss 03c29debf5 Make this file compile again. 1999-08-05 11:25:47 +00:00
augustss 84d5e946e6 Use NMPU not NMIDI around call to mpu_intr. 1999-08-04 10:50:52 +00:00
augustss c1c87dde4a Add another file I forgot in my MPU changes. 1999-08-04 10:46:34 +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
augustss 0c0dc211d4 Make an MPU attachment to ISA. Used for old Roland cards. Written
by me and gson@araneus.fi (Andreas Gustafsson).
1999-08-01 17:53:39 +00:00
augustss a6a09bcdd6 Add support for ES18[67][89]. From PR #7427 by AW9K-NNK@asahi-net.or.jp,
Nonaka Kimihiro.
1999-06-18 20:25:23 +00:00
dante 001471550c Move chip version check from advlib.c to adv_isa.c 1999-06-12 12:10:30 +00:00
dante 29c6046a31 Add adv_isa.c entry 1999-06-06 17:30:37 +00:00
dante 8c090be7cb Add support for the following AdvanSys SCSI ISA cards:
Connectivity Products:
   ABP510/5150 - Bus-Master ISA (240 CDB) (Footnote 1)
   ABP5140 - Bus-Master ISA (16 CDB) (Footnote 1) (Footnote 2)
   ABP5142 - Bus-Master ISA with floppy (16 CDB) (Footnote 3)

Single Channel Products:
   ABP542 - Bus-Master ISA with floppy (240 CDB)

Footnotes:
  1. This board has been shipped by HP with the 4020i CD-R drive.
     The board has no BIOS so it cannot control a boot device, but
     it can control any secondary SCSI device.
  2. This board has been sold by SIIG as the i540 SpeedMaster.
  3. This board has been sold by SIIG as the i542 SpeedMaster.
1999-06-06 17:28:58 +00:00
nathanw 70e38aa504 Fix bug uncovered by audio.c fix: Since the monitor control on the ESS
is a muting control, not a level control, change the name to reflect that.

XXX The fact that the audio code depends on the string names of the
XXX mixer devices is bogus.
1999-05-30 00:22:59 +00:00
bouyer ba2e85e711 32 bits I/O ocasionally fails on some hardware, so the test succeed but
the kernel can get a 'protection fault trap' later. Enable the 32 bits I/O
test conditionally on a config flag, disabled by default (problem
reported by kurt.schreiner@uni-mainz.de).
1999-05-19 14:41:25 +00:00
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
bad b7ae9f8e40 Convert some bogus panic()s into printf()s. 1999-04-30 15:29:24 +00:00
bad 8fb6c6124b From Onno van der Linden:
Reorganise the driver some what.
Rename tr_reset() to the more appropriate tr_stop().
Create a common tropic reset routine and use it in the frontends.
Move the code in tr_config() which is only used in the card attachment
routines into a new tr_attach() function.
Take adapter off the ring through tr_shutdown() in a shutdown hook.
This simplifies the bus-specific frontend.
1999-04-29 15:47:02 +00:00
jonathan 894ce34c9d Improved 509B-in-PnP mode detection (Christoph Badura, Jonathan Stone):
Verify EEPROM checksum, extract card rev-level, test capabilities
  word, then test high-order config bits to verify card is in PnP mode,
  and skip if so.
1999-04-28 01:20:01 +00:00
jonathan cc3feba3f5 Don't attach an 3bc509B as ep? at isa if the EEPROM is set to to PnP mode.
See PR# port-i386/7428
1999-04-20 22:07:37 +00:00
augustss 4084111fca Make copyrights conform. 1999-04-13 20:37:21 +00:00
bouyer 503de51fdd Fix probe code for IDE devices:
- Don't rely on ATA signature: some ide controllers seems to not transmit it
  properly (SIMIDE on arm32 machines). Instead, when we guess a drive is here
  after reset, just mark it as ATA and OLD is it's not ATAPI.
- at attach time, use IDENTIFY to eliminate ghost from the probe. If the
  drive had the old flag and IDENTIFY failed, issue a WDCC_RECAL command
  to detect a pre-ATA disk. If IDENTIFY succeded, remove the OLD flag,
  it's obviously not a pre-ATA disk.
- add a new controller flag, WDC_CAPABILITY_PREATA, used to shorcut parts
  of the probe (not necessary, but makes the probe/attach faster). This is
  only set by the ISA front-end, all other controllers supported can't have
  pre-ATA drives attached.
The mechanism used are more or less the same as before, they have just been
reordered. Should solve port-arm32/7324 (waiting for feedback).
1999-04-11 20:50:28 +00:00
bad 57ba75e2fc Correct a misleading comment copied over from the PCIC version of this file. 1999-04-08 16:14:29 +00:00
mycroft 2f91607aff Enable this is a non-entropy rnd source. 1999-03-30 21:02:41 +00:00
mycroft ca5dd9fee7 The AD1848/CS4231 attachment doesn't create DMA maps any more, so we have to
do it here.  This is preferrable anyway, since we're not actually doing DMA
through the AD/CS chip.
1999-03-30 16:40:47 +00:00
tron 777c326ff7 Make it possible to force 16 mode via "flags 4" in kernel configuration.
Patch supplied by Martin Husemann on "current-users", fixes PR kern/5673.
1999-03-28 12:51:49 +00:00
thorpej 34f3cd7ce9 Use ETHER_*_LEN constants from <net/if_ether.h> instead of defining them
ourselves.
1999-03-25 23:20:22 +00:00
augustss 0ed038285c Remove leftover definition of AUDIO_DEBUG. 1999-03-24 20:59:21 +00:00
drochner 1c99e4196a Use BUS_SPACE_ALIGNED_POINTER() instead of ALIGNED_POINTER() where the pointer
in not just used to access memory but is bassed to bus_space_xxx_n()
methods. For debugging purposes, bus_space can have additional constraints
which will be properly met by BUS_SPACE_ALIGNED_POINTER().
1999-03-23 21:41:07 +00:00
bad f44fb0d91c A backend for Databook's TCIC family of PCMCIA chips.
Thanks to Andreas Lohrum, O'Reilly Verlag, Terry Moore, and Holger Czukay
for hardware, documentation, and support.
1999-03-23 20:04:14 +00:00
bad a4e508928f Oops. RcsID police. 1999-03-22 23:01:36 +00:00
bad ce0465b40f config(8) glue for Token-Ring and TROPIC drivers. 1999-03-22 22:33:35 +00:00
bad a8e47bd29b Add TLINK_619_POLY. 1999-03-22 22:26:27 +00:00
bad 2c16793ee5 Chipset driver for TROPIC based Token-Ring cards.
Frontends for IBM and 3COM ISA cards.

By Onno van der Linden <onno@simplex.nl>.
1999-03-22 22:21:26 +00:00
mycroft 330c5ea7a2 Create DMA maps at open time. 1999-03-22 14:54:01 +00:00
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