Commit Graph

4675 Commits

Author SHA1 Message Date
thorpej 873e1d2a51 Fix printf format problems on Alpha. 1999-02-12 01:51:37 +00:00
thorpej 1ab6db8e5f Fix printf format problems on Alpha. 1999-02-12 00:50:09 +00:00
thorpej 94962b67c7 Fix some printf format problems on Alpha. 1999-02-12 00:46:11 +00:00
thorpej f83663b7ba Garbage-collect some unneeded definitions. 1999-02-12 00:37:07 +00:00
thorpej 7b516b31bd Major overhaul of the Rhine/Rhine-II driver, structuring it a little more
like the SMC83C100 EPIC/100 driver:
* Rather than using pointers to the head and tail of the transmit and
receive rings, use wrapping indexes into arrays.  This is a little more
obvious when reading the code.
* More cleanly separate the hardware descriptor from the software descriptor.
* bus_dma it everywhere.
* Implement interrupt pacing and avoid a potential race in the transmit
loop.

Now this looks more or less like the Rhine driver I was working on when
this driver was committed :-)  Update copyright notice to reflect that.
1999-02-12 00:36:48 +00:00
oster 6d72c8f0e7 Minor cleanups that got missed last time through. 1999-02-11 01:23:32 +00:00
minoura c5847e98a9 void* -> u_int32_t 1999-02-10 16:00:54 +00:00
bouyer 6dd47fe65f Abort transfer if b_blkno is negative. Closes PR kern/5553 by Johan Danielsson. 1999-02-10 12:29:50 +00:00
sakamoto 0b4e481612 add "mii" to vr driver. 1999-02-09 02:04:36 +00:00
mjacob 1a911bb798 roll internal release level 1999-02-09 00:54:07 +00:00
mjacob 3c21a2493b Roll internal release tag. Print out if we're in a 64 bit PCI slot.
Use fast memory timing NVRAM parameter. Clean up and fix establishment
of default target parameters. Don't use NVRAM if are flagged as not to
do so (I had a busted NVRAM setup which I couldn't edit that enabled SYNC
mode but disabled disconnect/reconnect and wide!!). Fix delays after
resets. BUS resets not done in isp_init anymore- relegated to OS
specific outer layers. Fix a buglet where you can get in a loop for
a NULL xs in the completion list in isp_intr. Add in some defines that
can disable fast posting. Add in code for Loop Up/Loop Down events that
call into the outer layers as to what to do.
1999-02-09 00:52:23 +00:00
mjacob 0cf98e4e12 Roll internal release tag. Roll core version minor. Fix broken DPARM_DEFAULT
define. Add a new config flag param (ISP_CFG_NONVRAM) whose intent it is
to cause NVRAM to be ignored. Add ISPASYNC_LOOP_DOWN and ISPASYNC_LOOP_UP
isp_async enums.
1999-02-09 00:46:25 +00:00
mjacob d8d9458410 fix a couple of NVRAM defines 1999-02-09 00:44:42 +00:00
mjacob c1adc949c2 roll internal release tag 1999-02-09 00:44:06 +00:00
mjacob 6a8ebccd6a Do SCSI Bus resets in this layer (now). Don't do it for Fibre Channel yet
(we get LOOP DOWN events, and we'll hang on that at this time).

Add other isp_async cases- ISPASYNC_LOOP_DOWN and ISPASYNC_LOOP_UP. DOWN
will cause internal queuing until UP, whereupon a timeout will fire up
any pending xfers. It doesn't really keep commands from getting destroyed
by loop down events, but at least minimizes the damage. This was much
easier to implement with CAM.
1999-02-09 00:42:22 +00:00
mjacob ee45547dde Roll platform revision level. Add blocked flag and waitq to osinfo structure. 1999-02-09 00:37:35 +00:00
mjacob c47d6855db clean up pci configuration a bit 1999-02-09 00:35:35 +00:00
tls e8690f9bd1 Fix ESS/SB confusion for 1868 and 1869 chips: because isapnpdevs is parsed by an awk script, you *must* comment out each line separately, which is why ess was still trying to attach chips it couldn't cope with. Note that this leaves isapnp ess with no matches -- shouldn't the 188X be in here? Also, add another isapnp PCIC. 1999-02-08 22:10:09 +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
bouyer 1e0e78854a There's no ATA draft where it is required for the drive to set DRDY | DSC when
the disk is ready to transfer data, and in ATA-5 the DSC has been obsoleted.
So only wait for DRQ to transfer data. This can be made conditional on the
ATA version if it's proven to break with some drives (worked with all the
drives I have access to).
While I'm there correct a few typos.
1999-02-08 15:22:28 +00:00
sommerfe 999d27da77 Don't bother copying output queue into automatic buffer; instead, pass
contiguous chunk of outq to emulation routine.  Fix based on patch
from M. Drochner, modified to call output routine once with each
contiguous chunk when the ring buffer wraps around.
1999-02-08 14:48:07 +00:00
sommerfe 95ee03319d Change WSDISPLAYBURST from OBUFSIZ-1 to OBUFSIZ*4, for a ~15x
improvement in the "cat /usr/share/misc/termcap" benchmark on 486/75

ttwrite queues data for us in OBUFSIZ chunks.  If we only consume
OBUFSIZ-1 bytes per call to wsdisplaystart(), we're *guaranteed* to
fall behind when given maximum-sized reads (which will defer
processing the leftovers until ttrstrt gets called, after a timeout)

