Commit Graph
227 Commits
Author SHA1 Message Date
Matt Jacob 85826fb7a0 fix copyright 2000-10-27 21:59:20 +00:00
Matt Jacob 873f76acc4 fix type in copyright 2000-10-27 21:58:59 +00:00
Matt Jacob 1e5ac3a974 MFC: changes to default WWN handling. 2000-10-27 21:58:00 +00:00
Matt Jacob b732878ddf MFC: changes to default WWN handling.
Roll platform minor.
2000-10-27 21:57:32 +00:00
Matt Jacob 92d514dcc9 MFC the major rewrite of this driver (core version 2.0). MFC support
for the non-attach of Qlogic 12160 with certain sub-vendorid.
2000-09-21 21:19:08 +00:00
Matt Jacob e9ddc9edcf MFC: correct missing portion of complete STRNCAT cleanup. 2000-07-18 07:20:53 +00:00
Matt Jacob 2eba555b9c MFC:Add in some new IN_XXX and CT_XXXX flags in preparation
for the rototilling that !*$)~@!$_@*_(~@$*_(~@$*~@$*
Qlogic F/W changes will need.
2000-07-18 07:07:26 +00:00
Matt Jacob 836db5992c MFC:If debugging set, zero out an incoming response entry
when we're done reading it (makes checking things easier).
Before calling isp_notify_ack make sure we're at RUNSTATE-
elsewise we can be responding to LIPs or SCSI bus resets
before we've finished some of the wiring.
2000-07-18 07:05:58 +00:00
Matt Jacob 04d396a55f MFC (rev 1.42)- lots of target mode changes. 2000-07-18 07:03:42 +00:00
Matt Jacob 9b54ae5632 MFC: Raise debug level for some messages. Fix botched inversion
about MBOX_COMMAND_ERROR vs. MBOX_COMMAND_PARAM_ERROR.
2000-07-18 06:47:19 +00:00
Matt Jacob 9ac958a865 MFC:
Oops! If we're deciding a command is now really dead, make *darned*
sure that it really is by issuing a ISPCTL_ABORT_CMD just on the
off chance the f/w will start it up again and, ha ha, start using
the DMA resources we gave it but are now taking away.
2000-07-05 18:59:32 +00:00
Matt Jacob ee8f5914ca MFC:
Clean up ISPCTL_ABORT_CMD function to not be too chatty if it succeeds,
or even if it fails with INVALID_PARM (which just means that the handle
doesn't refer to an active commane).
2000-07-05 18:58:47 +00:00
Matt Jacob 49da41564e MFC: Remove obsolete isp_dogactive tag.
Add 8 bits of volatile mailbox busy mask- this will be the bitmask
of output mailbox values we want to get back out of the chip once
a mailbox command is done. Add storage for the maximum number of
output mailbox registers to the softc.  Set ISP_MAX_LUNS to be off
of new isp_maxluns tag in softc.  Change our 'fabdev' tag to
'loggedin'.  Increase size (and add defines for) topology storage.

Roll minor version numbers.
2000-07-04 02:31:19 +00:00
Matt Jacob 92d99305d8 MFC: Add mailbox bitmask macros (numbers of available mailbox registers
based upon Qlogic chip type). Define maximum mailboxes. Add INT_PENDING_MASK
macro. Change mailbox offset macro name.

cleanup i_int_X vs. uint_X definitions

The storage for WWN from NVRAM is actually the PORT WWN, not the NODE WWN.
2000-07-04 02:30:09 +00:00
Matt Jacob 9142187c1c MFC: add MBOX_GET_RESOURCE_COUNT command 2000-07-04 02:29:24 +00:00
Matt Jacob 9c5a03ddee MFC: add "disable autodisconnect" flags 2000-07-04 02:28:55 +00:00
Matt Jacob cc010aab96 MFC: Remove all ISP2100_SCCLUN define based code and replace it with runtime
comparisons against the tag isp_maxluns- if > 16, we're SCCLUN based.

On initial regular SCSI startup, disable auto-disconnect.
2000-07-04 02:28:28 +00:00
Matt Jacob 15a12e9668 MFC: Fix completely stupid and idiotiuc sprintfs in isp_inline.h with
with the STRNCAT function.

Add an isp_handle_index function- this is prepatory to loading more into
the handle (i.e., generation number), so we will now need a function that
will take a handle and return a flat index [ 0 .. maxhandles-1 ] for
auxillary routines that need an index to get at buddy store values
(like dma maps or xflist pointers).
2000-07-04 02:27:47 +00:00
Matt Jacob 250d7106a2 MFC: Roll platform minor number. Force definition of SCSI_ISP_FABRIC
(we always support fabric now). Remove SCCLUN definition (we always
support SCCLUN now, if we load the f/w). Add typedef definition of an
external firmware fetch function.

Clean up private storage so that we can use the spriv_field0 to
store a bitmask of whether we've set a value into ccb->ccb_h.status,
whether we're in the watchdog routine for this command now, whether
we've set a grace period for this command and whether this command is
actually done.

See comments of rev 1.45 of isp.c for more complete information.

Add in isp_lock/isp_unlock inlines. Add in an islocked/intsok flag
to isp_osinfo substructure (all in prep for SMP). Define MBOX_WAIT_COMPLETE
and MBOX_NOTIFY_COMPLETE macros so that we can now (temp) use tsleep
to wait for mailbox completion. Requires us to guess whether we're
servicing an interrupt or not- will use intr_nesting_level.

Add local strncat function.
2000-07-04 02:26:34 +00:00
Matt Jacob 60b5983773 MFC (1.35, 1.36, 1.37, 1.38, 1.39, 1.40): (yes, these should be a better
set of comments- basically synchronization of changes to watchdog timeouts).
2000-07-04 02:25:14 +00:00
Matt Jacob 3060b94fb5 MFC (revisions 1.42 - 1.46) - I'm not going to replicate all of the
comments- particularily for 1.45.
2000-07-04 02:23:12 +00:00
Matt Jacob 7b6a16ad37 MFC: Remove asm_pci.h from this branch- we now have the ispfw module. 2000-07-04 02:08:35 +00:00
Matt Jacob 03ee8c31fd MFC: roll core minor. Add definitions for topology. 2000-05-09 05:11:03 +00:00
Matt Jacob 97d3caf4d5 MFC: it is PORT not NODE for WWN in NVRAM 2000-05-09 05:10:31 +00:00
Matt Jacob 36d3587c0a MFC: protect macro with parens 2000-05-09 05:09:51 +00:00
Matt Jacob ef6bb44479 MFC: clarify some comments 2000-05-09 05:09:25 +00:00
Matt Jacob 38edf5fefc MFC: clean up some prototpes 2000-05-09 05:09:02 +00:00
Matt Jacob aa9d2024c8 MFC: put in the right place NA_RST_CLRD 2000-05-09 05:08:40 +00:00
Matt Jacob 952f87f595 MFC: roll platform minor 2000-05-09 05:08:11 +00:00
Matt Jacob fb1147df5c MFC: add a watchdog timeout routine 2000-05-09 05:07:55 +00:00
Matt Jacob b6b7e948ab MFC: some fabric && WWN related fixes, plus some bothces about overwriting
busses with pending Sendmarker operations.
2000-05-09 05:07:05 +00:00
cvs2svn 842f308487 This commit was manufactured by cvs2svn to create branch 'RELENG_4'. 2000-03-13 04:59:44 +00:00
Matt Jacob eb76ec8076 Add in mailbox return codes for failed fabric logins (port_id_used,
loop_id_used, etc...)

Do a more precise structure for Get All Next name server responses.

Approved: jkh
2000-02-29 05:54:48 +00:00
Matt Jacob adde48b322 Minor non-FreeBSD changes (keeping source sync'd).
Approved: jkh
2000-02-29 05:53:41 +00:00
Matt Jacob 40cfc8fe8e Prettier print of fabric devices being attached- say what kind of
port they are (e.g., F_Port vs. N_Port).

Approved: jkh
2000-02-29 05:53:10 +00:00
Matt Jacob cf74f2682e Slightly cleaner fabric support (whiter whites! redder reds!).. No,
seriously- only attempt to logout a previously logged in fabric device.

Fix a longstanding bug for aborting overtime commands- handle halves
have always been reversed.

Clean up some error messages to indicate channel number.

Approved:jkh
2000-02-29 05:52:14 +00:00
Matt Jacob 2e56bc770d Clean up defines for correct 12160/1080 exclusion. Final 4.0.
approved: JKH
2000-02-29 05:48:46 +00:00
Matt Jacob b6f774e39b Fix ITDEBUG macro.
Approved: jkh
2000-02-15 00:54:26 +00:00
Matt Jacob 14a3729325 Correctly identify which bus of dual bus SCSI adapters some target mode
commands (enable/disable/modify lun && immediate notify) we're talking about.

Approved: jkh
2000-02-15 00:53:49 +00:00
Matt Jacob d667c06c77 Clean up some target mode debug messages. Fix (finally, I believe)
Andrew's problems with SCSI on some alphas- do not call isp_update
directly to update parameters- just mark them as being ready to
update for the next command- the system would just hang on a READ
CAPACITY for a drive. Really annoying because it wouldn't even timeout
(and it has a timeout) so either the SET PARAMETERS call was nuking
things or the f/w was really dropping the ball.

approved: jkh

Reviewed by:	[email protected]
2000-02-15 00:52:52 +00:00
Matt Jacob e142669a43 If the CDB length is greater than 12 for parallel SCSI, ispscsicmd has
made the initial queue entry a EXTENDED CMD queue entry, so we have to
go straight to continuation segments for any data segments.

approved: jkh
2000-02-15 00:50:01 +00:00
Matt Jacob fe4d046167 Clean out residual bogosity for fast posting stuff- ISP_NO_FASTPOST_SCSI
is gone as a define. We just don't support fast posting for anything less
than the 1240/1080/1280/12160 or Fibre Channel cards.

Put in support for CDB's larger than 12 bytes for parallel SCSI (up to 44
bytes are allowed).

Approved: jkh
2000-02-15 00:35:00 +00:00
Matt Jacob 960f6939af Add in 12160 (Ultra3) support. Redo things to use the newbus code.
Approved: [email protected]

PR:		16141
2000-02-11 19:45:17 +00:00
Matt Jacob 66dcc0e99f Turn back on fast posting- the code that turns it off (for 1020/1040) is
now in isp.c

Approved: [email protected]
2000-02-11 19:37:56 +00:00
Matt Jacob af4d01494d Correct a minor typo in error message.
Approved: [email protected]
2000-02-11 19:36:30 +00:00
Matt Jacob c2e7467339 Add in new async mbox defines for 2200- point to point stuff.
Add in definitions for the extended initialization control block
(2200 only again).

Approved: [email protected]
2000-02-11 19:35:42 +00:00
Matt Jacob c211f23b90 Add in 12160 (Ultra3) NVRAM definitions.
Approved: [email protected]
2000-02-11 19:34:33 +00:00
Matt Jacob fd589c2e36 Add in 12160 (Ultra3) firmware. Gawd, this file is bulky.
Approved: [email protected]
2000-02-11 19:32:51 +00:00
Matt Jacob 0f38a25b52 Restructure nvram reading routine to split out to separate functions
for 1020/1X80/12160/2X00- for readability. Add in 12160 (Ultra3)
support- but not with PPR just yet.  Fix and clarify fetching of
return parameter for getting firmware rev which for the 2200 contains
the connection topology (Private Loop (NL-port), N-port, FL-port,
F-port). Synthesize the connection topology for the 2100 which can
only be Private Loop or FL-port. Handle a couple of new async
mailbox commands which signify connection in Point-to-Point mode
(N-port or F-port) or indicate various toe stubbing getting to same.

Approved: [email protected]
2000-02-11 19:31:32 +00:00
Matt Jacob 83fbc5665e Add 12160 (Ultra3) defines. Add config option flag for forcing point-to-point
instead of FC-AL (2200 only).

Approved: [email protected]
2000-02-11 19:25:01 +00:00