Commit Graph

1116 Commits

Author SHA1 Message Date
fvdl ffb3eaa5ea Add extra delay after wdcreset() call in wdcprobe. Needed by at least
one controller, where registers otherwise will still be inaccesible
(even though the busy bit has been reset), making the probe fail.
1997-12-24 02:01:00 +00:00
mycroft 187df9b86e Set the gain to 1/2 by default; 3/4 is too loud and can damage headphones and
speakers.
1997-12-02 13:17:39 +00:00
bouyer 2f8f801256 The iy driver now uses if_media (it was the last one, at last for i386, to use
the historical link? flags for media select)
XXX No pullup request for this. But if sysinst supports explicit media
XXX selection in 1.3, this should be in 1.3 as well.
1997-12-02 09:34:03 +00:00
christos 4e3168d176 Make this work again. KNF. 1997-11-30 20:03:15 +00:00
drochner 123570c713 fix inconsistent declaration in non-"__BROKEN_INDIRECT_CONFIG" case 1997-11-30 15:32:25 +00:00
drochner 805c7b6bc0 make it compile without "__BROKEN_INDIRECT_CONFIG" 1997-11-30 15:31:23 +00:00
drochner 4da2344b18 fix inconsistent declaration in non-"__BROKEN_INDIRECT_CONFIG" case 1997-11-30 15:24:59 +00:00
drochner c7e3c24d53 make it compile without "__BROKEN_INDIRECT_CONFIG" 1997-11-30 15:18:58 +00:00
bouyer ff936c230e Move the we driver at the begining of ethernet board, other board's probe
clobbers my SMC. Now I can really use a generic kernel with my SMC @0x300.
This change has been tested on various machines with ne2000 and 3c509 baords.
XXX All these probes sould be reordered after the release, with invasive
XXX probes at the end.
1997-11-21 13:25:14 +00:00
bouyer 2f9552c068 Bussify the I/O part of this driver, so that the invasive probe will
not clobbers config of already-found boards.
1997-11-21 10:27:45 +00:00
bouyer 66f0746d98 The if_ie probe is invasive in such a way that it can clobber other's board
config. Now that this driver is bussified, move it last in the ethernet
adapter list.
1997-11-21 10:09:42 +00:00
thorpej 639dc38fd4 Rewrite lc_isa_probe() to not scan i/o space for LEMAC cards, but rather
to look specifically at the address it was provided *only*, since the
scan isn't safe (it can stomp on cards that will be probed later, like
NE2000 clones).
1997-11-17 03:34:24 +00:00
augustss dd95190002 XXX Workaround for ViBRA cards with two 8 bit DMA channels. 1997-11-12 20:28:42 +00:00
fvdl db0d6c4018 Add missing ; 1997-11-11 22:43:51 +00:00
thorpej ec43979ba3 Properly determine the default media on '790-based cards. 1997-11-08 06:13:53 +00:00
enami 140159fa85 Add the missing attribute `dp8390nic' for the device `we'. 1997-11-07 13:08:23 +00:00
bouyer f7c6e141e6 Various bug fixes for atapi part:
- clean up debug code
- Don't check ATAPI signature when probing ATA drives, ATAPI devices were
  detected before
- Reset controller after disks probes. The probe, with some combinations of
  ATA/ATAPI device keep it in a mostly working, but strange state (with busy
  led on)
- The WDCF_IRQ_WAIT flag is now cleared by wdc_ata_intr and wdc_atapi_intr
  when appropriate (helps recover from failure conditions)
- In wdcunwedge, send ATAPI_SOFT_RESET to non-ata drives
  (helps recover from failure conditions)
- in wdctimeout be a bit more verbose when we missed an interrupt
- Always Increment xfer->c_skip where it should be
- Set the ITSDONE flag when a polled command completed.
1997-11-05 22:19:07 +00:00
thorpej 8fc6835062 The bus width probe doesn't always work properly, producing a false positive
for 12-bit addresses.  This causes PCMCIA cards mapped at 0x400 and higher
to not function properly.  However, the range 0x300-0x3ff causes some
laptops (e.g. the NEC Versa 6030X) to hang if cards are mapped there.

So, after some experimentation, we compromise.  If the probe discovers
a 12-bit address bus, don't trust it.  Instead, use the range 0x330-0x3ff.
This has been shown to work on the laptops that the 0x300-0x3ff range is
known to fail on.
1997-11-05 21:41:36 +00:00
thorpej 6568739901 Add an ISA front-end to the SMC91cxx Ethernet driver ("sm"). This
supports generic SMC91cxx-based ISA cards and the built-in SMC
Ethernet found in some laptop docking stations.

Thanks much to Andrew Gillham <gillhaa@ghost.whirlpool.com> for
making this work!
1997-11-05 06:06:07 +00:00
thorpej 03a0c2d900 Implement a simple queueing mechanism that makes these drivers much
more robust in resource shortage situations, basically identical to
code I added to the "ahc" driver some time ago.

Thanks to Brad Spencer for the testing help.
1997-11-04 05:58:22 +00:00
thorpej d64e10645f Add "we" driver, remove "ed" driver. 1997-11-03 21:29:19 +00:00
thorpej ae4498b7bf This driver is now obsolete. 1997-11-03 21:28:49 +00:00
thorpej 60c2342028 Add a front-end to the MI dp8390 driver for the Western Digital/SMC 80x3
family, SMC Elite Ultra family, and SMC EtherEZ family of Ethernet cards.

