Commit Graph

19 Commits

Author SHA1 Message Date
Dotan Barak
6880b800ef Major rewrite of DMA mapping code to reduce code duplication
and to allow some debug and enhancements that will be easier
soon.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@679 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-23 00:13:25 +00:00
Dotan Barak
97abf4d107 Merge in work from Feral into this branch. The
recovery from not being able to push a ctio
fix is in. Various task management fixes are
also in. Other work in progress.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@672 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-11 18:55:43 +00:00
Dotan Barak
508b07dbb0 Add more startup delay for 24XX cards when execing f/w (temp soln)
Add support for up through 2.6.25 (might even be good for 2.6.26)
Remove HBAAPI support. This never has worked well and I doubt anyone will miss it.
Remove files not pertinent SCST build.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@493 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-09-12 22:30:21 +00:00
Vladislav Bolkhovitin
1213800b2f Patch from Bart Van Assche <bart.vanassche@gmail.com>, except few chuncks from qla2x00t/ obviously not related to the target mode addon:
One of the Linux kernel patch submission requirements is that source files do
not contain trailing whitespace. The patch below removes trailing whitespace
from .c and .h source files.

Note: it might be more convenient to run the script I used to generate this
patch than to review and apply the patch below. This is how I generated and
verified the patch below:

cat <<EOF >./strip-trailing-whitespace
#!/bin/bash
trap "rm -f $t" EXIT
t=/tmp/temporary-file.$$
for f in "$@"
do
  sed 's/[	 ]*$//' <"$f" >"$t" && mv "$t" "$f"
done
EOF
chmod a+x ./strip-trailing-whitespace
find -name '*.[ch]' | xargs ./strip-trailing-whitespace
svn diff -x -w

Signed-off-by: <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@377 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-19 10:21:41 +00:00
Stanislaw Gruszka
2152c7ad20 Synchronize with Feral CVS repository:
- define an IS_1020 macro
- more dma mask cleanups


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@317 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 13:03:31 +00:00
Stanislaw Gruszka
ec367bff87 Synchronize with Feral CVS repository:
- remove the poorly thought out isp_in_intr goop


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@315 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 13:00:26 +00:00
Stanislaw Gruszka
d2303505f5 Synchronize with Feral CVS repository:
- Make FC_SCRATCH_ACQUIRE a macro that returns true/false
- Fixes from Stanislaw for 2.6.23 & 2.6.24. Many thanks.
- A quick hack to isp_kthread to use waitqueues instead of semaphores
  to have less blockage. More rewrites later


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@314 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:58:58 +00:00
Stanislaw Gruszka
d558c6d867 Synchronize with Feral CVS repository:
- Do some whitespace changes. Solaris related compilation fix. Remove
  XS_SET_STATE_STAT macro.
- Remove XS_SET_STATE_STATE macro.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@313 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:47:37 +00:00
Stanislaw Gruszka
e9d1b2f52a Synchronize with Feral CVS repository:
- simplify: remove f/w crashdump stuff


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@310 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:38:10 +00:00
Stanislaw Gruszka
dc05d8b731 Synchronize with Feral CVS repository:
- Copyright Update
- Fix some fabric login bugs


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@305 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:23:27 +00:00
Stanislaw Gruszka
a13eae04d2 Synchronize with Feral CVS repository:
Note that asking for "prefer N-port and then Loop" with the 24XX seems to
cause the f/w to crash. So, don't do that.

Firmware crashes are now considered fatal and cause the HBA to be marked dead.

Now that we've avoided the f/w crash in isp_init_24xx, we can process
toplogy options.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@274 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 10:41:45 +00:00
Stanislaw Gruszka
81e3f89ae0 Synchronize with Feral CVS repository:
Don't use both WWNs in the ICB block unless they're not NAA==2. This makes us
more consistent with QLogic driver setups and thus more likely to fit into the
same zoning setups.

If we're getting a PDB and it's for the Fabric Controller, force a login
to it (just in case it logged out underneath us). Return 'not logged in'
for the 24XX in case the 24XX specific login state isn't in the range of
PLOGI_DONE to LOGGED IN.

Don't do local loop scans if we have more than one channel (NP-IV) and we're
in a FL-port topology- we just end up poking ourselves usually.

