Commit Graph

42 Commits

Author SHA1 Message Date
Dotan Barak
6291409b82 Use inline numbers for masks rather than assume peace
and goodwill and basic sensible cooperation.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@689 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-04 18:38:48 +00:00
Dotan Barak
8f6b4e5b99 Put some limit checking on dma segments so that
we don't, somehow, inadvertantly overrun the total
number of queue entries for a command + continuation
segments.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@680 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-23 23:18:25 +00:00
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
Dotan Barak
aef7fa62d9 Fixed the following sparse warnings:
warning: Using plain integer as NULL pointer
warning: obsolete struct initializer, use C99 syntax
warning: symbol 'hba_api_ioctl_operations' was not declared. Should it be static?

Submitted-by: Dotan Barak <dotanba@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@488 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-08-14 22:42:58 +00:00
Vladislav Bolkhovitin
8c71b68271 - Version changed to 1.0.1
- Switched back to the debug mode



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@442 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-09 16:44:01 +00:00
Stanislaw Gruszka
5172b31980 Add release2debug and debug2release Makefile targets for qla_isp.
Leave qla_isp in release 'state' as other stuff.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@434 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-08 07:59:42 +00:00
Stanislaw Gruszka
684a1ed5b8 Check preprocesor definitions when releasing firmware.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@395 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-24 13:48:20 +00:00
Vladislav Bolkhovitin
56e642cf77 Patch from Bart Van Assche <bart.vanassche@gmail.com>:
The patch below implements the following changes:
- Fixes the remaining warnings reported by checkpatch.pl with regard to the use
  of whitespace in C code.
- Adds double qoutes around some #warning messages, such that checkpatch.pl
  does no longer try to interprete the text behind the #warning preprocessor
  directive.
- Adds an extra conversion to the generate-kernel-patch script that removes
  the single space from before goto-labels while generating the kernel patch.

This patch has been tested as follows:
- Verified that svn diff -x -w only shows changes in the #warning preprocessor directives.
- Verified the output of svn diff by reading it.
- Verified that checkpatch.pl does no longer complain on the use of whitespace
  (searched through the checkpatch.pl output for the text ' space').
- Verified that the patch generated by the generate-kernel-patch script still
  applies cleanly to the 2.6.24 kernel, and that the patched kernel still compiles cleanly.

Please let me know if I have to resubmit parts of this patch to other SCST authors.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@381 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-21 11:56:09 +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
eac485e270 Nullify f/w pointer if load fails.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@360 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-01 06:46:23 +00:00
Stanislaw Gruszka
9252bb3170 Synchronize with Feral CVS repository:
- use kthread
- MBOX_ACQUIRE macro redefined


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@355 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-24 06:34:08 +00:00
Stanislaw Gruszka
ca650f2bb6 Add missed things from Feral CVS repository.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@321 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-01 12:04:34 +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
e9b645432d Synchronize with Feral CVS repository:
- Make pre-1240 cards be able to do 64 bit dma as well, making sure that
  they don't cross a 16MB boundary.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@316 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 13:01:38 +00:00
Stanislaw Gruszka
b3cbdff958 Synchronize with Feral CVS repository:
- whitespace and other minor fixes
- Remove F/W crash dump support. We only worked it out for 2200 and 2300
  cards. It's also true that QLogic would not support us even if we *did*
  give them a crash dump, so the usage here is not really worth it.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@311 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:42:36 +00:00
Stanislaw Gruszka
8ec477fea4 Synchronize with Feral CVS repository:
- Use a slightly cleaner macro.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@309 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:35:40 +00:00
Stanislaw Gruszka
7d98059854 Synchronize with Feral CVS repository:
- whitespace


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@308 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:33:36 +00:00
Stanislaw Gruszka
c2d9a1310f Synchronize with Feral CVS repository:
- Allow different platforms/environments to specificy the size of the
  high and low private storage for tmd_cmd_t structures
- Add a scan scsi thread event so that we can attach devices as we
  discover them
