Commit Graph

1844 Commits

Author SHA1 Message Date
jonathan c7cec27edf Move if_ep media-sense code from front ends to inside back end,
to prepare for if_media, and to support EISA 3c59x cards:

  * change epconfig() to take a short that encodes the chipset
    type (3c509, or Demon/Vortex/Boomerang).
  * add  distinct 3c509 and Demon/Vortex/Boomerang media-sense
    functions to back end.
  * Add EISA match/attach support for the 3c592 and 3c597
    (Demon) cards as well as the 3c509-comatibl EISA 3c509/3c579.

  * Assume that ISA and ISA PnP cards are 3c509-style, until
    proof to the contrary (e.g. large packet support).

Tested on 3c595, 3c590, and 3c509b. Not tested on 3c515 or Demon.
1997-02-18 10:51:06 +00:00
jonathan 788394a2e4 Change bha_pci product names to match latest pcidevs:
PCI_PRODUCT_BUSLOGIC_OLD946C -> PCI_PRODUCT_BUSLOGIC_MULTIMASTER_NC
    PCI_PRODUCT_BUSLOGIC_946C -> PCI_PRODUCT_BUSLOGIC_MULTIMASTER
1997-02-17 22:42:21 +00:00
jonathan 82d682ac83 Correct low-order product code digits for 3Com 3c597 family. 1997-02-17 00:06:17 +00:00
jonathan fcdd1b0065 fix typo in 3Com 3c597 product description. 1997-02-16 20:10:31 +00:00
jonathan ac06c9aae3 Add product entries entries for 3c592, 3c597 (Demon).
(Assume revision zero until proof to the contrary.)
1997-02-16 20:01:14 +00:00
veego 932fca6287 regen. 1997-02-16 17:21:26 +00:00
veego d0e4650c7d Fix errors in the last commit. 1997-02-16 17:17:30 +00:00
jonathan 4fdff0ed65 * Add ep_complete_cmd() function, to issue commands that perform a reset
(RX_RESET, TX_RESET, GLOBAL_RESET).
  Commands issued while a reset is in progress may be dropped. The driver
  must wait until resets are complete; ep_complete_cmd() does so.
* Change RX_RESET,  TX_RESET, GLOBAL_RESET to use ep_complete_cmd().

* Revert epconfig() to use inline RX_RESET, TX_RESET.
  That avoids accidentally setting IFF_UP, which  breaks both diskless boot,
  and "halt" commands issued before the interface is brought up.