Make sure we set loopstate in a couple of places we missed so that we
try and get it again.

Add in the RESET DEVICE and ABORT COMMAND functions for the 24XX cards
(finally).

Fix a longstanding bug where were passing the wrong (off by one) output
pointer to isp_handle_other_response.

Change isp_async...ISPASYNC_CHANGE_NOTIFY to have N-port handle, nlstate and
reason included as we get these for free with PDB Changed stuff for the
24XX card. Eventually we should be able to edit single local PDB entry
states instead of doing a full eval.

Put in the put of a 24XX Task Management Function IOCB. There is no get because
the firmware doesn't return it when done- instead a status iocb is done.

There is no "FAST POST" flag for the 24XX- this is a NOACK flag which means
that there is no interrupt if all goes well.

Fix spelling mistakes.

In isp_add_wwn_entry, ahem, don't allocate PDB entries out of the 'rexerved
for chip' area.

Put more comments in as to why we're terminating an exchange (and make them
all ISP_LOGTINFO).

Add, finally, the correct handling for a QIN_NOTIFY_ACK for a task management
function- this means we construct a ct7_entry_t to get the firmware to send
an FC Response IU for it. So, finally LUN RESETS and TARGET RESETS and
ABORT TASK will actually work and, more importantly, be seen to be working
by initiators.

Fix WWN defaults/active generation and retrieval. It was broken.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@272 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 10:18:14 +00:00
Stanislaw Gruszka
15d36dcaad Synchronize with Feral CVS repository:
- Clean up 24XX abort handling.
- Remove the response queue busy stuff and just have an in_intr flag to note
  interrupt recursion.
- Add a lower level error flag.
- Clarifiy a comment; make a definition for the 'no task' RX_ID.
- Change severity of f/w timeout message
- Do the wait for mbox0 clearing for 2312 cards > revision 1.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@267 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 09:51:21 +00:00
Stanislaw Gruszka
dc71cd464c Synchronize with Feral CVS repository:
Add unit attention injection. Fix some ridiculous Sense things.

Say why we couldn't pci register the driver.

Make isp_thread_event return an int if it fails to send the event. If it
fails to send the event, and this was for the 24XX card finding out the
initiator for a command, return the command with a BUSY status.

An N-port handle of zero is legal for a 24XX.

Add some more special N-Port handle definitions for 2K f/w.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@265 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 09:40:40 +00:00
Stanislaw Gruszka
3ce79239ac Synchronize with Feral CVS repository:
- Start checking for a couple of things for the type of SAN we're connected to.
- Remove restriction against 2.6.23.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@263 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 09:33:44 +00:00
Stanislaw Gruszka
698091ebcb Synchronize with Feral CVS repository:
Go for the gusto and merge multichan_development into the head branch. This
will break FreeBSD and NetBSD ports for a while (yawn) and solaris is dubious
anyway.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@260 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 09:18:28 +00:00
Stanislaw Gruszka
8c1327661b synchronize with feral cvs repository, this time Matthew fix autosense problems :-)
+ The 24XX code in isp_target_start_ctio was setting the wrong values 
to set SENSE LENGTH VALID for the FCP RSPNS IU.

+ Amusingly enough, this apparently didn't matter. In fact, once sense 
data was being put into the ct7_entry_t there was *still* a problem 
and REQUEST SENSE was being sent by the Linux initiator.

+ What *was* happening is that the 24XX requries the response data to
be 32 bit swapped. This is not obvious from the chip documents.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@215 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-11-02 08:43:47 +00:00
Stanislaw Gruszka
63032f29d8 synchronize with feral cvs repository
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@206 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-10-23 08:57:16 +00:00
Vladislav Bolkhovitin
451443a6c8 Patch from Stanislaw Gruszka <stanislawg1@open-e.com>
This is SCST driver for ISP Qlogic chipsets commonly used in many SCSI and FC
host bus adapters. Supported chipset are listed in README file, incomplete
list of supported HBA's is in doc/Hardware.txt .

It is based on Matthew Jacob's multiplatform driver for ISP chipsets,
which can be download from ftp://ftp.feral.com/pub/isp/isp_dist.tgz



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@135 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-06-25 16:32:46 +00:00