freebsd-nq/sys/dev/isp
Matt Jacob 64edff948b I don't know what I was thinking- if I have two separate busses on on
SIM (as is true for the 1280 and the 12160), then I have to have separate
flags && status for *both* busses. *Whap*.

Implement condition variables for coordination with some target mode
events. It's nice to use these and not panic in obscure little places
in the kernel like 'propagate_priority' just because we went to sleep
holding a mutex, or some other absurd thing.

Remove some bogus ISP_UNLOCK calls. *Whap*.

No longer require that somebody do a lun enable on the wildcard device
to enable target mode. They are, in fact, orthogonal. A wildcard open
is a statement that somebody upstream is willing to accept commands which
are otherwise unrouteable. Now, for QLogic regular SCSI target mode, this
won't matter for a damn because we'll never see ATIOs for luns we haven't
enabled (are listening for, if you will). But for SCCLUN fibre channel
SCSI, we get all kinds of ATIOs. We can either reflect them back here
with minimal info (which is isp_target.c:isp_endcmd() is for), or the
wildcard device (nominally targbh) can handle them.

Do further checking against firmware attributes to see whether we can,
in fact, support target mode in Fibre Channel. For now, require SCCLUN
f/w to supoprt FC target mode.

This is an awful lot of change, but target mode *still* isn't quite right.

MFC after:	4 weeks
2001-09-04 21:53:12 +00:00
..
isp_freebsd.c I don't know what I was thinking- if I have two separate busses on on 2001-09-04 21:53:12 +00:00
isp_freebsd.h I don't know what I was thinking- if I have two separate busses on on 2001-09-04 21:33:06 +00:00
isp_inline.h Macroize request/response in/out queue pointer access. 2001-07-04 18:52:23 +00:00
isp_ioctl.h Spring MegaChange #1. 2001-05-28 21:20:43 +00:00
isp_pci.c If we're on an interrupt stack, mark things so that we don't try 2001-09-04 21:45:57 +00:00
isp_target.c Note for ATIOs returned because of BDRs or Bus Resets for which bus this 2001-09-04 21:48:02 +00:00
isp_target.h Fix SET_IID_VAL/SET_BUS_VAL macros to usable. 2001-09-04 19:42:13 +00:00
isp_tpublic.h Spring MegaChange #1. 2001-05-28 21:20:43 +00:00
isp.c Clarify issues about whether we have SCCLUN (65535 luns) or non-SCCLUN (16 2001-09-03 03:09:48 +00:00
ispmbox.h Add 2 Gigabit Fibre Channel support (2300 && 2312 cards). This required 2001-08-31 21:39:04 +00:00
ispreg.h Add 2 Gigabit Fibre Channel support (2300 && 2312 cards). This required 2001-08-31 21:39:04 +00:00
ispvar.h Add some more firmware revision macros. Add firmware attributes field 2001-09-03 03:03:32 +00:00