This front-end completes the split of the ISA "ed" driver.
1997-11-03 21:22:50 +00:00
thorpej 892b0c409e Fix a slight brain lapse. 1997-11-02 05:17:32 +00:00
thorpej 2497f4a8da Garbage-collect the 3Com 3c503 support from the "ed" driver. The ISA "ec"
driver now handles the 3c503.
1997-11-02 00:57:24 +00:00
thorpej a945a24322 Front-end to the dp8390 chip driver for the 3Com 3c503 Ethernet interface.
Supports changing media with ifconfig's "media" directive.

This splits the 3c503 functionality out of the ISA "ed" driver, much the
same way NE2000 support was split out.
1997-11-02 00:44:25 +00:00
thorpej 5322570d8a - Move all of the configurable parameters (alloc_iobase, alloc_iosize,
intr_alloc_mask) into one place, comment them, and defopt them.
- Rename pcic_intr_alloc_mask to pcic_isa_intr_alloc_mask, since it's
  an ISA-specific thing.
- When allocating/establishing the PCIC's interrupt (for card events),
  do error checking, and pay attention to the intr_alloc_mask.
1997-10-29 22:48:43 +00:00
thorpej c733020f4b Take IRQ 10 out of the default IRQ allocation mask. That IRQ is reserved
for the built-in SCSI on NEC Versa docking stations, and if a card
allocates that IRQ, it will never get interrupts.  This caused the
default kernel to not work on these laptops, as IRQ 10 was often the
first free IRQ.
1997-10-29 21:33:16 +00:00
thorpej 87ca153bb5 When creating ccbs, be a little more informative about why we couldn't
should creation/initialization of a ccb fail.  Also, don't panic in
these situations.  Instead, simply return an error condition and allow
the caller to deal with it.  It may be the case that we were able to
create one ccb what we can grab, and continue to hobble along.

Also, fix the scb freelist fencepost, like the aha/bha/uha drivers.
1997-10-29 00:30:00 +00:00
bouyer 917389821c Changes to the probe and attach routine:
- at end of attach, explicitely select an existing drive. This fixes hangs
  some users reported (such as the one reported in port-i386/4247).
- Some atapi cdrom drives (e.g. Nec 24x) don't enables their registers before
  a controller reset is issued. The controller probe routine is changed as
  follow: issue a controller reset. If fail, test atapi signature on slave.
  If fail, wait 5s and retry a reset. If the second reset fail, return(0).
  If the first reset succeed, test presence of a master drive:
  atapi signature, and if this fail RO/RW registers test. If no master, test
  atapi signature on slave. If no slave, return 0.
1997-10-27 14:09:23 +00:00
thorpej 37919a04d9 Moved to src/sys/dev/ic/i82365.c via repository copy. 1997-10-20 20:24:17 +00:00
thorpej 5c6445bc0d Don't panic if we fail to remap i/o or mem space in the attach function.
Instead, print a diagnostic and return.  (Some drivers do this already.)

Also, normalize the diagnostic message, and fix some places where the
printfs were getting ugly.
1997-10-20 18:43:03 +00:00
fvdl d82bb1870c Make sure to unmap bus space when a successful probe is done, to prevent
a panic when the attach code does the map again. PR 4302, from
Anders Hjalmarsson.
1997-10-20 13:46:53 +00:00
thorpej 29500b20c0 Make sure the i/o and/or mem addresses aren't wildcarded (i.e. -1) before
using the address in a bus_space_map() call.
1997-10-19 18:56:39 +00:00
enami fe0c14e139 Fix typo; hang binary operator at the end of previous line. 1997-10-19 14:10:11 +00:00
enami 5c1050e68f Include locators.h and use symbolic name comes from it. 1997-10-19 14:07:19 +00:00
thorpej 17e98700bd Use symbolic names for default locator values. 1997-10-19 09:05:04 +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
drochner 83d255de83 This driver can't handle wildcarded iobase.
(This is really a config file error.)
1997-10-18 14:09:52 +00:00
enami 801620373d Define width_names[] only when PCICDEBUG is defined. 1997-10-17 09:37:12 +00:00
enami 4eef29b72f No need to cast a generic pointer. 1997-10-17 07:59:39 +00:00
augustss b2004a534c Make sure the 'input' class is used even for the 1345 mixer. 1997-10-16 23:34:57 +00:00
thorpej 5345a8bef9 Pull marc-pcmcia branch down to trunk. 1997-10-16 23:21:46 +00:00
thorpej befea59210 Pull marc-pcmcia branch down to trunk. 1997-10-16 23:21:41 +00:00
enami 735b77fa73 Create new structure aic_isa_softc and hold interrupt handler in it. 1997-10-16 22:55:34 +00:00
matt 9d865fc8f0 Fix a misspelling of slave in a comment. 1997-10-16 15:16:34 +00:00
thorpej a35a2a56e4 Garbage-collect "com" device declaration. 1997-10-16 00:47:23 +00:00
thorpej bc6479768b Adjust for the new "com" driver home. 1997-10-16 00:29:28 +00:00
thorpej dfba65768d Moved by repository copy magick to sys/dev/ic. 1997-10-16 00:18:54 +00:00
thorpej 9ba1ceb091 Pulldown from marc-pcmcia branch. 1997-10-15 22:00:10 +00:00