Note that OBUFSIZ*4 may be overkill; OBUFSIZ*3 may be sufficient to
get maximal performance; OBUFSIZ*2 resulted in only about a 2.5x
performance improvement, but it's 2am and I've done enough tweaking
for the night.
1999-02-08 07:05:51 +00:00
sommerfe 0d3a9dfce7 Don't bring scsi/atapi common files in under the "atapi" attribute.
Bring them in under atapibus since they're not needed unless something
attached to an atapibus is also attached.
Tested on i386 and arm32.
1999-02-07 22:58:43 +00:00
jonathan c9d036d796 defopt MEMORY_DISK_{HOOKS,SERVER,IS_ROOT}. 1999-02-07 09:34:58 +00:00
thorpej 6eedee5c9d Add entropy gathering. 1999-02-07 01:54:50 +00:00
cgd 6b77f11d67 put in better name/description for Simon G's board 1999-02-06 06:55:15 +00:00
cgd 04046c6dd7 add code to cope with multiple ports per BAR, as are found, for instance,
on the 8 port card Simon Gerraty has.  In general, cards which have
this lots of ports also have a separate interrupt status register, but
this change is just to talk to the various ports independently.  It works,
but it's not optimal.  (XXX still need a good name for the card in the
comments, and to update the manual page.)
1999-02-06 06:29:54 +00:00
thorpej 23382bdfcb Regen. 1999-02-05 22:55:40 +00:00
thorpej 0955479f29 Add some Olicom Ethernet device IDs, from FreeBSD's tl driver. 1999-02-05 22:55:19 +00:00
thorpej d95d5b1488 Make this driver work on the Alpha. Apparently the receive DMA mechanism
has the same 4-byte alignment requirement that the transmit side does.  This
causes the packet payload to be misaligned.  So, on systems which require
strict alignment, we must copy the incoming frame to a new packet buffer,
suitably aligned.
1999-02-05 22:09:46 +00:00
thorpej b52d1e44d0 Fix the interrupt handler to actually acknowledge the interupt to the
dispatch code (!!!).  How did this work even on the i386 before?
1999-02-05 21:20:31 +00:00
thorpej 58beb19c16 Regen. 1999-02-05 20:20:04 +00:00
thorpej 53089c1ade Add oui for Davicom Semiconductor, and add Davicom DM9101 10/100 PHY. 1999-02-05 20:19:44 +00:00
thorpej dde3694c4c Fix some formatting nits. 1999-02-05 08:42:03 +00:00
thorpej 82a54250be Remove some duplicate softc members, and comment some of the softc
fields.
1999-02-05 08:27:46 +00:00
thorpej 8bf66d3eb2 Remove some unnecessary splnet's. 1999-02-05 08:21:31 +00:00
thorpej 50faf19d7d splimp -> splnet 1999-02-05 07:53:24 +00:00
thorpej adc9c40688 Use the generic MII support code, not our own. 1999-02-05 02:58:38 +00:00
thorpej f9467ddb8e Some PHYs are really braindead, and report incorrect IDs. Simplify the
test for this, and probe for PHYs based on media in the BMSR.
1999-02-05 02:46:34 +00:00
thorpej ebf3a97519 Use MII command opcodes from <sys/dev/mii.h> 1999-02-05 01:17:24 +00:00
augustss eade8dcad9 Don't use ess driver for ESS186[89], it doesn't work. 1999-02-05 01:15:01 +00:00
thorpej 909b90d2d4 Rename VR_MIICMD_DATAIN and VR_MIICMD_DATAOUT to actually match what the
data sheet says.  (The names and their usage were exactly reversed in the
code.)
1999-02-05 01:10:30 +00:00
oster 0014588545 Phase 2 of the RAIDframe cleanup. The source is now closer to KNF
and is much easier to read.  No functionality changes.
1999-02-05 00:06:06 +00:00
mycroft 0c7afe477d Separate the tiocm code into functions, like the z8530 code, and fix the same
DTR bug.
1999-02-03 23:57:27 +00:00
mycroft 568f4aa704 Minor changes to tiocm code. 1999-02-03 23:51:06 +00:00
pk 6db0ff6627 Update last prototyping change. 1999-02-03 23:40:22 +00:00
mycroft 9be96dda95 Fix an inconsistency: PPS was turned off on first open, but the mode may have
still claimed it was enabled.
1999-02-03 23:22:11 +00:00
mycroft 535f59cc81 Slight redux in PPS code. 1999-02-03 23:20:33 +00:00
mycroft b3a56d0097 Catch up with a change to the stint interface. 1999-02-03 20:22:28 +00:00
mycroft b63b0fd80b Redo the N previous changes, plus a couple of other things:
* Move the printf() delay to just after the printf(), where it actually makes
  sense.
* Use zstty_stint() and zstty_softint() from zsparam(), to force an immediate
  update of the carrier and flow control status.  Abuse this in the attach and
  open functions to defer all of that work.  This insures that we don't lose
  any status updates.
* Don't screw with register 1 when closing the console.
* Fix bugs in TIOCM??? (stay semicolon, clearing DTR while transmitting).
* Add comments in a couple of places.
1999-02-03 20:15:51 +00:00