Commit Graph

1796 Commits

Author SHA1 Message Date
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
jonathan
23c1d14c64 * Add 100Mbit xcvr flags to epconfig():
look for 100mbit Xcvrs, print their names, add to ep_connectors.

* Print 10baseT as 10baseT, since media name (utp) is no longer a unique
  transceiver type.

* Redo FIFO memory size printing, also show Tx/Rx split (xxx isa 3c509?).

* Print MAC address on a separate line,  with 100Mbit media and fifo-ram
  info it no longer fits on the same line as media types.

* Comment the fact that the "connection" media-selection code just doesn't
  grok 100Mbit media.

* add code to look for 3c59x/3c90x media-select and autoconfig bits, though
  we don't yet dynamically probe media when the autoconfig bit is set
  (see previous bullet).

* XXX the whole connector/media code should be redone, perhaps a' la
  the BSDI ifmedia design.
1996-12-29 13:32:46 +00:00
jonathan
6ad69cd711 * Expand softc sc_connectors field to 16 bits.
For now, we really only need 8 bits of media type.

* Add bogus definitions for 100mbit transcievers, to be set in the
  "conn" argument to ep_config(). Should  really  use the same bits
  as in EP_W0_CONFIG_CTRL bits, but I don't know what bits the 3c515
  &c use for 100mbit media.

* Define bitflags for 100Mbit transceiver options in ep_connectors.

* Add definitions of powerup/powerdown commands. for interfaces with
  power management. Should send a powerup after APM resume?

* Add definition of fragment-busmaster (vortex) START_DMA command.

* Add definition  of PCI configuration-space media-present bits.
  (really just EP_W3_RESET_OPTIONS remapped into pci config space.)

* Add comments describing what the #define's above are used for.
1996-12-29 13:25:23 +00:00
jonathan
48f7828104 * Expand softc sc_connectors field to 16 bits.
For now, we really only need 8 bits of media type.

* Add bogus definitions for 100mbit transcievers, to be set in the
  "conn" argument to ep_config(). Should  really  use the same bits
  as in EP_W0_CONFIG_CTRL bits, but I don't know what bits the 3c515
  &c use for 100mbit media.

* Define bitflags for 100Mbit transceiver options in ep_connectors.

* Add definitions of powerup/powerdown commands. for interfaces with
  power management. Should send a powerup after APM resume?

* Add definition of fragment-busmaster (vortex) START_DMA command.

* Add definition  of PCI configuration-space media-present bits.
  (really just EP_W3_RESET_OPTIONS remapped into pci config space.)

