Commit Graph

210 Commits

Author SHA1 Message Date
mjacob
ed690d9c3e Fix some breakage about how we build WWNs. Do some other fabric related
changes: consider a new PDB entry different if Class 3 service parameter
roles change (!!!). Do some checking as we're getting a port database
that traps whether things change while we're doing so. Handle N-port
and F-ports correctly. Fix the fabric login loop to retain a login/binding
if things haven't changed (I mean, why logout a device only to log it back
in). No longer accept, after fabric logins, garbage if we can't get a PDB
entry that matches the device we've just logged into- if it doesn't, log
it out as it is very unlikely to still be what we thought it was. Get rid
of some of the debounce loops because we could get stuck there.
2000-05-09 01:14:43 +00:00
mjacob
5de2fadb75 roll platform minor 2000-05-09 01:09:46 +00:00
mjacob
76bd17ce95 Roll core minor version. Change our 'fabdev' tag to 'loggedin'. 2000-05-09 01:09:23 +00:00
mjacob
c88116ffeb Add in a watchdog routine to catch cases where we've dropped the command.
Apparently the f/w has finished the command, but somehow an interrupt is
being lost. So, we just plain wedge when booting alphas.

This is a general routine we've needed for a while.
2000-05-09 01:08:21 +00:00
mjacob
ce20ecee2f The storage for WWN from NVRAM is actually the PORT WWN, not the NODE WWN. 2000-05-09 01:06:47 +00:00
mjacob
581c82c154 Conrrect a macro with parenthesis. 2000-05-09 01:06:18 +00:00
mjacob
723e210142 Now that we fixed the isp_sendmarker botch, we can now do initial bus
resets for ULTRA2/ULTRA3 cards again (which were turned off really because
of a botch for dual bus configurations).
2000-04-21 19:18:06 +00:00
mjacob
c1d6717b16 Roll minor version. Increase size (and add defines for) topology storage. 2000-04-21 02:06:30 +00:00
mjacob
9b9657519c Some minor tweaklets. 2000-04-21 02:05:54 +00:00
mjacob
8fac27e3a3 Add in the now required malloc.h include. I guess somebody
was busy hackin' w/o checking kernel compiles.
2000-04-21 02:05:13 +00:00
mjacob
63c8624516 Pick up topology more sanely at f/w startup. Change the restrictions of
where we can have targets (based on topology).

Much more importantly, make sure all mods to isp_sendmarker or |= so
we don't lose the marking of a bus that needs to have a marker sent for it.
2000-04-21 02:04:34 +00:00
mjacob
6d30280307 Update (finally) 1.15.37 to 1.19.03 for the 2100. This allows us to not
require full logins after a LIP, which always led to loop resets, and
various other perturbations.

Update 2200 f/w from 2.01.00 release to 2.01.09 release.
2000-04-21 02:01:06 +00:00
phk
43018e3fb6 Remove ~25 unneeded #include <sys/conf.h>
Remove ~60 unneeded #include <sys/malloc.h>
2000-04-19 14:58:28 +00:00
mjacob
1fe966d55d roll platform versions to 5.0 2000-03-15 18:49:44 +00:00
mjacob
2c872e1adf Don't do bus resets for ULTRA2 or later cards because what seems to
happen currently is that several commands issued *after* the bus reset are
then reported destroyed.
2000-03-13 16:30:00 +00:00
mjacob
292eeb7939 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
mjacob
cb4e3b7fb4 Minor non-FreeBSD changes (keeping source sync'd).
Approved: jkh
2000-02-29 05:53:41 +00:00
mjacob
b47883d4fe 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
mjacob
8a99ff81f4 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
mjacob
bb3005b8af Clean up defines for correct 12160/1080 exclusion. Final 4.0.
approved: JKH
2000-02-29 05:48:46 +00:00
mjacob
da27f8b786 Fix ITDEBUG macro.
Approved: jkh
2000-02-15 00:54:26 +00:00
mjacob
07ee5d6e63 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
mjacob
ce65effc24 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:	gallatin@freebsd.org
2000-02-15 00:52:52 +00:00
mjacob
787f01b364 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
mjacob
a53d6fcc9b 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
mjacob
fb56a37a53 Add in 12160 (Ultra3) support. Redo things to use the newbus code.
Approved: jkh@freebsd.org

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

Approved: jkh@freebsd.org
2000-02-11 19:37:56 +00:00
mjacob
f54758ef7f Correct a minor typo in error message.
Approved: jkh@freebsd.org
2000-02-11 19:36:30 +00:00
mjacob
5b438c6945 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: jkh@freebsd.org
2000-02-11 19:35:42 +00:00
mjacob
4336ade3f2 Add in 12160 (Ultra3) NVRAM definitions.
Approved: jkh@freebsd.org
2000-02-11 19:34:33 +00:00
mjacob
02ed1312d2 Add in 12160 (Ultra3) firmware. Gawd, this file is bulky.
Approved: jkh@freebsd.org
2000-02-11 19:32:51 +00:00
mjacob
c15fd08951 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: jkh@freebsd.org
2000-02-11 19:31:32 +00:00
mjacob
0a4c551363 Add 12160 (Ultra3) defines. Add config option flag for forcing point-to-point
instead of FC-AL (2200 only).

Approved: jkh@freebsd.org
2000-02-11 19:25:01 +00:00
mjacob
08443f4a4d There seems to be some problems, particularly on alpha, with
FAST POSTING enabled for parallel SCSI. Be sure about things
and disable it for now.
2000-01-21 20:54:22 +00:00
mjacob
2c89b0a4f0 Remove compile warning not seen when compiling with target mode enabled. 2000-01-15 07:06:44 +00:00
mjacob
dc5401349f Redo FC target mode dma routine to try and generate an extra CTIO
in the not so odd case of Moving Data *AND* Sending Status in last CTIO *AND*
status is a CHECK CONDITION *AND* we have Sense Data to send.
2000-01-15 01:54:36 +00:00
mjacob
1e1ee87838 clean up for SBus Ultra (yes, we do not do that here yet) 2000-01-15 01:52:01 +00:00
mjacob
75f5c7844e a whale of a lot of target mode cleanup 2000-01-15 01:50:48 +00:00
mjacob
5e25442520 cleanup- it was not MI code as it should have been 2000-01-15 01:49:09 +00:00
mjacob
b4ba923c33 cleanup 2000-01-15 01:48:24 +00:00
mjacob
071f193acf include public target mode functions 2000-01-15 01:47:10 +00:00
mjacob
02c21d05de public target mode stuff 2000-01-15 01:46:37 +00:00
mjacob
b3dd29920e tighten up printout 2000-01-15 01:43:19 +00:00
mjacob
61d3d5aed2 add MAINTAINER file for clarity 2000-01-13 18:45:14 +00:00
mjacob
09f06df8c1 change debug printout lefvels for a couple of places 2000-01-09 21:47:39 +00:00
mjacob
16f971abe6 oop, use PRINTF not printf in MI code 2000-01-04 05:17:48 +00:00
mjacob
23c66af15b Clean up some debug printing. Find the correct lun when SCCLUN is
defined. If we complete with a check condition but no sense data,
say we had an AUTOSENSE failure.
2000-01-04 03:45:49 +00:00
mjacob
3a99aa2e65 Make Fibre Channel cards correctly note the presence/absence
of ARQ data and punt the dealing with its presence/absence
to the platform layers.
2000-01-04 03:44:21 +00:00
mjacob
19209b7ca7 set default target mode debug to 0 2000-01-04 03:43:03 +00:00
mjacob
64da7cf978 add clarifying tag define for FC 2000-01-04 03:42:19 +00:00