Commit Graph

1051 Commits

Author SHA1 Message Date
thorpej
e8823cc3f3 Cleanup of the EPIC/100 driver I did while hacking on the Rhine driver:
* Macroize hardware and software descriptor access (much easier to read).
* Simplify and optimize the transmit loop a bit, and use IFF_OACTIVE as
  appropriate.
* Fix a potential race condition in the transmit loop.  This change has
  made the driver significantly more stable (almost completely eliminated
  the "device timeout" errors that have plagued this driver).
* Implement transmit interrupt pacing.
* Add missing bus_dmamap_sync() calls (on transmit and receive descriptors
  and fraglists).  (Draining the write buffer when accessing these structures
  may have also contributed to the increased stability of this driver on
  the Alpha.)
1999-02-12 05:55:27 +00:00
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
minoura
c5847e98a9 void* -> u_int32_t 1999-02-10 16:00:54 +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
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
thorpej
6eedee5c9d Add entropy gathering. 1999-02-07 01:54:50 +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
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
marc
9231ba8603 - make sure that sc->handle[i].flags is initialized in all cases
- check PCIC_FLAG_SOCKETP before disabling the CSC_INTR.
1999-02-01 22:17:05 +00:00
wrstuden
36c50aaa14 Add the patch I floated on tech-kern. Andreas Eltrich <elchy@dahoam.de>
says it got pppd working for him.
1999-01-31 21:41:00 +00:00
minoura
8ed711f1bc MC68450 DMAC regs. 1999-01-30 14:58:26 +00:00
mjacob
6bcdc2b5d2 Implement and use Fast Posting for both parallel && fibre. Redo a bit of
the startup code. Implement a call to outer framework function so that
asynchronous events can be handled (e.g., speed negotiation, target mode).

Roll internal release tags.
1999-01-30 07:31:50 +00:00
drochner
a7f50b8178 Debugger() -> console_debugger() to honour the ddb_fromconsole sysctl 1999-01-26 17:08:37 +00:00
wrstuden
ccf442a971 Fix thinko in part of rev 1.53.
Thanks to Scott for pointing this out to me (I got his mail and figured out
this change before seeing the discussion on tech-kern) and to Charles for
the initial explanation.
1999-01-25 17:53:13 +00:00
msaitoh
88176e7d20 Fix about insertion/removal event problem. 1999-01-21 07:43:32 +00:00
bouyer
a1471db64a move wd.c:print_wderror() to ata.c:ata_perror().
In wdc_probe_caps() add code to guess the ATA revision supported (if
ATA4 if Ultra-DMA, ATA2 if PIO mode > 2). We can't rely on param.atap_ata_major
here, at last one Ultra-DMA drive claims to support only ATA-3.
Use the ATA version in ata_perror(), and to try a flush cache command
in a shutdown hook for IDE drives.
1999-01-18 20:06:24 +00:00
mjacob
83270f242f If you're BIG_ENDIAN and use bswapXX, pull in the header file that prototypes
these functions.
1999-01-18 19:17:00 +00:00
pk
ed55ba4db9 Need <machine/bswap.h> 1999-01-18 11:51:43 +00:00
ross
5709f532d1 Random compile nits in BHADEBUG code. 1999-01-14 04:47:18 +00:00
drochner
23cfea8327 -implement new wscons font handling with separate download and selection
calls
-support use of 2 fonts simultanously; this costs the ability to
"highlight", ie to use the upper 8 colours
-define screen types "80x25bf" and "80x50bf" which use this ability
-add conditional code to deal with the weird mapping of pcvt's
supplemental fonts
1999-01-13 16:48:58 +00:00
christos
e79b8222a6 Put back modem control ioctl's 1999-01-13 11:55:20 +00:00
drochner
9b1eddc4f1 - Set up the interface watchdog timer on sends. This fixes the hangups
reported by Matthias Scheler <tron@lyssa.owl.de> in PR kern/6772.
- After receiving, check whether the receive DMA pointer became 0
  what obviously happens if the list runs out of entries. Simply reinit
  in this case. This fixes receive lockups after DDB use observed
  by myself.
  Unstall the receive engine if the ELINK_UPPKTSTATUS indicates that it
  was stalled. (Don't know when this might happen. FreeBSD does so.)
1999-01-10 14:19:46 +00:00
mjacob
9d702f60ed + Some basic deadchip detection.
+ Enable FIFO bursts, but also detect bogus 1040A with busted FIFO.
+ Use new MEMZERO crossplatform define.
+ Handle RQCS_QUEUE_FULL status case and let upper layer parse SCSI ststus
  byte if nonzero (should be 0x28- Queue Full status)
+ Fold ISP_NVRAM_FIFO_THRESHOLD_128 into isp_fifo_threshold tag.
1999-01-10 05:07:53 +00:00
mjacob
f1dfa06e13 bump isp_fifo_threshold tag top 3 bits 1999-01-10 05:04:46 +00:00
mjacob
b503bb5337 cross platform define MEMZERO added 1999-01-10 05:04:18 +00:00
drochner
98e630dbe0 Allow to deallocate also the currently visible virtual screen (unless
it is the console).
This requires vva_show_screen() to catch the case where it has no screen
to switch from, ie no need to save the current state.
1999-01-09 15:29:26 +00:00
augustss
0d32a9a78b Fix more `void *' arithmetic. 1999-01-08 19:22:34 +00:00
thorpej
71c86e3e92 Changes to NCR53c9x driver necessary to add support for the AMD Am53c974
PCscsi-PCI SCSI controller.  From Izumi Tsutsui, PR #6654.
1999-01-06 19:19:38 +00:00
christos
dfd0f0f949 PR/6669: Michael Eriksson: pcic_chip_mem_alloc() can't handle large requests 1999-01-01 14:05:18 +00:00
augustss
44df4dcc85 Add a wscons display type `unknown' that the generic VGA driver can
return until someone fixes it for real.
1998-12-30 13:54:03 +00:00
mjacob
e5e787230b clean up headers; move uninit/watch to outer layers 1998-12-28 19:10:43 +00:00
msaitoh
2718914e14 fix incorrect panic message 1998-12-25 16:50:08 +00:00
nathanw
788ff053de Fix up support for PCI attachments of pcic devices on i386 in general,
and the Cirrus Logic CL-PD6729 in particular.

From danw@mit.edu in PR port-i386/6436.
1998-12-20 17:53:28 +00:00
thorpej
92229a04c1 Quiet some diagnostic messages when we might expect them to happen.
PR #6460, Rafal Boni.
1998-12-18 21:50:16 +00:00
bouyer
c37bf0ccb4 Keep track of DMA errors, and downgrade the transert mode (UDMA ->DMA,
DMA->PIO) in case of 2 consecutive errors. Don't downgrade if the
PIO/DMA/UDMA modes were forced by a config flag.
1998-12-16 13:02:03 +00:00
bouyer
94f32463dc Add a callback to re-compute the modes used on a channel. 1998-12-16 12:46:47 +00:00
mycroft
95aa0d0b7d Simplify the copy loops a bit. 1998-12-12 16:58:10 +00:00
mycroft
90b7cbc727 Simplify argument to MGET(), to generate better code. 1998-12-12 16:36:24 +00:00
mycroft
a6717054a4 Slight simplification to previous. 1998-12-12 16:31:34 +00:00
bad
fe3ce4e89a Simplify the code dealing with the mbuf chain in dp8390_get(). 1998-12-11 18:03:55 +00:00