History log of /freebsd/sys/dev/isp/isp_freebsd.h (Results 1251 – 1275 of 1396)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 3e6deb33 23-Nov-2015 Alexander Motin <mav@FreeBSD.org>

Rip off target mode support for parallel SCSI QLogic adapters.

Hacks to enable target mode there complicated code, while didn't really
work. And for outdated hardware fixing it is not really intere

Rip off target mode support for parallel SCSI QLogic adapters.

Hacks to enable target mode there complicated code, while didn't really
work. And for outdated hardware fixing it is not really interesting.

Initiator mode tested with Qlogic 1080 adapter is still working fine.

show more ...


Revision tags: vendor/xz/5.2.2
# 21daf914 14-Nov-2015 Alexander Motin <mav@FreeBSD.org>

Fix/improve CRN tracking.


Revision tags: vendor/tzdata/tzdata2015g
# 277911a3 07-Nov-2015 Alexander Motin <mav@FreeBSD.org>

Rework r290504.


# c261189f 07-Nov-2015 Alexander Motin <mav@FreeBSD.org>

Make ISP_SLEEP() really sleep instead of spinning.

While there, simplify the wait logic.


Revision tags: vendor/libucl/20151027
# 6af11b82 24-Oct-2015 Alexander Motin <mav@FreeBSD.org>

Add PIM_EXTLUNS support to isp(4) driver.

Now 24xx and above chips support full 8-byte LUN address space.
Older FC chips may support up to 16K LUNs when firmware allows.
Tested in both initiator and

Add PIM_EXTLUNS support to isp(4) driver.

Now 24xx and above chips support full 8-byte LUN address space.
Older FC chips may support up to 16K LUNs when firmware allows.
Tested in both initiator and target modes for 23xx, 24xx and 25xx.

show more ...


# 385490cb 24-Oct-2015 Alexander Motin <mav@FreeBSD.org>

Remove ISP_INTERNAL_TARGET code.

We have CTL now, which is real and much more functional then this joke.


Revision tags: vendor/openssl/1.0.2d
# c07b9e07 23-Oct-2015 Alexander Motin <mav@FreeBSD.org>

Disable full bus scan by CAM for FC adapters.

FC port database code already notifies CAM about all devices. Additional
full scan is just a waste of time, that by definition won't find anything
that

Disable full bus scan by CAM for FC adapters.

FC port database code already notifies CAM about all devices. Additional
full scan is just a waste of time, that by definition won't find anything
that is not present in port database.

show more ...