- Fix some tabs
- Make things work correctly when CONFIG_FW_LOADER is *not* defined
- Get rid of sema and use wait_interruptible


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@307 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:31:35 +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
11d433ade4 Synchronize with Feral CVS repository:
Clean up MSI-X implementation and make sure we snag at least *3* vectors
so that the ATIO-Q vector is snagged.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@284 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 11:10:16 +00:00
Stanislaw Gruszka
c5e240b44f Synchronize with Feral CVS repository:
- Add a missing MSI disable and provide for pre-2.6.8 kernels.
- Fix bugs- forgot to actually compile (shame on me).


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@283 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 11:08:06 +00:00
Stanislaw Gruszka
bdd6415a91 Synchronize with Feral CVS repository:
I don't know why I thought this would work- forcing a re-login to the fabric
controller just barfs.

Make down count reflect jiffies elapsed rather than depend on calls to
ISP_FC_RESCAN.

Shorten deadloop time default to 10 seconds.

At least enable MSI (if not MSI-X) for 24XX cards.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@282 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 11:05:04 +00:00
Stanislaw Gruszka
17be1044c5 Synchronize with Feral CVS repository:
Make 2100/2200 and 2300 cards also maintain a target mode port database.

For the 24XX, we have to find the IID, N-port handle and channel when we
get an ATIO7. For the other cards, we already have the channel and N-port
handle and Port IID of the initiator, but have to find the S_ID.

Do the isp_find_pdb_by_{sid,loopid} functions search backwards to minimize
search time.

Don't load fw images more than once per device type!


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@279 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 10:55:04 +00:00
Stanislaw Gruszka
2a806d5bb5 Synchronize with Feral CVS repository:
- Allow ISP_FC_GETDINFO callers to get target mode entries.
- Remove stray '`' from define and PPC is now working again.
- Fix a typo which had us loading 2322 f/w into a 2300. Oops.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@278 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 10:50:57 +00:00
Stanislaw Gruszka
ba3e4ca72f Synchronize with Feral CVS repository:
Put RISC_CODE define in the firmware files.

Use the Linux 2.6 firmware loader support if available. This saves
close to 700K of useless code getting loaded otherwise.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@277 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 10:48:35 +00:00
Stanislaw Gruszka
1d33858644 Synchronize with Feral CVS repository:
Set PCI-X and PCI-E readahead to what QLogic manuals recommend.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@276 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 10:46:32 +00:00
Stanislaw Gruszka
609c5c6515 Synchronize with Feral CVS repository:
- Add ASYNC_RCV_ERR
- Allow LIP to have a (possible) channel.
- Update for some channel stuff.
- whitespace


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@268 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 09:53:27 +00:00
Stanislaw Gruszka
5373dc7666 Synchronize with Feral CVS repository:
- Make sure we set/clear TDFL_ERROR
- Make sure we set SENSE VALID when we do a synthetic CTIO that has status.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@266 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 09:43:44 +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
4bfc86256a Synchronize with Feral CVS repository:
Warn about bogus sense data in isp_target_start_ctio. Remove some redundant
zero initializations.

Make more common and more useful the debug printouts for the
various target dma mapping routines.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@264 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 09:35:47 +00:00
Stanislaw Gruszka
4fa643c9f5 Synchronize with Feral CVS repository:
Hmm. Just in case INI_ANY and INI_NONE are not defined, define them here.
This is for the case of external software including isp_tpublic.h only.

Fix some misapplied flags.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@261 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 09:22:32 +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
75428f7e2d Synchronize with Feral CVS repository:
- do not dereference a null pointer


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@259 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 09:11:30 +00:00
Stanislaw Gruszka
bd61ebf496 Synchronize with Feral CVS repository:
-revert the part of 1.174 that stopped complaining about not finding
 fast posting handles.
-pull REPORT LUNS (and LUN INVENTORY MAY HAVE CHANGE CA condition) from
 multi-channel branch


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@256 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 08:58:04 +00:00
Stanislaw Gruszka
284d07c718 Synchronize with Feral CVS repository:
- clean up tpublic notes and change tmd_xfr_t to tmd_xact_t
- minor cleanups from mendocino


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@255 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 08:40:54 +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
Stanislaw Gruszka
b10fbd2b80 Request irq after pci initialization is finished.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@187 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-09-12 14:11:45 +00:00
Stanislaw Gruszka
59cfad3952 Get irq number from PCI subsystem after irq routing mechanism (like ACPI)
set it up. Otherwise we get irq number from legacy BIOS range and proper irq 
(other number from PCI range) is not handled or handled by other driver - 
- VERY VERY BAD THINGS happen then. 


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@178 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-08-31 09:40:17 +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