256 Commits

Author SHA1 Message Date
mjacob
d42d56559f Add in defines that disable (temp) fast posting. 1999-02-09 01:09:03 +00:00
mjacob
1815bac109 Allow fibre channel 'bus resets' to go through. Handle Loop Down/Loop Up
events by freezing/unfreezing the simq- nice to have such control at this
level! Do bus resets in attach layer (non-CAM defined code).
1999-02-09 01:08:38 +00:00
mjacob
831285f634 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 01:07:06 +00:00
mjacob
4afa695118 roll internal release tag 1999-02-09 01:05:42 +00:00
mjacob
1f0261f40f 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:29:00 +00:00
mjacob
88b025083d Grrr.. Do the *correct* and *usable* 1.31 firmware. You have to power
cycle to get rid of the old 1.31 firmware. *@!$&^@&$!&^&^!!!!!

But anyway comment it out and use new SBus 7.55 firmware. We get fast posting
with this as well as 32 luns and target mode support.

(not that this is used yet in FreeBSD, but it's ready for FreeBSD-sparc
whenever it happens....)
1999-01-30 07:22:30 +00:00
mjacob
50b0c4669d roll internal release tag 1999-01-30 07:20:50 +00:00
mjacob
3e8f15f133 roll internal release tag 1999-01-30 07:08:55 +00:00
mjacob
734cdad430 Suggested by bde@freebsd.org- memcpy not necessarily good to use. D'oh- not in
the BSD DKI. Stop being lazy and finish the defines so MEMCPY becomes bzero
for FreeBSD.
1999-01-10 11:15:23 +00:00
mjacob
ff7067b486 Add some prototype deadchip detection. Set FIFO bursting (1XX0 only-
it's already on for the 2XX0) and detect the broken 1040A FIFO. Change
bzero to MEMZERO (portability with **nux). Use memcpy for same reason.

Finally detect QUEUE FULL conditions and return this as an error that
will get cam_periph_error to do it's 'tagged openings now XXX' dance.
1999-01-10 02:55:10 +00:00
mjacob
418e56ef2d up isp_fifo_threshold NVRAM storage to 3 bits (for future 128 bit) 1999-01-10 02:51:48 +00:00
mjacob
8ae72d61ed add MEMZERO portability defines 1999-01-10 02:51:06 +00:00
mjacob
da7bad3421 Amazingly stupid forgetfullness had me forgetting to turn on FIFO bursts
for the 1XX0 cards. That cost > 50% performance.
1999-01-10 02:45:51 +00:00
mjacob
5c42627795 clarify headers;ansify 1998-12-28 19:24:23 +00:00
mjacob
13ecc0c78f clarify headers;move uninit to outer layer;remove watchdog 1998-12-28 19:22:27 +00:00
dillon
1b46557c21 probe function changed from returning char * to const char *. 1998-12-14 06:37:37 +00:00
mjacob
ad9bd899c9 oops on last 1998-12-05 01:46:40 +00:00
mjacob
6b499c42bc Remove the Target mode functions until they're in better shape. Implement some
suggested compilation cleanups from Eklund. Wire down a hard loop id if we are
not on a platform that has the ability to get to a PCI BIOS (it still will
float to the ID it gets after a LIP but at least we can try). Clarify that the
expanded lun is based upon SCCLUN defines (in f/w).
1998-12-05 01:33:57 +00:00
mjacob
ee4de20504 make a real "done" func; clarify some LUN widths 1998-12-05 01:31:21 +00:00
mjacob
993b50af59 compilation fixes from Eklund 1998-12-05 01:30:52 +00:00
mjacob
ba9a0c9f21 compilation fixes from Eklund && move XS_CMD_DONE to be a real function 1998-12-05 01:30:27 +00:00
mjacob
2dd2c8d11c do a bit of cleanup on some target mode structures and clarify a couple other minro things 1998-12-05 01:29:43 +00:00
mjacob
8500a9a7a3 roll core version minor and wire a non-i386 default Loop ID to 113 1998-12-05 01:28:38 +00:00
mjacob
9a7bd192e5 offset was wrong for HARDLOOPID in NVRAM 1998-12-05 01:07:52 +00:00
mjacob
5847a18836 Roll to 1.15 f/w level for Qlogic 2100. Leave all flavors in, but control which
one gets compiled in by default. The default is private loop, non-expanded lun.
1998-12-05 00:47:25 +00:00
mjacob
6e55d5d8b1 roll to 1.31 level 1998-12-05 00:38:31 +00:00
mjacob
0ff3e17e01 trivial header fix 1998-12-05 00:07:04 +00:00
archie
982e80577d Examine all occurrences of sprintf(), strcat(), and str[n]cpy()
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.

These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.

Reviewed by:	Bruce Evans <bde@zeta.org.au>
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by:	Mike Spengler <mks@networkcs.com>
1998-12-04 22:54:57 +00:00
gibbs
8111be0235 -Wunused cleanup.
Submitted by:	Poul-Henning Kamp <phk@freebsd.org>
1998-10-15 23:46:33 +00:00
gibbs
f3dbbe3c84 Honor CAM_TAG_ACTION_NONE. 1998-10-15 23:17:58 +00:00
mjacob
79798ff9eb Andrew Gallatin reported some internal queue overflows with MAXISPREQUEST
at 256. So- to be safe, let's roll back to 64 while we do some more
investigating.
1998-10-14 16:55:00 +00:00
dfr
36a8222236 Add hooks so that the alpha can detect which disk has the root partition. 1998-09-26 14:37:49 +00:00
mjacob
2426c8b34c Bump request queue size up to full amount (now that we have
a contiguous CCB memory allocation).
1998-09-18 18:58:07 +00:00
mjacob
4cc465448d (requested by gibbs) Remove the SCSI_CAM option (and rework the isp driver
that had depended on it for compilation within or without CAM to use
__FreeBSD_version instead).
1998-09-18 00:46:42 +00:00
mjacob
00163848c1 per bde (who is right about this) that an inlined fucntion with const
char * strings being returned defined in a header file included several
places but only used in one module, is, uh, silly.
1998-09-17 23:20:29 +00:00
mjacob
cbc05032bc Cleanliness. Don't leave defined a const char array that's only used
if target mode is defined (which it isn't, yet).
1998-09-17 22:53:35 +00:00
mjacob
2b203e82ec A major amount of cleaning up:
+ Change some messages about CCB memory allocation
	+ Turn a failure to DMA map all of a transaction due to lack of
	  ISP queue entries into a requeue operation (instead of the
	  case where it had been treated the same as a DMA too big
	  operation).
	+ put back splsoftvm around bus_dmamap_load calls.
	+ cleanup (and fix a glaring bug) in the and of the dma setup
	  routine. Also, the dma setup routines either return CMD_QUEUED
	  (for success) or CMD_COMPLETE (for failure) or CMD_EAGAIN
	  (for requeuing for resource shortage reasons).
1998-09-17 21:11:21 +00:00
mjacob
45723eb957 Clean up a comment. Make the default debugging level contingent upon CAMDEBUG. 1998-09-17 21:06:38 +00:00
mjacob
1f41f720c7 Remove commented out and no longer pertinent EAGAIN message. Redo CMD_COMPLETE
logic for returns from inner layer (just make sure that a CAM_REQ_INPROG
doesn't get xpt_done'd).
1998-09-17 21:05:40 +00:00
mjacob
4d3cd8e51f ISP_DMASETUP now returns a value to be possibly punted to outer layers.
Turn request queue overflow messages into debug messages. Ensure on
isp_restarts that we nullify the xflist array.
1998-09-17 21:03:45 +00:00
mjacob
9dad24d2f6 Roll revision, clean up a comment. 1998-09-17 21:02:18 +00:00
mjacob
5b2097bd6c Fix the (unported) resource shortage case- I'd done a xpt_freeze_simq
but had never done a CAM_RELEASE_SIMQ to restart the queues.
1998-09-16 19:52:22 +00:00
mjacob
d85d94f4f7 Alpha port related fixes from Doug Rabson.
Submitted by:	dfr
1998-09-16 16:43:17 +00:00
mjacob
c773a864d9 alpha port fixes from Doug.
Reviewed by:	dfr
1998-09-16 16:42:40 +00:00
mjacob
ee0c7c1d4f fix reported compile error flying blind- I do not have the new compiler yet 1998-09-15 22:44:51 +00:00
gibbs
ec8a52546b Convert ISP pci front end to CAM/bus space/dma.
Convert ncr driver to CAM.
1998-09-15 10:06:23 +00:00
gibbs
331be1099c Contents were duplicated. 1998-09-15 09:59:37 +00:00
gibbs
dbf36c8a08 Update QLogic ISP support for CAM. Add preliminary target mode support.
Submitted by:	Matthew Jacob <mjacob@feral.com>
1998-09-15 08:42:56 +00:00
bde
d09c7eccb2 Use [u]intptr_t instead of [unsigned] long to convert and/or represent
pointers.

This finishes fixing conversions between pointers and integers of
possibly different sizes in GENERIC.
1998-08-10 17:21:49 +00:00
mjacob
a3b54b46a3 minphys means something different in FreeBSD than in NetBSD- not needed here and in the way 1998-07-25 04:48:25 +00:00