Revision tags: vendor/NetBSD/bmake/20151020, vendor/ntp/4.2.8p4, vendor/wpa/2.5, vendor/subversion/subversion-1.9.2, vendor/dma/0.10, vendor/elftoolchain/elftoolchain-r3250, vendor/unbound/1.5.5, vendor/bind9/9.9.8, vendor/acpica/20150930, vendor/netcat/5.8, vendor/llvm-libunwind/libunwind-r246528, vendor/file/5.25, vendor/unbound/1.5.4, zfs-0.6.5, vendor/libc++/libc++-release_370-r246257, vendor/compiler-rt/compiler-rt-release_370-r246257, vendor/lldb/lldb-release_370-r246257, vendor/clang/clang-release_370-r246257, vendor/llvm/llvm-release_370-r246257, vendor/lldb/lldb-trunk-r242221, vendor/file/5.24, vendor/openssh/7.1p1, vendor/openssh/7.0p1, vendor/acpica/20150818, vendor/pciids/pciids-20150815, vendor/tzdata/tzdata2015f, release/10.2.0, upstream/10.2.0, vendor/sqlite3/sqlite-3081101, vendor/subversion/subversion-1.8.14, vendor/serf/serf-1.3.8, vendor/apr/apr-1.5.2, vendor/clang/clang-trunk-r242221, vendor/llvm/llvm-trunk-r242221, vendor/bind9/9.9.7-P2, vendor/acpica/20150717, vendor/openssl/1.0.1p, vendor/sendmail/8.15.2, vendor/tcpdump/4.7.4, vendor/clang/clang-trunk-r241361, vendor/llvm/llvm-trunk-r241361, vendor/lldb/lldb-r241361, vendor/openssh/6.9p1, vendor/openssh/6.8p1, vendor/ntp/4.2.8p3, vendor/clang/clang-trunk-r240225, vendor/llvm/llvm-trunk-r240225, vendor/acpica/20150619, vendor/libcxxrt/2015-06-18-e64e93fe5bba67a6d52cbe5a97f8770c054bfa65, vendor/acpica/20150616, vendor/tzdata/tzdata2015e, vendor/openssl/1.0.1o, vendor/openssl/0.9.8zg, vendor/openssl/1.0.1n, vendor/NetBSD/bmake/20150606, vendor/file/5.23, vendor/clang/clang-trunk-r239412, vendor/llvm/llvm-trunk-r239412, vendor/clang/clang-trunk-r238337, vendor/llvm/llvm-trunk-r238337, vendor/elftoolchain/elftoolchain-r3223, vendor/clang/clang-3.6.x, vendor/clang/clang-release_361-r237755, vendor/llvm/llvm-3.6.x, vendor/llvm/llvm-release_361-r237755, vendor/acpica/20150515, vendor/tzdata/tzdata2015d, vendor/tzdata/tzdata2015c, vendor/elftoolchain/elftoolchain-r3197, vendor/ficl/4.1.0, vendor/ficl/3.0.3, vendor/NetBSD/bmake/20150505, vendor/netcat/5.7, vendor/openresolv/3.7.0, vendor/sqlite3/sqlite-3080900, vendor/unbound/1.5.3, vendor/unbound/1.5.2, vendor/NetBSD/bmake/20150418, vendor/wpa/2.4, vendor/acpica/20150410, vendor/nvi/2.1.3, vendor/ntp/4.2.8p2, vendor/acpica/20150408, zfs-0.6.4, vendor/xz/5.2.1, vendor/bind9/9.9.7, vendor/elftoolchain/elftoolchain-r3179, vendor/lld/lld-trunk-r233088, vendor/tzdata/tzdata2015b, vendor/lua/5.3.0, vendor/openssl/0.9.8zf, vendor/openssl/1.0.1m, vendor/mandoc/1.13.3, vendor/tzdata/tzdata2015a, vendor/libucl/20150302, vendor/mandoc/20150302, vendor/device-tree/ian-c8c1b3a7, vendor/clang/clang-release_360-r230434, vendor/llvm/llvm-release_360-r230434, vendor/compiler-rt/compiler-rt-r230183, vendor/clang/clang-release_360-r229772, vendor/llvm/llvm-release_360-r229772, vendor/elftoolchain/elftoolchain-r3163, vendor/clang/clang-release_360-r229040, vendor/llvm/llvm-release_360-r229040, vendor/compiler-rt/compiler-rt-r228651, vendor/lldb/lldb-r228549, vendor/lldb/lldb-r225923, vendor/xz/5.2.0, vendor/ntp/4.2.8p1, vendor/acpica/20150204, vendor/libcxxrt/2014-12-31-1cb607e89f6135bbc10f3d3b6fba1f983e258dcc, vendor/clang/clang-release_360-r227651, vendor/llvm/llvm-release_360-r227651, vendor/clang/clang-release_360-r226102, vendor/llvm/llvm-release_360-r226102, vendor/openssl/0.9.8ze, vendor/openssl/1.0.1l, vendor/clang/clang-release_351-r225668, vendor/llvm/llvm-release_351-r225668, vendor/NetBSD/libedit/2014-01-07, vendor/openssl/0.9.8zd, vendor/openssl/1.0.1k
# fb4a4356 08-Jan-2015 Kenneth D. Merry <ken@FreeBSD.org>

Fix Fibre Channel Command Reference Number handling in the isp(4) driver.