* Add comments describing what the #define's above are used for.
1996-12-29 12:36:43 +00:00
jonathan
f029ade219 Define the contents of window 3's InternalConfig register. 1996-12-29 10:21:48 +00:00
pk
1cfdb29905 Rename this driver `md'. 1996-12-28 23:09:26 +00:00
cgd
73f996ef33 note in a comment (XXX) that strchr() (what's it doing here, anyway?)
causes 'const' to be discarded.
1996-12-22 10:35:08 +00:00
thorpej
fca7fce17e Deal with targets > 7 on wide Buslogic controllers. Remember the "wide"
bit from the extended setup inquiry and key off it to:
- Force synchronous negotiation on targs > 7.
- Read additional information returned by wide cards on inquire setup.
- Read sync period on targs > 7.
- Display sync period/offset on targs > 7.
- Set scsi_link.max_target to 15.
cvs: ----------------------------------------------------------------------
1996-12-20 21:35:10 +00:00
jonathan
e7a52ac635 Add missing fields to the extended_inquire reply struct.
Fixes probing of aha154x's, and provides wide/ultra bits for the MI scsi code.
1996-12-20 06:20:49 +00:00
thorpej
7770d7c428 Compute the componet number properly so that error reporting is somewhat
meaningful.  Bug noticed by Marshall Midden <m4@nts.umn.edu>.
1996-12-18 19:22:46 +00:00
gwr
1169ecb0a2 Adapt to the new definition of struct zsc_softc
(the zsc_cs[2] members are now POINTERS!)
Also fix warnings...
1996-12-17 20:46:11 +00:00
gwr
494730c376 New version of the z8530 driver that should permit the mac68k port
to use this instead of its own.  Also fix warnings, etc.
1996-12-17 20:42:40 +00:00
scottr
c5d19fd124 Make this compile #ifdef DDB:
- Prototype debugging functions
 - Replace %x and %lx with %p as appropriate
1996-12-15 10:02:30 +00:00
mycroft
e1a87dc790 Make sure to initialize the memory we just allocated. 1996-12-14 10:50:32 +00:00
mycroft
be33336052 If attaching the console, reinitialize it immediately. 1996-12-14 10:46:38 +00:00
mycroft
58e4442168 Turn off the baud rate changing optimization. 1996-12-14 08:56:23 +00:00
gwr
aaa60cfea6 Add ZSWR1_IMASK (all intr. enable bits in WR1) 1996-12-13 21:02:39 +00:00
pk
841d1ec634 Comply with recent autoconfiguration changes. Diffs graciously
supplied by Chris Demetriou.
1996-12-10 22:54:46 +00:00
thorpej
55acc3ffb3 Fill in sc_link.max_target 1996-12-10 21:57:17 +00:00
thorpej
d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
thorpej
f113ac70dd Add a "max_target" member to struct scsi_link, which is filled in by
host adapter drivers, indicating the highest SCSI target they can
address.  Use this value to dynamically allocate data structures, rather
than hard-coding 8 targets.

These changes allow targets > 7 to be addressed on wide SCSI busses.

Fixes PRs #1674 and #2892.
1996-12-10 21:06:29 +00:00
cgd
e9abc8540f remove all traces of __BROKEN_INDIRECT_CONFIG (except in shared drivers) 1996-12-08 00:22:08 +00:00
cgd
74187419b6 The last change fixed a last-minute goof in the __BROKEN_INDIRECT_CONFIG
case, but added a typo (extra parenthesis) in the !__BROKEN_INDIRECT_CONFIG
case.  fix it.
1996-12-08 00:14:03 +00:00
cjs
75d4fb207b Add definition for internal config register. 1996-12-07 16:23:40 +00:00
cjs
b1e0c7d657 Print the memory size on startup.
Add newline to `Interface disabled' printf and clean up formatting.
Change packet read/write code to align all reads and writes into
memory to an appropriate boundary for the I/O size. This also fixes
a bug where the trailing unaligned bytes (1-3 of them) would be
put in an additional mbuf even if there was enough space for them
in the one we were currently filling.
This has been tested on a 3c905 in an Alpha (32-bit I/O, alignment
required), a 3c905 in an i386 (32-bit I/O, alignment not required)
and a 3c509 in an i386 (16-bit I/O, alignment not required). It
should be tested on a 3c509 in an Alpha with an ISA bus, if somone
can manage to get the two items together.
There are still some bugs in the driver relating to initialisation;
on my Alpha with a 3c905 you need to do an `ifconfig ep0 down;
ifconfig ep0 up' after the initial ifconfig to make it start working.
Apparently there are also some problems with a 3c579 in an i386,
although a 3c905 in an i386 works just fine.
1996-12-07 08:33:07 +00:00
pk
e974072523 Deal with Lance memory size 132KB (sparc `lebuffer' devices use this size). 1996-12-06 21:54:00 +00:00
cgd
243ef518d2 fix a (fatal) bug in the __BROKEN_INDIRECT_CONFIG changes checked
in yesterday.  (got a little bit careless with #ifdef'd variables.)
1996-12-05 22:16:04 +00:00
mikel
179a058e17 fix AUTO_CAL_ENABLE bug, & misc. cleanup. 1996-12-05 07:01:30 +00:00
mikel
94909aee07 return proper output port. Fixes PR kern/2014. 1996-12-05 06:48:47 +00:00
thorpej
3ec2c5af68 Duh, make sure i/o tags and handles are initialized before actually
probing for the LANCE chip.
1996-12-05 02:39:37 +00:00
cgd
8b6a32d1c1 update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:39:27 +00:00
cgd
197d80c63a update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:25:23 +00:00
cgd
ea0c7b4423 update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:06:39 +00:00
thorpej
3ae1a191dc Recognize the HP ScanJet 4p, per PR #2663 (Kenneth Stailey). 1996-12-03 01:25:53 +00:00
thorpej
7d4d4753a8 Implement a simple scsi xfer queue to avoid presenting a resource
shortage to the upper scsi layers, which don't (yet) deal well with
resource shortages.
1996-12-02 19:06:41 +00:00
thorpej
c164cadf68 Convert to use <machine/bus.h> 1996-12-02 05:44:17 +00:00
leo
91c17fedfa The atari has a pci_machdep.h file. 1996-12-01 21:02:18 +00:00
jtk
15aad8e10b forgot to regenerate these after committing pcidevs for its NetBSD header tag 1996-11-30 15:16:22 +00:00
thorpej
40611b811f Start a mode sense with a clean sense buffer.
Fixes PR #2953, from David M. Stanhope <dms@celtech.com>.
1996-11-29 19:58:40 +00:00
thorpej
f3c0cc95a1 Add an inquiry pattern for the HP ScanJet 4p.
From Valtteri Vuorikoski <vuori@notcom.org>, PR #2957.
1996-11-29 19:53:32 +00:00
thorpej
f6ffe73a99 Add Yet Another Broken CD-ROM Drive to The List.
From Lennart Augustsson <augustss@cs.chalmers.se>, PR #2971.
1996-11-29 19:51:14 +00:00
jtk
ebc2675469 add Cirrus CL-7541, 7543 and ACC 2188; regen .h files 1996-11-28 16:29:59 +00:00
thorpej
c645414c6e Regen. 1996-11-28 00:49:48 +00:00
thorpej
5d9878b0be Fill out the Intel section of this a bit, and note the URL of a
periodically updated list of PCI vendor/product codes.
1996-11-28 00:46:35 +00:00
thorpej
a4f9e46a87 The MODIFY_IOPORT command does not generate an HACC (command complete)
signal; don't wait for it.

Add a "clarification" cast to the last argument to bha_cmd() in
bha_disable_isacompat().
1996-11-28 00:43:26 +00:00
thorpej
3b4e2a1ac9 In wdattach(), when printing out info about the drive, make the output
look a little more like a SCSI disk's.  This has the pleasant side-effect
of preventing the output from annoyingly extending past 80 columns.
1996-11-27 10:50:39 +00:00
cgd
d7c58f547e Drop LPT_NPORTS to 4 from 8. Some lpt units require only 4 I/O ports
(e.g. from 0x3bc to 0x3bf, for example).  Others may require more,
but until there's some special handling for them, 4 should be returned
so that on systems with I/O port accounting, the unit at 0x3bf can be
properly mapped, etc.  (OK'd by mycroft.)
1996-11-23 23:22:50 +00:00
cgd
828f1f3aa1 Provide a routine so that ISA/EISA bridges can set up a callback so
that their child busses can be attached after the PCI bus
autoconfiguration for their parent bus is done.

This works because:
	(1) there can be at most one ISA/EISA bridge per PCI bus, and
	(2) any ISA/EISA bridges must be attached to primary PCI
	    busses (i.e. bus zero).

That boils down to: there can only be one of these outstanding
at a time, it is cleared when configuring PCI bus 0 before any
subdevices have been found, and it is run after all subdevices
of PCI bus 0 have been found.

This (or something like it) is needed because there are some (legacy)
PCI devices which can show up as ISA/EISA devices as well (the prime
example of which are VGA controllers).  If you attach ISA from a
PCI-ISA/EISA bridge, and the bridge is seen before the video board is,
the board can show up as an ISA device, and that can (bogusly)
complicate the PCI device's attach code, or make the PCI device not be
properly attached at all.

This could be done with machine-dependent code, but as more ports
add support for PCI (and PCI-ISA/EISA bridges) more will need it.
The i386 port could (perhaps should) be converted to use it as well.
1996-11-23 21:58:16 +00:00
cgd
f1482e61d8 cast pointers to long, not int, and fix the resulting printf format goof. 1996-11-23 21:42:28 +00:00