Commit Graph

16 Commits

Author SHA1 Message Date
Bart Van Assche
b065605333 mpt: Avoid that checkpatch complains about stm_[gs]et_dma_addr()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5205 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 09:04:16 +00:00
Bart Van Assche
87c68579ca mpt: Fix whitespace errors reported by checkpatch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5204 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 08:59:20 +00:00
Bart Van Assche
91419daa26 mpt: Fix two checkpatch complaints about asm include files
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5203 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 08:56:28 +00:00
Bart Van Assche
34d18e943e mpt: Port to kernel 3.12 and fix compiler warnings
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5200 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-18 17:48:45 +00:00
Bart Van Assche
f6d1105ed8 mpt: Clean up compiler include path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5199 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-18 17:47:37 +00:00
Vladislav Bolkhovitin
08161076f8 - New main Makefile target fcst added
- Preliminary fixes to compile on 2.6.33



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1515 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-02-20 20:08:10 +00:00
Vladislav Bolkhovitin
f510655081 Typo fixed
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@466 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-18 10:35:56 +00:00
Vladislav Bolkhovitin
88260b17df The LSI SCST driver does not forward ABORT TASK SET task management messages to SCST. This patch fixes that.
Signed-off-by: Erik Habbinga <erikhabbinga@inphase-tech.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@449 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-09 17:38:34 +00:00
Vladislav Bolkhovitin
46a67fdb51 Patch from Erik Habbinga <erikhabbinga@inphase-tech.com>:
I've updated the MPT fusion target driver for LSI SCSI/FC/SAS HBAs.  The original SCST MPT driver was based on the 1.00.13 LSI
sample target driver.  LSI has since released version 1.00.14 of the sample target driver.  I've ported all the changes from .13 to
.14 into the SCST MPT driver for consistency.  I've also updated the SCST MPT driver to compile under 2.6.24 and 2.6.25.4.  Finally,
I force the SCSI parallel transfer rate to very slow depending on the SCSI HBA firmware revision.  Newer versions of SCSI HBA
firmware have a bug where the incorrect amount of data is transferred for non-divisible-by-4 length transfers (like standard 14 byte
REQUEST SENSE).  LSI is aware of the problem and I'll update the driver to restore functionality upon a new good SCSI HBA firmware
release.

I still have not confirmed operation with LSI SAS or FC HBAs.

Signed-off-by: Erik Habbinga <erikhabbinga@inphase-tech.com>

Changes:

./mpt/mpt_scst.h

- differences between LSI sample target drivers 1.00.13 and 1.00.14

./mpt/Kconfig

- remove some unnecessary white space

./mpt/mpt_scst.c

- differences between LSI sample target drivers 1.00.13 and 1.00.14

- changes for kernel 2.6.24 and 2.6.25.4

- force slow transfers for newer SCSI HBA firmware versions

./mpt/Makefile

- simplified for inclusion into kernel source tree

./mpt/in-tree/Kconfig-2.6.24.diff

- patch against 2.6.24 and 2.6.25.4 drivers/message/fusion/Kconfig

./mpt/in-tree/Makefile.diff

- changed to work with generate-kernel-patch script



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@387 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-22 16:36:59 +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
Vladislav Bolkhovitin
4f79d58a3c - Patch from Aravind Parchuri <aravind.parchuri@gmail.com> with some my modifications:
* Allows LSI MPT target driver to compile on kernels >2.6.15
   * Changes the way how gettid() syscall gate implemented
 - Small doc update


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@189 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-09-19 09:19:29 +00:00
Vladislav Bolkhovitin
c7b6d79352 From Erik Habbinga:
This patch further fixes sense handling for the LSI driver in the non-packetized SCSI case:

- this version doesn't crash if a REQUEST SENSE command is sent.
- added a big comment explaining sense caching implementation.
- INQUIRY responses are inspected and tagged command queuing bits are cleared if LSI is a SCSI controller, per previous discussions.
- pending sense is cleared on a bus reset.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@78 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-01-16 14:23:44 +00:00
Vladislav Bolkhovitin
5f81d67e70 Patch from Erik Habbinga:
There are a few minor changes:

- fix some 80 char line length issues
- fix some indenting
- change scst_to_dma_dir to scst_to_tgt_dma_dir

The big issue is fixing the sending of sense data.  The LSI chip, when talking to a non-packetized SCSI initiator, cannot send both
status (i.e. check condition) and sense data (from autosense) in the same transaction.  The result is a 006B
(MPI_IOC_STATUS_TARGET_STS_DATA_NOT_SENT) IOCStatus value when this is attempted.  The sense data doesn't get transmitted over the
SCSI cable in this case.  My fix, which is modeled on LSI's own SCSI target implementation, is to cache sense data before attempting
to send it.  If a REQUEST SENSE command comes in with pending sense, the LSI driver will handle the REQUEST SENSE command on it's
own without involving SCST.  Pending sense is cleared once the REQUEST SENSE command is handled, or if any other command comes in.
Sense data is cached per initiator.  Apparantely this problem is only related to non-packetized SCSI interfaces.  That's all I have
to test with, so I can't vouch for SAS or FC.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@75 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-01-11 12:39:10 +00:00
Vladislav Bolkhovitin
dc7b5d8684 From Erik Habbinga:
This patch allows reading and writing of the LSI SCSI target id via /proc/scsi_tgt/mpt_scst/x (where x is the controller number). Reading that file dumps various statistics as before:

# cat /proc/scsi_tgt/mpt_scst/0
ProductID        :0x020b (LSI53C1030)
Target Enable    :True
Target ID        :3
Capabilities     :0x7087fa0
PhysicalInterface:0x30000fe
Configuration    :0x3000800
OnBusTimerValue  :0x0
TargetConfig     :0x1
IDConfig         :0x0
PortFlags        :0x2000000
PortSettings     :0x37020000
  Device 00: 0x7087fa0, 0x0
  Device 01: 0x7087fa0, 0x0
  Device 02: 0x7087fa0, 0x0
  Device 03: 0x7087fa0, 0x0
  Device 04: 0x7087fa0, 0x0
  Device 05: 0x7087fa0, 0x0
  Device 06: 0x7087fa0, 0x0
  Device 07: 0x7087fa0, 0x0
  Device 08: 0x7087fa0, 0x0
  Device 09: 0x7087fa0, 0x0
  Device 10: 0x7087fa0, 0x0
  Device 11: 0x7087fa0, 0x0
  Device 12: 0x7087fa0, 0x0
  Device 13: 0x7087fa0, 0x0
  Device 14: 0x7087fa0, 0x0
  Device 15: 0x7087fa0, 0x0

Writing "target_id:n" will change the SCSI target id to n.


# echo "target_id:5" > /proc/scsi_tgt/mpt_scst/0
# cat /proc/scsi_tgt/mpt_scst/0
ProductID        :0x020b (LSI53C1030)
Target Enable    :True
Target ID        :5
Capabilities     :0x7087fa0
....


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@68 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2006-12-20 17:53:41 +00:00
Vladislav Bolkhovitin
58c3c9893a LSI/MPT target driver added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@49 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2006-12-13 11:42:59 +00:00