1997-02-16 04:09:18 +00:00
tls d21c733fd8 greatly expanded pcidevs file courtesy of Carl Shapiro <cshapiro@sparky.ic.sunysb.edu>. 1997-02-15 11:07:08 +00:00
thorpej a8756f0775 Pass the bus PA (i/o address) to pdq_eisa_init() to avoid doing
arithmetic on bus space handles (which is strictly forbitten.
Pointed out by Matthias Drochner <drochner@zelz28.zel.kfa-juelich.de>
in PR #3216.
1997-02-13 00:08:27 +00:00
thorpej 2953a0ce90 Pass the i/o handle, not bus PA, to bus_space_unmap().
From Matthias Drochner <drochner@zelz28.zel.kfa-juelich.de>,
in PR #3216.
1997-02-12 23:37:38 +00:00
thorpej dfa1224fab Oops, pass the memory handle, not bus PA, to bus_space_unmap().
From Matthias Drochner <drochner@zelz28.zel.kfa-juelich.de>, in
PR #3216.
1997-02-12 23:36:04 +00:00
christos 041fb607e0 Add a break; in the irq/drq allocation loop so we take the first one instead
of the last one.
1997-02-09 18:36:44 +00:00
christos 12a7c99376 Fix an irq -> drq typo 1997-02-09 18:36:11 +00:00
mycroft 1dd1504980 Move the aha ISA probe functions into a separate file. 1997-02-07 17:37:27 +00:00
cgd 711939bcf4 add a bunch of commented-out, unconfirmed entries, based on data from
a "Smart Frame Buffer TURBOchannel Module" user's manual(?), and from
some "DECstation 5000 Model 240 Options and Upgrades" guides found
while cleaning out my office.
1997-02-05 22:14:18 +00:00
ragge a1d8a4570c Support for DL11 (-compatible) async ctlr.
Written by Ben Harris (bjh@mail.dotcom.fr).
1997-02-04 19:13:15 +00:00
thorpej e0145dbc88 NFSCLIENT -> NFS 1997-01-31 05:18:51 +00:00
cgd f89ffa1fe4 don't clobber IER in cominit(). (suggested by mycroft.) 1997-01-30 19:42:33 +00:00
thorpej 9a815ed696 A performance optimization, inspired by a conversation with Thor Simon:
- Keep a freelist of component buffer headers, defaulting
	  to 8 headers per component (tunable with the CCDNBUF
	  kernel compile option).
	- When allocating a component buffer, try to pull a header
	  off the freelist first, falling back on MALLOC() if the
	  freelist is empty.  Use MALLOC() rather than malloc(),
	  because it will attempt to short-cut the allocation before
	  actually making a full-blown malloc() call.
	- Keep statistics on how many component buffer headers have
	  been allocated and how many of those allocations have
	  resulted in freelist misses.

With these changes, I observed measurable decreases in system and
wall clock time on operations on an 8G ccd, as well as a measurable
drop in the time spent in ccdbuffer() (measured with kernel profiling).
1997-01-30 04:00:52 +00:00
thorpej bb60822446 Fix OBOB in ccdopen() partition range check.
From Klaus Klein <kleink@layla.inka.de>, PR #3161.
1997-01-30 03:32:56 +00:00
cgd 3573080902 split isasearch (!__BROKEN_INDIRECT_CONFIG) completely off of
isascan (__BROKEN_INDIRECT_CONFIG), and attempt multiple match/attach
of cloning devices in isasearch().  (If a match/attach succeeds for
a cloning device, try it again.)
1997-01-26 03:49:28 +00:00
thorpej 1392015f6b These files are obsolete (ramdisk -> md). 1997-01-25 00:10:36 +00:00
christos 1a33eecdca const poisoning 1997-01-24 22:13:10 +00:00
christos 2fe3b9727a - increase string space for device class names
- fix the parser so that non-compliant isapnp devices work, and we
  give up when there are too many errors (some on-board pnp sound/atapi/game
  soundblaster compatible card).  reported by chuck cranor
- fix the parser so that configuration tags that come after the
  end-dependencies tag or before the begin-dependencies tag are merged
  in properly (gravis ultrasound). reported by gary duzan
  We now build a tree of card -> logical-dev -> conf, and in the end we
  convert it to a list of conf...
1997-01-24 21:58:34 +00:00
veego ff217ba6d9 Decrease the delay() in isapnp_wait_status(), 100 was too much. 1997-01-24 21:17:19 +00:00
chuck 16ef494b41 bug fix:
- if aal5 frame has a CRC error then the length field in the aal5 trailer
	may not be valid, so we can not use it [and we must dump the frame]
	[Yuhang Sun <sunyh@dworkin.wustl.edu> & chuck@ccrc.wustl.edu]
1997-01-24 20:58:42 +00:00
veego 0a1897f82f Change on printf to remove duplicated informations and add a \n. 1997-01-23 11:42:44 +00:00
mycroft 318bbe30f5 Increase the delay() in isapnp_wait_status() for slow cards. 1997-01-22 23:51:38 +00:00
mycroft f7709d02b6 Add a frontend for the 3C509B. 1997-01-22 23:44:03 +00:00
perry 1c47a4325b close 3079 from Jason Baker -- fixes a test in audio_poll 1997-01-18 04:02:58 +00:00
cgd c05e715a52 kill use of strchr(); it's moving to libkern 1997-01-18 02:18:47 +00:00
mycroft 54133e5f93 Remove a previous gratuitous change, and KNF police. 1997-01-17 22:09:09 +00:00
perry 8852c180ef Fixes to wd driver from cgd -- corrects several nasty bugs typically
associated with coming out of suspends/sleeps on laptops.
Approved by fvdl.
1997-01-17 20:45:29 +00:00
christos cf455412fc Plug and Play support. 1997-01-16 22:00:57 +00:00
christos e6717c0bc9 - convert to bus_space_*
- split attachment code to sb_isa.c
1997-01-16 21:03:30 +00:00
gwr 77eb8c5a65 fix alignment again for m68k 1997-01-15 18:22:35 +00:00
mikel fe9f1f4e3e add missing copyright and RCS ID; ok'd by mycroft 1997-01-15 07:06:42 +00:00
thorpej db33863c33 Fix a couple of minor nits so that this compiles on the alpha.
Noticed by Matt Jacob (mjacob@feral.com).
1997-01-13 00:15:29 +00:00
thorpej 7c14653df6 It's not safe to sleep in mdattach(), so don't pass WAITOK to malloc(). 1997-01-11 06:26:41 +00:00
thorpej aceef5987f Merge into mainline, tidy up some debug code. 1997-01-11 04:47:31 +00:00
thorpej d34ed2a09f Update from Matt Thomas <matt@3am-software.com>. Supports more
Tulip-based cards, including new SMC and Kingston cards.
1997-01-11 04:30:07 +00:00
perry 40533e83ff Commit latest fixes/upgrades to NCR SCSI driver. From FreeBSD via
Dave Huang <khym@bga.com>

Tested on alpha by cgd, tested on several i386 boxes. Certainly causes
no harm to the goddamned mess, but the NCR driver only works when you
perform voodoo rituals on it anyway.

This is what Dave said (in email) has been added to the driver:

  ----------------------------------------------------------------------
  This seems to be the most significant change:
  General cleanup and new features for 53c875 based cards, especially the
  Tekram DC390W/U/F, whose config EEPROM can now be dumped, if the kernel
  is built with option NCR_TEKRAM_EEPROM.

  Other changes:

  - add brackets to expansion of OUTB/W/L macro arguments.
  - remove unused NCB structure element ns_async
  - support sync. SCSI offset of 16 (instead of only 8) on 825A and 875
  - correctly identify 53c810A and 53c825A chips
  - preserve SCSI BIOS settings of PCI performance options
  - remove (already disabled) support for NCR reset because of command timeout
  - reverse order of reading of SCSI and DMA specific interrupt cause registers
  - add definition of Tekram config EEPROM contents (not currently used)
  ----------------------------------------------------------------------
1997-01-10 05:57:10 +00:00
jonathan f703350d59 typo in definition of extended-geometry register. 1997-01-04 16:47:03 +00:00
veego 034ed50ead Add the Matrox Millenium and regen the header files. 1997-01-01 14:56:19 +00:00
jonathan 9821b30fe4 Use DELAY() after doing a TX_RESET or RX_RESET command.
Newer boards (e.g., Vortex) take  time to reset, and wedge on some machines.
Polling on S_COMMAND_IN_PROGRESS would be better, but that doesn't
work with xx_RESET commands on 3c509s.
1996-12-31 21:36:30 +00:00
jonathan 0ede4558bc Use the same symbolic cnames for 100Mbit media as epconfig(). 1996-12-31 21:26:10 +00:00
jonathan 259ce9f178 * make sure 100mbit media-present bits don't collied with 3c509
CONFIG_CNTRL bits by making the "conn" argument to epconfig()
   a u_int, not a u_int16_t, and by defining 100mbit media
   bits in the upper 16 bits.

A redesigned interface that fixes this properly is in the pipeline.
1996-12-30 19:18:28 +00:00
jonathan b00ac4cf2c * add epshutdown(), and establish as shutdown hook: see multiboot
comments in pr port-i386/2358: "if_ep/3C590 no longer working"
* Only call Vortex media-config code on PCI-attached devices, until
  we know if it works on ISA and EISA large-packet devices also.
* Fix typo in printf of MAC address
1996-12-29 17:01:58 +00:00
jonathan 1d7f16f4d9 * Accept 100baseT4, MII variants of 3c595 as 3c595-model devices,
rather than unknown.

* Look for 100mbit interfaces, and for any present, set corresponding
  bits in `conn' argument to epconfig(). epconfig() will now print
  100Mbit media by name.
1996-12-29 13:42:58 +00:00