The Command Reference Number is used for precise delivery of
commands, and is part of the FC-Tape functionality set. (This

Fix Fibre Channel Command Reference Number handling in the isp(4) driver.

The Command Reference Number is used for precise delivery of
commands, and is part of the FC-Tape functionality set. (This is
only enabled for devices that support precise delivery of commands.)
It is an 8-bit unsigned number that increments from 1 to 255. The
commands sent by the initiator must be processed by the target in
CRN order if the CRN is non-zero.

There are certain scenarios where the Command Reference Number
sequence needs to be reset. When the target is power cycled, for
instance, the initiator needs to reset the CRN to 1. The initiator
will know this because it will see a LIP (when directly connected)
or get a logout/login event (when connected to a switch).

The isp(4) driver was not resetting the CRN when a target
went away and came back. When it saw the target again after a
power cycle, it would continue the CRN sequence where it left off.
The target would ignore the command because the CRN sequence is
supposed to be reset to 1 after a power cycle or other similar
event.

The symptom that the user would see is that there would be lots of
aborted INQUIRY commands after a tape library was power cycled, and
the library would fail to probe. The INQUIRY commands were being
ignored by the tape drive due to the CRN issue mentioned above.

isp_freebsd.c:
Add a new function, isp_fcp_reset_crn(). This will reset
all of the CRNs for a given port, or the CRNs for all LUNs
on a target.

Reset the CRNs for all targets on a port when we get a LIP,
loop reset, or loop down event.

Reset the CRN for a particular target when it arrives, is changed
or departs. This is less precise behavior than the
clearing behavior specified in the FCP-4 spec (which says
that it should be reset for PRLI, PRLO, PLOGI and LOGO),
but this is the level of information we have here. If this
is insufficient, then we will need to add more precise
notification from the lower level isp(4) code.

isp_freebsd.h:
Add a prototype for isp_fcp_reset_crn().

Sponsored by: Spectra Logic
MFC after: 1 week

show more ...


Revision tags: vendor/libc++/r224926, vendor/compiler-rt/compiler-rt-r224034, vendor/tcpdump/4.6.2, vendor/libpcap/1.6.2, vendor/openssh/6.7p1, vendor/file/5.22, vendor/unbound/1.5.1, vendor/unbound/1.5.0, vendor/elftoolchain/elftoolchain-r3136, vendor/libcxxrt/2014-12-06-00bc29eb6513624824a6d7db2ebc768a4216a604, vendor/mandoc/1.13.2, vendor/elftoolchain/elftoolchain-r3130, vendor/ntp/4.2.8, vendor/bind9/9.9.6-P1, vendor/sendmail/8.15.1, vendor/file/5.21, vendor/tnftp/20141104, vendor/tnftp/20141031, vendor/mandoc/20141201, vendor/libucl/20141129
# 315a4d6f 26-Nov-2014 Alexander Motin <mav@FreeBSD.org>

Some microoptimizations.

MFC after: 1 month


Revision tags: vendor/lldb/lldb-r216948, vendor/clang/clang-release_350-r216957, vendor/llvm/llvm-release_350-r216957, vendor/sqlite3/sqlite-3080702, vendor/mandoc/1.13.1
# b3a9e657 19-Nov-2014 Alexander Motin <mav@FreeBSD.org>

Fix build without INVARIANTS, broken by r274675.


# 2a0db815 18-Nov-2014 John Baldwin <jhb@FreeBSD.org>

Convert the refire_notify_ack timer from timeout(9) to callout(9).

Tested by: no one


Revision tags: vendor/tzdata/tzdata2014j, release/10.1.0, upstream/10.1.0, vendor/acpica/20141107, vendor/compiler-rt/compiler-rt-r197381, vendor/atf/atf-0.21, vendor/NetBSD/mtree/20141028, vendor/netcat/5.6, vendor/tzdata/tzdata2014i, vendor/xz/5.0.7, vendor/openssl/0.9.8zc, vendor/openssl/1.0.1j, vendor/byacc/20141006, vendor/byacc/20141005, vendor/NetBSD/tests/09.30.2014_20.45, vendor/acpica/20140926, vendor/apr-util/apr-util-1.5.4
# 1d0a1de2 18-Sep-2014 Will Andrews <will@FreeBSD.org>

Fix a kernel panic when unloading isp(4).

In the current implementation, the isp_kthread() threads never exit.

The target threads do have an exit mode from isp_attach(), but it is
not invoked from

Fix a kernel panic when unloading isp(4).

In the current implementation, the isp_kthread() threads never exit.

The target threads do have an exit mode from isp_attach(), but it is
not invoked from isp_detach().

Ensure isp_detach() notifies threads started for each channel, such
that they exit before their parent device softc detaches, and thus
before the module does. Otherwise, a page fault panic occurs later in:

sysctl_kern_proc
sysctl_out_proc
kern_proc_out
fill_kinfo_proc
fill_kinfo_thread
strlcpy(kp->ki_wmesg, td->td_wmesg, sizeof(kp->ki_wmesg));

For isp_kthread() (and isp(4) target threads), td->td_wmesg references
now-unmapped memory after the module has been unloaded. These threads
are typically msleep()ing at the time of unload, but they could also
attempt to execute now-unmapped code segments.

MFC after: 1 month
Sponsored by: Spectra Logic
MFSpectraBSD: r1070921 on 2014/06/22 13:01:17

show more ...


Revision tags: vendor/openpam/OUROUPARIA, vendor/acpica/20140828, vendor/pjdfstest/abf03c3a47745d4521b0e4aa141317553ca48f91, vendor/NetBSD/libc-vis/20140908, vendor/device-tree/ianc-b78b6b80, vendor/tzdata/tzdata2014f, vendor/sqlite3/sqlite-3080500, vendor/serf/serf-1.3.7, vendor/subversion/subversion-1.8.10, vendor/resolver/9.5.0, vendor/openssl/0.9.8zb, vendor/openssl/1.0.1i, vendor/serf/serf-1.3.6, vendor/libucl/20140718, vendor/libucl/20140716, vendor/byacc/20140715, release/9.3.0, vendor/NetBSD/bmake/20140620, vendor/acpica/20140627, vendor/file/5.19, vendor/tzdata/tzdata2014e, zfs-0.6.3, vendor/openssl/0.9.8za, vendor/openssl/1.0.1h, vendor/apr/apr-1.5.1, vendor/subversion/subversion-1.8.9, vendor/serf/serf-1.3.5, vendor/byacc/20140422, vendor/libucl/20140514, vendor/sendmail/8.14.9, vendor/unbound/1.4.22, vendor/unbound/1.4.21, vendor/ldns/1.6.17, vendor/tzdata/tzdata2014c, vendor/clang/clang-release_34-r208032, vendor/llvm/llvm-release_34-r208032, vendor/acpica/20140424, vendor/byacc/20140409, vendor/libucl/0.4.0, vendor/netcat/5.5, vendor/openssl/1.0.1g, vendor/tzdata/tzdata2014b, vendor/acpica/20140325, vendor/libucl/20140321, vendor/openssh/6.6p1, vendor/tzdata/tzdata2014a, vendor/libucl/20140302, vendor/xz-embedded/6a8a2364434763a033781f6b2a605ace9a021013, vendor/ncurses/5.9-20140222, vendor/ncurses/5.9-20110404, vendor/ncurses/5.9-20110404_stripped, vendor/device-tree/ianc-efa963ec, vendor/lldb/lldb-r202189, vendor/bind9/9.9.5, vendor/bind9/9.8.7, vendor/libucl/20140222, vendor/serf/serf-1.3.4, vendor/dma/20140213, vendor/subversion/subversion-1.8.8, vendor/lldb/lldb-r201577, vendor/acpica/20140214, vendor/atf/atf-0.20, vendor/atf/atf-0.19, vendor/mandoc/1.12.3, vendor/openssh/6.5p1, vendor/libc++/r197960, vendor/dtc/dtc-6a15eb23, vendor/sendmail/8.14.8, vendor/NetBSD/bmake/20140101, vendor/openssl/1.0.1f, release/10.0.0, upstream/10.0.0, vendor/elftoolchain/elftoolchain-r2974, vendor/acpica/20140114, vendor/byacc/20140101, vendor/clang/clang-release_34-r197956, vendor/llvm/llvm-release_34-r197956, vendor/clang/clang-release_34-r197841, vendor/llvm/llvm-release_34-r197841, vendor/tzdata/tzdata2013i, vendor/acpica/20131218, vendor/nvi/2.1.2-c80f493b0382d3c, vendor/ntp/4.2.6p5, vendor/lldb/lldb-r196322, vendor/lldb/lldb-r196259, vendor/apr-util/apr-util-1.5.3, vendor/subversion/subversion-1.8.5, vendor/NetBSD/mtree/20131121, vendor/atf/atf-0.18, vendor/netcat/5.4, vendor/atf/atf-0.17, vendor/acpica/20131115, vendor/nvi/2.1.2-95773e17e2751, vendor/openssh/6.4p1, vendor/subversion/subversion-1.8.4
# 07d925fa 10-Nov-2013 Alexander Motin <mav@FreeBSD.org>

Use relaxed (write-only) memory barriers when writing some of queue index
registers (for now on ISP2400+). We never read those registers back and
AFAIK their semantics does not require any immediate

Use relaxed (write-only) memory barriers when writing some of queue index
registers (for now on ISP2400+). We never read those registers back and
AFAIK their semantics does not require any immediate reaction on write.

show more ...


Revision tags: vendor/lldb/lldb-r194122, vendor/tzdata/tzdata2013h
# 123055f0 30-Oct-2013 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Adjust various SCSI drivers to handle either a 32-bit or 64-bit lun_id_t,
mostly by adjustments to debugging printf() format specifiers. For high
numbered LUNs, also switch to printing them in hex as

Adjust various SCSI drivers to handle either a 32-bit or 64-bit lun_id_t,
mostly by adjustments to debugging printf() format specifiers. For high
numbered LUNs, also switch to printing them in hex as per SAM-5.

MFC after: 2 weeks

show more ...


Revision tags: vendor/byacc/20130925
# 523ea374 17-Oct-2013 Alexander Motin <mav@FreeBSD.org>

Optimize isp(4) to reduce CPU usage, especially in target mode:
- Remove two excessive and slow register reads from isp_intr(). Instead
of rereading value every time, assume that registers contain

Optimize isp(4) to reduce CPU usage, especially in target mode:
- Remove two excessive and slow register reads from isp_intr(). Instead
of rereading value every time, assume that registers contain what we have
written there.
- Avoid sequential search through 4096 array elements when looking for
command tag. Use hash of lists to store active tags separately from free
ones and so greatly speedup the searches.

Reviewed by: mjacob

show more ...


Revision tags: vendor/acpica/20130927, vendor/NetBSD/mtree/20131016, vendor/dialog/1.2-20130923, vendor/tzdata/tzdata2013f, release/9.2.0, vendor/libcxxrt/2013-09-23-dafd555f547386c8c25f9afd07ea3693db13e52a, vendor/openssh/6.3p1, vendor/lldb/lldb-r188801, vendor/openpam/NUMMULARIA, vendor/NetBSD/bmake/20130904, vendor/NetBSD/libexecinfo/20130829, vendor/ldns-host/hg-20120826-233833, vendor/acpica/20130823, zfs-0.6.2, vendor/NetBSD/libexecinfo/20130822, vendor/ipfilter/5.1.2, vendor/ipfilter-sys/5-1-2, vendor/bind9/9.9.3-P2, vendor/nvi/2.1.1-4334a8297f, vendor/serf/serf-1.3.0, vendor/NetBSD/bmake/20130730, vendor/bind9/9.8.5-P2, vendor/apr-util/apr-util-1.5.2, vendor/apr/apr-1.4.8, vendor/subversion/subversion-1.8.1, vendor/misc-GNU/patch/2.5.9, vendor/acpica/20130725, vendor/bind9/9.8.5-P1, vendor/libc++/r185801, vendor/libcxxrt/2013-07-08-c61efa043b14378efbd69c9a2686d44ed46ae179, vendor/v4l/2.6.34.14, vendor/hyperv/20130627, vendor/acpica/20130626, vendor/wpa/2.0, vendor/subversion/subversion-1.8.0, vendor/sqlite3/sqlite-3071700, vendor/subversion/subversion-1.8.0-rc3, vendor/serf/serf-1.2.1, vendor/apr-util/apr-util-1.4.1, vendor/apr/apr-1.4.6, vendor/dialog/1.2-20130523, vendor/clang/clang-release_33-r183502, vendor/llvm/llvm-release_33-r183502, vendor/NetBSD/bmake/20130604, release/8.4.0, vendor/byacc/20130304, vendor/tcpdump/4.4.0, vendor/libpcap/1.4.0, vendor/compiler-rt/compiler-rt-r182741, vendor/NetBSD/bmake/20130520, vendor/acpica/20130517, vendor/openssh/6.2p2, vendor/libregex/glibc-2.17, vendor/less/v458, vendor/tnftp/20130505, vendor/zlib/1.2.8, vendor/hyperv/20130502, vendor/flex/2.5.37, vendor/qcamain_open_hal/60390a9f9ac6a20db168fbbc01a4ad4e01c395ce, vendor/libc++/r180598, vendor/libcxxrt/2013-04-22-c812a07cd2f95c1403baf0bbe0366e7618d1d6d3, vendor/sendmail/8.14.7, vendor/tzdata/tzdata2013c, vendor/acpica/20130418, vendor/netcat/5.3, vendor/NetBSD/mtree/20130408, vendor/clang/clang-trunk-r178860, vendor/llvm/llvm-trunk-r178860, vendor/unbound/1.4.20, vendor/acpica/20130328, vendor/NetBSD/bmake/20130330, vendor/bind9/9.8.4-P2, zfs-0.6.1, vendor/openssh/6.2p1, vendor/libarchive/3.1.2, vendor/tzdata/tzdata2013b, vendor/openssl/0.9.8y, vendor/libyaml/0.1.4, vendor/expat/2.1.0, vendor/NetBSD/unvis/20130221, vendor/NetBSD/vis/20130221, vendor/NetBSD/libc-vis/20130221, vendor/acpica/20130214, vendor/ldns/1.6.16, vendor/openssl/1.0.1e, vendor/libc++/r174563, zfs-0.6.0-rc14, vendor/NetBSD/bmake/20130123, vendor/libcxxrt/2013-01-21-c4b68a5c1836b9027fe8784fec25b7a2e6e6aa60, vendor/compiler-rt/compiler-rt-r172839, vendor/acpica/20130117, vendor/libcxxrt/2013-01-11-b9db3a010143160624f123763025ab544b69bd9a, vendor/one-true-awk/20121220, vendor/acpica/20121220, vendor/sendmail/8.14.6, vendor/clang/clang-release_32-r170710, vendor/llvm/llvm-release_32-r170710, vendor/xz/5.0.4, vendor/NetBSD/mknod/20122112, vendor/NetBSD/mtree/20122112, zfs-0.6.0-rc13, vendor/bind9/9.6-ESV-R8, vendor/openbsm/1.2-ALPHA-3, vendor/NetBSD/libc-vis/20121214a, vendor/NetBSD/libc-vis/20121214, vendor/bind9/9.8.4-P1, vendor/bind9/9.8.4, vendor/less/v456, vendor/clang/clang-release_32-r168974, vendor/llvm/llvm-release_32-r168974, vendor/openbsm/1.2-ALPHA-2, release/9.1.0, vendor/libc++/r168853, vendor/NetBSD/bmake/20121111, vendor/acpica/20121114, zfs-0.6.0-rc12, vendor/tzdata/tzdata2012j, vendor/libc++/r167493, vendor/tzdata/tzdata2012i, vendor/less/v453, vendor/pciids/pciids-20121024, vendor/tzdata/tzdata2012h, vendor/NetBSD/bmake/20121010, vendor/netcat/5.2, vendor/libc++/r165949, vendor/tzdata/tzdata2012g, vendor/dialog/1.1-20120706, vendor/acpica/20121018, vendor/mandoc/1.12.1, vendor/bind9/9.6-ESV-R7-P4, vendor/bind9/9.8.3-P4, vendor/NetBSD/libc-vis/20121005, vendor/NetBSD/libc-pwcache/20121005, vendor/tcpdump/4.3.0, vendor/libpcap/1.3.0, vendor/NetBSD/libedit/2012-09-25, vendor/bind9/9.6-ESV-R7-P3, vendor/bind9/9.8.3-P3, zfs-0.6.0-rc11, vendor/acpica/20120913, vendor/tzdata/tzdata2012f, vendor/NetBSD/bmake/20120831, vendor/atf/atf-0.16, vendor/openssh/6.1p1, vendor/openssh/6.0p1
# 662daadd 21-Aug-2012 Matt Jacob <mjacob@FreeBSD.org>

Remove dependence on MAXPHYS.

MFC after: 1 month


Revision tags: vendor/clang/clang-trunk-r162107, vendor/llvm/llvm-trunk-r162107, vendor/acpica/20120816, vendor/clang/clang-trunk-r161861, vendor/llvm/llvm-trunk-r161861, zfs-0.6.0-rc10
# 94dff771 08-Aug-2012 Matt Jacob <mjacob@FreeBSD.org>

More rototilling with target mode in an attemp to get multiple
CCB at a time outstanding reliable. It's not there yet, but this
is the direction to go in so might as well commit. So far,
multiple at

More rototilling with target mode in an attemp to get multiple
CCB at a time outstanding reliable. It's not there yet, but this
is the direction to go in so might as well commit. So far,
multiple at a time CCBs work (see ISP_INTERNAL_TARGET test mode),
but it fails if there are more downstream than the SIM wants
to handle and SRR is sort of confused when this happens, plus
it is not entirely quite clear what one does if a CCB/CTIO fails
and you have more in flight (that don't fail, say) and more queued
up at the SIM level that haven't been started yet.

Some of this is driven because there apparently is no flow control
to requeue XPT_CONTINUE_IO requests like there are for XPT_SCSI_IO
requests. It is also more driven in that the few target mode
periph drivers there are are not really set up for handling pushback-
heck most of them don't even check for errors (and what would they
really do with them anyway? It's the initiator's problem, really....).

The data transfer arithmetic has been worked over again to handle
multiple outstanding commands, so you have a notion of what's been
moved already as well as what's currently in flight. It turns that
this led to uncovering a REPORT_LUNS bug in the ISP_INTERNAL_TARGET
code which was sending back 24 bytes of rpl data instead of the
specified 16. What happened furthermore here is that sending back
16 bytes and reporting an overrun of 8 bytes made the initiator
(running FC-Tape aware f/w) mad enough to request, and keep
requesting, another FCP response (I guess it didn't like the answer
so kept asking for it again).

Sponsored by: Spectralogic
MFC after: 1 month

show more ...


Revision tags: vendor/compiler-rt/compiler-rt-r160957
# 387d8239 28-Jul-2012 Matt Jacob <mjacob@FreeBSD.org>

-----------
MISC CHANGES

Add a new async event- ISP_TARGET_NOTIFY_ACK, that will guarantee
eventual delivery of a NOTIFY ACK. This is tons better than just
ignoring the return from isp_notify_ack an

-----------
MISC CHANGES

Add a new async event- ISP_TARGET_NOTIFY_ACK, that will guarantee
eventual delivery of a NOTIFY ACK. This is tons better than just
ignoring the return from isp_notify_ack and hoping for the best.

Clean up the lower level lun enable code to be a bit more sensible.

Fix a botch in isp_endcmd which was messing up the sense data.

Fix notify ack for SRR to use a sensible error code in the case
of a reject.

Clean up and make clear what kind of firmware we've loaded and
what capabilities it has.
-----------
FULL (252 byte) SENSE DATA

In CTIOs for the ISP, there's only a limimted amount of space
to load SENSE DATA for associated CHECK CONDITIONS (24 or 26
bytes). This makes it difficult to send full SENSE DATA that can
be up to 252 bytes.

Implement MODE 2 responses which have us build the FCP Response
in system memory which the ISP will put onto the wire directly.

On the initiator side, the same problem occurs in that a command
status response only has a limited amount of space for SENSE DATA.
This data is supplemented by status continuation responses that
the ISP pushes onto the response queue after the status response.
We now pull them all together so that full sense data can be
returned to the periph driver.

This is supported on 23XX, 24XX and 25XX cards.

This is also preparation for doing >16 byte CDBs.

-----------
FC TAPE

Implement full FC-TAPE on both initiator and target mode side. This
capability is driven by firmware loaded, board type, board NVRAM
settings, or hint configuration options to enable or disable. This
is supported for 23XX, 24XX and 25XX cards.

On the initiator side, we pretty much just have to generate a command
reference number for each command we send out. This is FCP-4 compliant
in that we do this per ITL nexus to generate the allowed 1 thru 255
CRN.

In order to support the target side of FC-TAPE, we now pay attention
to more of the PRLI word 3 parameters which will tell us whether
an initiator wants confirmed responses. While we're at it, we'll
pay attention to the initiator view too and report it.

On sending back CTIOs, we will notice whether the initiator wants
confirmed responses and we'll set up flags to do so.

If a response or data frame is lost the initiator sends us an SRR
(Sequence Retransmit Request) ELS which shows up as an SRR notify
and all outstanding CTIOs are nuked with SRR Received status. The
SRR notify contains the offset that the initiator wants us to restart
the data transfer from or to retransmit the response frame.

If the ISP driver still has the CCB around for which the data segment
or response applies, it will retransmit.

However, we typically don't know about a lost data frame until we
send the FCP Response and the initiator totes up counters for data
moved and notices missing segments. In this case we've already
completed the data CCBs already and sent themn back up to the periph
driver. Because there's no really clean mechanism yet in CAM to
handle this, a hack has been put into place to complete the CTIO
CCB with the CAM_MESSAGE_RECV status which will have a MODIFY DATA
POINTER extended message in it. The internal ISP target groks this
and ctl(8) will be modified to deal with this as well.

At any rate, the data is retransmitted and an an FCP response is
sent. The whole point here is to successfully complete a command
so that you don't have to depend on ULP (SCSI) to have to recover,
which in the case of tape is not really possible (hence the name
FC-TAPE).

Sponsored by: Spectralogic
MFC after: 1 month

show more ...


Revision tags: vendor/libarchive/3.0.4, vendor/bind9/9.6-ESV-R7-P2, vendor/bind9/9.8.3-P2, vendor/dtc/dtc-f807af19, vendor/less/v451, vendor/illumos/20120614, vendor/illumos/20100818, vendor/opensolaris/20100818, vendor/openssl/1.0.1c, vendor/acpica/20120711, vendor/NetBSD/bmake/20120704, vendor/unbound/1.4.17, vendor/ldns/1.6.13, vendor/gcc/4.2.4-20080519-SVN135556-libstdc++, vendor/openssl/0.9.8x, vendor/less/v449, vendor/NetBSD/bmake/20120620
# 9e7d423d 24-Jun-2012 Matt Jacob <mjacob@FreeBSD.org>

Clean up multi-id mode so it's driven by the f/w loaded,
not by some hint setting. Do more preparations for FC-Tape.
Clean up resource counting for 24XX or later chipsets so
we find out after EXEC_F

Clean up multi-id mode so it's driven by the f/w loaded,
not by some hint setting. Do more preparations for FC-Tape.
Clean up resource counting for 24XX or later chipsets so
we find out after EXEC_FIRMWARE what is actually supported.
Set target mode exchange count based upon whether or not
we are supporting simultaneous target/initiator mode. Clean
up some old (pre-24XX) xfwoption and zfwoption issues.

Sponsored by: Spectralogic
MFC after: 3 days

show more ...


Revision tags: vendor/acpica/20120620, vendor/zlib/1.2.7
# ad0ab753 17-Jun-2012 Matt Jacob <mjacob@FreeBSD.org>

Prepare for FC-Tape support. This involved doing a lot of little cleanups
and crosschecks against firmware documentation. We now check and report
FC firmware attributes and at least are now prepared

Prepare for FC-Tape support. This involved doing a lot of little cleanups
and crosschecks against firmware documentation. We now check and report
FC firmware attributes and at least are now prepared for the upper 48 bits
of f/w attributes (which are probably for the 8100 or later cards). This
involed changing how inbits and outbits are calculated for varios commands,
hopefully clearer and cleaner. This also caused me to clean up the actual
mailbox register usage. Finally, we are now unconditionally using a CRN
for initiator mode.

A longstanding issue with the 2400/2500 is that they do *not* support
a "Prefer PTP followed by loop", which explains why enabling that
caused the f/w to crash.

A slightly more invasive change is to let the firmware load entirely
drive whether multi_id support is enabled or not.

Sponsored by: Spectralogic
MFC after: 1 week

show more ...


Revision tags: zfs-0.6.0-rc9, vendor/NetBSD/bmake/20120606, vendor/bind9/9.6-ESV-R7-P1, vendor/bind9/9.8.3-P1
# e2873b76 01-Jun-2012 Matt Jacob <mjacob@FreeBSD.org>

Clean up and complete the incomplete deferred enable code.
Make the default role NONE if target mode is selected. This
allows ctl(8) to switch to/from target mode via knob settings.
If we default to

Clean up and complete the incomplete deferred enable code.
Make the default role NONE if target mode is selected. This
allows ctl(8) to switch to/from target mode via knob settings.
If we default to role 'none', this causes a reset of the
24XX f/w which then causes initiators to wake up and notice
when we come online.

Reviewed by: kdm
MFC after: 2 weeks
Sponsored by: Spectralogic

show more ...


Revision tags: vendor/byacc/20120526, vendor/bind9/9.6-ESV-R7, vendor/bind9/9.8.3, vendor/openpam/MICRAMPELIS, vendor/clang/clang-release_31-r156863, vendor/llvm/llvm-release_31-r156863, vendor/clang/clang-release_31-r156748, vendor/llvm/llvm-release_31-r156748, vendor/acpica/20120518, vendor/tcpdump/4.2.1, vendor/pciids/pciids-20120507, vendor/dtracetoolkit/dtracetoolkit-20120512, vendor/netcat/5.1, vendor/clang/clang-release_31-r155985, vendor/llvm/llvm-release_31-r155985, vendor/libc++/r156067, vendor/byacc/20120115, vendor/acpica/20120420, vendor/clang/clang-trunk-r154661, vendor/llvm/llvm-trunk-r154661, vendor/file/5.11, release/8.3.0_cvs, release/8.3.0, vendor/heimdal/1.5.2, vendor/bind9/9.6-ESV-R6, vendor/bind9/9.8.2, zfs-0.6.0-rc8, vendor/tzdata/tzdata2012a, vendor/acpica/20120320, vendor/libcxxrt/2012-03-20-cddcf8734ed06ada9384a461bc21d58b44f6eba1, zfs-0.6.0-rc7, vendor/libc++/r152718, vendor/libc++/r152501, vendor/libcxxrt/2011-11-22-a35d8de85ffd4df32e2dc47fa539d61fd3024a54, vendor/octeon-sdk/2.3.0
# 10e777b0 22-Feb-2012 Kevin Lo <kevlo@FreeBSD.org>

Fix memset sizeof


Revision tags: vendor/tcsh/6.18.01, vendor/acpica/20120215, vendor/zlib/1.2.6, vendor/libpcap/1.2.1, vendor/libarchive/2.8, vendor/NetBSD/softfloat/20120117, vendor/acpica/20120111, vendor/compiler-rt/compiler-rt-r147467, release/9.0.0, vendor/xz-embedded/48f4588342f4a4e0182a6740e25675fd8e6c6295, vendor/compiler-rt/compiler-rt-r147390
# f6683e55 27-Dec-2011 Matt Jacob <mjacob@FreeBSD.org>

Fix target mode compilation issues that arose after a change
in the sense data structures.

MFC after: 1 week


Revision tags: vendor/netcat/5.0, vendor/openpam/LYCOPSIDA, vendor/clang/clang-r145349, vendor/llvm/llvm-r145349, vendor/gperf/3.0.3, vendor/flex/2.5.35, vendor/libcxxrt/8931d9e5180830a5433d16ae6b3ad8dd9e629512, vendor/libcxxrt/1be67aa8295314fb794c4e933d9bb7c7c33e0ca4, vendor/acpica/20111123, vendor/libcxxrt/9802a7e430e08b90bf0e92d24abff095fa72ec21, vendor/bind9/9.4-ESV-R5-P1, vendor/bind9/9.6-ESV-R5-P1, vendor/bind9/9.8.1-P1
# a0ec8e99 06-Nov-2011 Matt Jacob <mjacob@FreeBSD.org>

Implement the sysctl's for fibre channel that are listed in the man page.

MFC after: 3 days


Revision tags: vendor/tzdata/tzdata2011n, vendor/tzdata/tzdata2011m, vendor/clang/clang-r142614, vendor/llvm/llvm-r142614, vendor/tzdata/tzdata2011l, zfs-0.6.0-rc6, vendor/heimdal/1.5.1
# 50e66535 07-Oct-2011 Marius Strobl <marius@FreeBSD.org>

Sync with ahc(4)/ahd(4)/sym(4) etc:
Zero any sense not transferred by the device as the SCSI specification
mandates that any untransferred data should be assumed to be zero.

Reviewed by: ken


1...<<515253545556