Commit Graph
254 Commits
Author SHA1 Message Date
Matt Jacob 054bef1407 MFC: Role core minor. Handles are 16, not 32 bits. Add the ISPCTL_RUN_MBOXCMD
isp_control functio. Add the ISPASYNC_UNHANDLED_RESPONSE response async
event code.
2001-03-04 22:18:19 +00:00
Matt Jacob e59a3b2b25 MFC: The flag ICBOPT_BOTH_WWNS is more descriptive than ICBOPT_USE_PORTNAME. 2001-03-04 22:17:17 +00:00
Matt Jacob 1a35ab099c MFC: Update copyright. Accomodate changes to Qlogic parallel SCSI target
mode spec (half of what had been a 32 bit 'driver reserved' value is now
a 16 bit handle that is used to correllate CTIOs with a specific ATIO- we
have to make sure we pass it on thru. Propagate back proper at2_entry
format (instead of one derived from an at_entry). Handles are 16, not
32 bits.
2001-03-04 22:16:47 +00:00
Matt Jacob 5ddfbcea8a MFC: rev copyright. propage Asmodai's spelling correction. Handles
are 16 not 32 bits now.
2001-03-04 22:15:08 +00:00
Matt Jacob b711ef9a90 MFC: handles are 16 not 32 bits now. 2001-03-04 22:14:39 +00:00
Matt Jacob 4cee15893a Roll platform minor.
MFC: Remove name/unit from softc- replace with device_t from probe. Store
default WWWs for both port && node.
2001-03-04 22:14:09 +00:00
Matt Jacob 6a1af8098d MFC: Remove usage of isp->isp_name/isp->isp_unit (use isp->isp_dev). Remove
stray newline in foormat string. Note the we don't support 2nd channel
on 12160/1280 cards in target mode yet. Clean up target mode so that it
more or less works again. Remove nearly all printfs and use device_printf
or isp_prt. Handles are 16- not 32 bits now. We can now cope with at least
the latest Qlogic 1040 Target Mode f/w (12160/1X80 not working yet).
2001-03-04 22:13:12 +00:00
Matt Jacob f9bdfd9842 MFC: Update Copyright. Change handles from 32 to 16 bits. Catch a
longstanding bug about making sure that we're using both WWNs (port
and node). Add ISPCTL_RUN_MBOXCMD isp_control function.
2001-03-04 22:10:32 +00:00
Matt Jacob 7c59cd9e88 MFC: Fix isp_print_qentry to print all four lines- it's been broken for months. 2001-03-02 04:56:56 +00:00
Matt Jacob cf34018b30 MFC: removal of ISP2100_FABRIC. Insertion of extra loop states. More
MFC: isp_control functions && defines && explanations. Ditto isp_control.
2001-02-12 01:19:52 +00:00
Matt Jacob 6a5d39b7f2 MFC: FC-AL position map structure. 2001-02-12 01:19:04 +00:00
Matt Jacob 507bd2d42e MFC: implementation of isp_fc_runstate function. 2001-02-12 01:18:43 +00:00
Matt Jacob 2e702e04a9 Roll version minor. MFC: removal of ISP2100_FABRIC. 2001-02-12 01:18:24 +00:00
Matt Jacob 74186a304f MFC: cleanup of adapter role, 'fixing' of target mode. 2001-02-12 01:17:55 +00:00
Matt Jacob a00496ebe1 MFC: major rework of loop events. 2001-02-12 01:16:49 +00:00
Matt Jacob 7e41d12a39 MFC: removal of MAINTAINER (let the games begin!) 2001-02-12 01:13:21 +00:00
Matt Jacob 131c44749a MFC: constify some strings (for better compile time checking support).
Reset FPM/FBM for 2X00 cards in isp_reset. Implement HBA role support.
Some isp_prt argument cleanup. Change some fabric stuff to use targets
0..125 in F-port topologies, notice when fabric devices go away.
Register FC4 types with the name server (so we can work with McData
switches). Yet again fool around with some more WWN default stuff.
2001-01-17 19:34:09 +00:00
Matt Jacob 3ea1281525 MFC: fix for overflowing 32 bit timeout tick values (on high HZ alphas).
Fix some isp_prt missing/misplaced arguments. Accomodate recent changes
to Fabric Support.
2001-01-17 19:30:37 +00:00
Matt Jacob 70526551f1 MFC: Roll platform version. Wait longer for mailbox commands to time out.
Print out opcode if we imeout.
MFC fix for 22650 (remember to set CAM_AUTOSNS_VALID if we have sense data).
2001-01-17 19:28:57 +00:00
Matt Jacob 32ec061231 Add in offsets for ATIO2 WWPN && ATIO2 OXIDs... 2001-01-17 19:27:36 +00:00
Matt Jacob 1ec95f4e73 MFC: add some specific 2X00 status request defines. Add in the SNS
offsets && sizes for REGISTER FC4 SNS subcommands.
2001-01-17 19:27:14 +00:00
Matt Jacob 2c48c29606 MFC: add enough bits to access and reset the FPM and FBM modules. 2001-01-17 19:26:36 +00:00
Matt Jacob 240162d25f MFC: Add in HBA roles. Shuffle some fabric stuff so that ISPASYNC_PDB_CHANGED
is gone and replaced by ISPASYNC_LOGGED_INOUT, and ISPASYNC_CHANGE_NOTIFY
covers both fabric and local loop stuff.

Declare isp_rpt to be a printf like function (for GNUC compilers only).
Hey- it helped catch some missing arg cases.
2001-01-17 19:26:11 +00:00
Matt Jacob 7359cea40c MFC: Add interrupt instrumentation. Change ISP_CFG_NPORT config option to
a set of options that allows specific loop, loop-only, nport, nport-only
topology settings. Define a required macro for all platforms (USEC_SLEEEP).
2000-12-05 07:52:09 +00:00
Matt Jacob 151bdb3526 MFC: Only call ISP_UNLOCK/ISP_LOCK if isp->isp_osinfo.intsok in USEC_SLEEP.
Add a test against isp->isp_osinfo.islocked prior to trying to see
whether --isp->isp_osinfo.islocked is zero to cause us to unlock
(non-SMPLOCK case). Add USEC_SLEEP macro support. Change the location at
which we define ISP_LOCK/ISP_UNLOCK macros.  Roll minor revision again.
2000-12-05 07:51:35 +00:00
Matt Jacob 428117b36b MFC: Replace some more printfs with isp_prt's. Use isp_prt/ISP_LOGDEBUG0
for rate setting/getting printouts. Remove "SERVICING_INTERRUPT" nonsense
2000-12-05 07:49:16 +00:00
Matt Jacob 6a0a67fff6 MFC: Make the Not RESPONSE in RESPONSE QUEUE message have a bit more info
(specifically, how many entries we've looked at so far). Maintain
interrupt instrumentation. Use USEC_SLEEP instead of USEC_DELAY in
a number of places (this allows us to drop locks and sleep instead
of spin). Track changes to configuration options for topology preference.
Fix botched order of printout for Channel, Target, Lun.
2000-12-05 07:48:01 +00:00
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