Commit Graph

1642 Commits

Author SHA1 Message Date
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
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
mycroft 254afcaecb Sleeping forever kinda sucks. 1998-08-08 21:37:00 +00:00
mycroft 17932f0575 Set the correct modes for the record channel. 1998-08-08 20:55:36 +00:00
thorpej 558733ffc6 Track our carrier status and report it in the media status callback. 1998-08-07 05:55:14 +00:00
matt 7b044dea51 Make the irq checking logic somewhat less bogus. 1998-08-07 00:51:06 +00:00
augustss 48bae9ee88 Add MIDI support. The MIDI devices can be accessed as ``raw'' through
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).
1998-08-07 00:00:55 +00:00
augustss 0c6791d804 Add macro to test iobase validity. 1998-08-05 16:40:22 +00:00
augustss f76fb48283 Use looping DMA for play channel.
More cleanup.
1998-08-04 13:14:42 +00:00
augustss ce69d417a2 Make it compile without DIAGNOSTIC 1998-07-31 23:54:09 +00:00
augustss 6b407a79c6 Major cleanup of the ESS driver. It now sorta works. More to come. 1998-07-31 15:17:17 +00:00
thorpej 75db93cec2 Pull in files.isapnp here; the two busses are linked together quite closely
(more than we'd like maybe, but don't we wish ISA didn't suck...)
1998-07-31 04:40:39 +00:00
rvb 11c3d96b49 Flush spurious #endif after ADDMULTI 1998-07-31 01:10:13 +00:00
thorpej bf52ef5697 Squash unused variable. 1998-07-30 22:17:34 +00:00
is ae2fb64e3a Document supported boards near the top of the driver source code. 1998-07-30 21:28:15 +00:00
christos b7a585b61d Use the previously committed pnp hook. 1998-07-30 18:03:34 +00:00
is 8bd9c69e11 Multicast support. 1998-07-30 16:40:19 +00:00
augustss cdeb158d5f A first stab at making the SHARK sound work. It doesn't really work
yet, but it probes and makes a noise when used.  Stay tuned!
1998-07-30 14:11:42 +00:00
augustss d6a8a4f025 Don't print chip name in attach, the ad1848 attach already does. 1998-07-29 11:39:25 +00:00
augustss 20f454ae1c KNFify. 1998-07-28 20:58:39 +00:00
is a374ab61d8 ic/i82595reg.h 1998-07-28 16:02:34 +00:00
is 4fb93c48ec Remove dead code. 1998-07-28 14:44:46 +00:00
augustss daed8d7ce1 Fix obsolete code in waiting for calibration on the ad1848.
(Sigh, the ad1848 driver should be rewritten.)
1998-07-28 12:13:34 +00:00
thorpej e3eed5f706 Fix cfattach naming botch. 1998-07-27 18:27:36 +00:00
thorpej 0f7ec45c46 Add CS8900 Ethernet driver, and ISA front-end. 1998-07-27 01:22:41 +00:00
thorpej e9128957a6 ISA front-end for CS8900 driver. 1998-07-27 01:20:43 +00:00
thorpej f68dfbe928 Sigh, make this work with the i386 bus_space functions (which have debugging
glue in them, and thus subtle syntax quirks).
1998-07-27 01:20:19 +00:00
thorpej 2d588abad8 Split up the Shark CS8900 driver into front-ends and core back-end (which
is here, since the chip can only live on an ISA bus; only the autoconfig
glue is different).
1998-07-27 01:08:51 +00:00
thorpej 930937fd49 Define the CS8900 memory size, and macros to test for valid memory
base and IRQ.
1998-07-25 00:41:47 +00:00
drochner 658e297dd6 Initialize the new "dispoffset" (but don't use it for anything fancy). 1998-07-24 16:22:51 +00:00
sommerfe 8ba3494f9a Deal with new pool code's changed API by rewriting this to not use pools.
Instead, use a manually maintained freelist in a second tailq.
Uses less data space, looks more symmetrical.
1998-07-24 03:29:29 +00:00
thorpej 8d611b5f32 Remember the product ID and revision. 1998-07-23 19:25:52 +00:00
thorpej d2bc077edb G/c a now unsed config flag. 1998-07-23 19:03:11 +00:00
drochner c4c3297772 update comment ("John F. Woods" <jfw@funhouse.com>, PR kern/5798) 1998-07-23 16:39:24 +00:00
thorpej 02ad0b4eda Add support for ifmedia. 1998-07-21 22:58:31 +00:00
thorpej d3882c1b56 Define autonegotiation bits. 1998-07-21 22:27:33 +00:00
thorpej 3db796d287 Define a couple more of the PacketPage registers. 1998-07-21 22:04:13 +00:00
thorpej 88a0132aec Correct the name of the CS8920M id, and fix some whitespace lossage. 1998-07-21 19:54:19 +00:00
drochner 49bb9d8214 adapt to LANCE driver split 1998-07-21 17:36:01 +00:00
mycroft 3780fa036e Add RCS IDs. 1998-07-21 07:48:36 +00:00
thorpej 0611893e60 Move the cs8900 driver's softc, etc. definitions to an MI location. 1998-07-21 01:04:01 +00:00
thorpej 0987caaee6 G/c unused definition. 1998-07-21 00:39:21 +00:00
thorpej a083bc2950 Split the CS8900 register description from the SHARK-specific header file,
and place it here.
1998-07-21 00:07:33 +00:00
mycroft 3158aca613 Fix the name of the ulinear_be mode. 1998-07-09 02:26:55 +00:00
thorpej 1b5fbe0b89 DRQ 4 is used to chain the two 8237s together. Make sure it's always
cascaded and that it will be unmasked when DMA is thawed after being
frozen.  (This also has the effect of making sure that no device ever
erroneously gets DRQ 4.)
1998-07-08 05:23:23 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
mycroft b4d0730191 Cosmetic change. 1998-07-02 14:39:51 +00:00
mycroft 85cca39e28 Add a monitor mute. 1998-06-30 16:54:52 +00:00
mycroft 792ea056b9 Nuke unused variable. 1998-06-30 08:27:39 +00:00
mycroft fae3bf0887 Add a monitor mute. The mixer here really needs more work for the
Crystal chips.
1998-06-30 08:24:56 +00:00
mycroft 3858cce05c Recognize the CS4236B (although we don't yet use any of the extensions). 1998-06-30 07:45:22 +00:00
thorpej ad9b5bf5f0 Interrupt share type is EDGE. 1998-06-29 22:42:09 +00:00
thorpej 3be1ffe6a0 When hooking up the interrupt handler, use an interrupt share type
specified by the front-end.
1998-06-29 22:40:56 +00:00
augustss 080dc567e8 A first stab at an ESS1887 driver. The code is from the SHARK port
and needs a lot of polishing.  The code compiles (on i386), but is
untested.  See ess.c for a TODO list.
1998-06-29 20:56:21 +00:00
thorpej ad3073beaf Add an additional ISA DMA mode: LOOPDEMAND. This is for devices, such
as the Shark's CS8900 Ethernet, which want to use the DMA controller in
this mode (as opposed to single mode).

[Editor's note: committed from a Shark using a new bus_dma back-end
 and a CS8900 driver converted to use the MI code :-]
1998-06-28 06:59:35 +00:00
drochner 91d0d98450 adapt to wsdisplay interface change 1998-06-26 21:07:03 +00:00
thorpej e997d4ac60 When writing packets to transmit buffers, do unaligned buffer fixups,
more-or-less lifted from the Shark CS8900 driver.
1998-06-25 19:21:03 +00:00
thorpej ab5b45577b Don't panic if a DRQ is already allocated. Instead, just return EAGAIN
to indicate that the resource is unavailable.
1998-06-25 19:18:05 +00:00
jonathan 0e1a83adc3 * Add defopt MCD_PROMISC for more conservative probes.
Before, the probe routine (mcd_find() would succeed even if the probe
  code thought it had a response,  but didn't recognize the ID-code byte.
  Now, only do the promiscuous match if  MCD_PROMISC is configured.
1998-06-23 03:26:18 +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
drochner 6c7fabb232 adapt to wscons interface change 1998-06-21 09:51:59 +00:00
augustss 1f8eca312d Remove a bunch of totally unnecessary #include <machine/pio.h>
left over from the olden days.
1998-06-17 08:17:25 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
drochner 08f2cdd7c4 clean up vga_isa_match() - always return "2" on success to make the
driver win over "pcdisplay"
1998-06-12 18:45:48 +00:00
leo d30382ffb4 Don't call isa_dmainit() when NISADMA == 0. 1998-06-11 08:29:33 +00:00
thorpej 5bc2217a49 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-09 07:24:55 +00:00
thorpej 680a3d77f4 Add isa_dma{freeze,thaw}(), used to temporarily stop and then restart
all ISA DMA.  Needed by e.g. the SmartCard reader for Sharks.
1998-06-09 01:04:17 +00:00
thorpej 5f97398507 Adjust for changes to the ISA DMA API. 1998-06-09 00:05:44 +00:00
thorpej ff76b8e96b Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device.  The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:00:21 +00:00
pk 914f235803 Fix the obvious bogons reported in PR#5552.
The problem in the memory size probe is still pending.
1998-06-08 12:19:46 +00:00
sommerfe 2b00a47b9e Add ISAPnP attachment for PCMCIA bus controller; reorganize ISA
attachment to let it share code with PnP attachment.
1998-06-07 18:28:31 +00:00
augustss 68e0540ee9 Add an Aria sound driver.
From "R. C. Dowdeswell" <elric@imrryr.org>.
1998-06-06 10:12:34 +00:00
drochner 196bb746eb Add a graphics device driver for wscons which supports legacy PC display
adapters. (minimal functionality - no virtual screens, no colors)
1998-05-28 16:51:50 +00:00
drochner b84dbbb37c Put definitions and subroutines needed for all PC display adapters
(MGA/GCA and compatibles) into global headers / source files.
Let the VGA driver use them.
1998-05-28 16:48:40 +00:00
leo 7b4e205670 Use stream methods (when available) to read/write the card memory. 1998-05-25 10:36:51 +00:00
matt 18319c0048 Changes so that these compile on NetBSD/alpha as well as NetBSD/i386. 1998-05-23 18:32:29 +00:00
augustss aa04459121 KNF. 1998-05-21 19:17:50 +00:00
augustss 0b9ec50365 Add a newline.
KNF.
1998-05-21 19:09:28 +00:00
augustss 74545baf39 Add a Yamaha OPL3-SA3 driver and clean up all AD1848 drivers.
Submitted by Constantine Sapuntzakis <csapuntz@reeducation-labor.lcs.mit.edu>
and originally written for OpenBSD.
1998-05-20 16:19:41 +00:00