]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit - sys/dev/mfi/mfi.c
MFC r242681 (ambrisko):
authordelphij <delphij@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 3 Dec 2012 18:37:02 +0000 (18:37 +0000)
committerdelphij <delphij@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 3 Dec 2012 18:37:02 +0000 (18:37 +0000)
commit92e3693ff5d909d3bcd7b6030c6d98b3ff6110f1
tree45e308079482c507303d75e4ad7e004d068790ab
parentb22d444eae24f4a77ba678a2260eb30e8d200359
MFC r242681 (ambrisko):

- Extend the prior commit to use the generic SCSI command building
  function use that for JBOD and Thunderbolt disk write command.  Now
  we only have one implementation in mfi.
- Fix dumping on Thunderbolt cards.  Polled IO commands do not seem to
  be normally acknowledged by changing cmd_status to MFI_STAT_OK.
  In order to get acknowledgement of the IO is complete, the Thunderbolt
  command queue needs to be run through.  I added a flag MFI_CMD_SCSI
  to indicate this command is being polled and to complete the
  Thunderbolt wrapper and indicate the result.  This flag needs to be
  set in the JBOD case in case if that us using Thunderbolt card.
  When in the polling loop check for completed commands.
- Remove mfi_tbolt_is_ldio and just do the check when needed.
- Fix an issue when attaching of disk device happens when a device is
  already scheduled to be attached but hasn't attached.
- add a tunable to allow raw disk attachment to CAM via:
        hw.mfi.allow_cam_disk_passthrough=1
- fixup aborting of commands (AEN and LD state change).  Use a generic
  abort function and only wait the command being aborted not both.
  Thunderbolt cards don't seem to abort commands so the abort times
  out.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243824 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/mfi/mfi.c
sys/dev/mfi/mfi_cam.c
sys/dev/mfi/mfi_disk.c
sys/dev/mfi/mfi_syspd.c
sys/dev/mfi/mfi_tbolt.c
sys/dev/mfi/mfivar.h