Commit Graph

1105 Commits

Author SHA1 Message Date
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
matt
2e1df18229 Cleanup ISA probe code. Don't collect info first. Just do the probe. 1997-10-15 21:26:51 +00:00
thorpej
2939780605 Garbage-collect some old i386 console stuff that is no longer used, and
add a comment about something to be fixed later.
1997-10-15 21:13:36 +00:00
explorer
f9370ddc7a Add and/or update rnd_*() hooks 1997-10-15 05:55:13 +00:00
thorpej
62e78a5174 Correct a comment. 1997-10-14 23:06:30 +00:00
thorpej
ec0566e1f8 Pulldown from marc-pcmcia branch: garbage-collect NE2000 support from
this file.  The "ne" driver is now used, instead.
1997-10-14 23:04:19 +00:00
thorpej
4dee791caf Pulldown from marc-pcmcia branch: ISA front-end for "ne" driver. 1997-10-14 23:01:10 +00:00
thorpej
10708da893 Pull down from marc-pcmcia branch:
Minor tweaks to deal with PCMCIA differences, and support for power
management.
1997-10-14 21:28:37 +00:00
is
59129515bb Finalize the isa/lpt.c split:
The isa attachment code is in isa/lpt_isa.c now, which attaches to the
already created ic/lpt* files.
You don't need to change your config files, but you need to re-"config" if
using lpt at isa.
XXX The "lpt" device definition should be in sys/conf/files instead, but to
my knowledge, there are some ports which have private copies of lpt, and would
choke on that. No need to make people unhappy 7 days before release branching.
1997-10-14 15:50:15 +00:00
sakamoto
837124b35c add bebox 1997-10-14 07:15:45 +00:00
explorer
80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
mycroft
b551325998 AudioElinear -> AudioEslinear 1997-10-11 12:36:04 +00:00