1. 30 6月, 2011 2 次提交
  2. 01 5月, 2011 1 次提交
    • K
      [SCSI] mpt2sas : WarpDrive New product SSS6200 support added · 0bdccdb0
      Kashyap, Desai 提交于
      This patch has Support for the new solid state device product SSS6200
      from LSI and relavent features w.r.t SSS6200.
      
      The major feature added in this driver is supporting Direct-I/O to the
      SSS6200 storage.There are some additional changes done to avoid exposing
      the RAID member disks to the OS and hiding/exposing drives based on the
      OEM Specific Flag in Manufacturing Page10 (this is required to handle
      specific changes in the SSS6200 firmware).
      
      Each and every changes are listed below.
      1. Hiding IR related messages.
      For SSS6200, the driver is modified not to print IR related events.
      Even if the debugging is enabled the IR related messages will not be displayed.
      In some places if there is a need to display a message related to IR the
      string "IR" is replaced with string "DD" and the string "volume" is replaced
      with "direct drive". But the function names are not changed hence there are
      some places where the reference to volume can be seen if debug level is set.
      
      2. Removed RAID transport support
      In Linux the user can retrieve RAID volume information from the sysfs directory.
      This support is removed for SSS6200.
      
      3. Direct I/O support.
      The driver tries to enable direct I/O when a volume is reported to the driver
      by the firmware through IRCC events and the driver does this just before
      reporting to the OS, hence all the OS issued I/O can go through direct path
      if they can, The first validation is to see whether the manufacturing page10
      flag is set to expose all drives always. If that is set, the driver will not
      enable direct I/O and displays the message "DDIO" is disabled globally as
      drives are exposed. The driver checks whether there is more than one volume
      in the controller, if so the direct I/O will be disabled globally for all
      volumes in the controller and the message displayed will be "DDIO is disabled
      globally as number of drives > 1.
      If retrieving number of PD is failed the driver will not enable direct I/O
      and displays the message Failure in computing number of drives DDIO disabled.
      If memory allocation for RAIDVolumePage0 is failed, the driver will not enable
      direct I/O and displays the message Memory allocation failure for
      RVPG0 DDIO disabled.  If retrieving RAIDVolumePage0 is failed the driver will
      not enable direct I/O and displays the message Failure in retrieving
      RVPG0 DDIO disabled
      
      If the number of PD in a volume is greater than 8, then the direct I/O will
      be disabled.
      If any of individual drives handle retrieval is failed then the DD-IO will
      be disabled.
      If the volume is not RAID0 or if the block size is not 512 then the DD-IO will
      be disabled.
      If the volume size is greater than 2TB then the DD-IO will be disabled.
      If the driver is not able to find a valid stripe exponent using the configured
      stripe size then the DD-IO will be disabled
      
      When the DD-IO is enabled the driver will check every I/O request issued to
      the storage and checks whether the request is either
      READ6/WRITE6/READ10/WRITE10, if it is and if the complete I/O transfer
      is within a stripe size then the I/O is redirected to
      the drive directly instead of the volume.
      
      On completion of every I/O, if the completion is failure means if the reply
      is address reply with a reply frame associated with it, then the type of I/O
      will be checked, if the I/O is direct then the I/O will be retried to
      the volume once.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Reviewed-by: NEric Moore <eric.moore@lsi.com>
      Reviewed-by: NSathya Prakash <sathya.prakash@lsi.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      0bdccdb0
  3. 31 3月, 2011 1 次提交
  4. 24 3月, 2011 1 次提交
  5. 24 1月, 2011 4 次提交
  6. 22 12月, 2010 4 次提交
    • K
      [SCSI] mpt2sas: Remove code for TASK_SET_FULL from driver. · 90d2a672
      Kashyap, Desai 提交于
      remove support for MPI2_EVENT_TASK_SET_FULL
      This event is obsoleted, so this processing of this event
      needs to be removed from the driver.  The controller firmware is going
      to handle TASK_SET_FULL, the driver doesn't need to do anything.
      Even though we are removing the EVENT handling, the behavour has not
      changed between driver versions becuase fimrware will still be handling
      queue throttling, and retrying of commands when the target device queues
      are full.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      90d2a672
    • K
      [SCSI] mpt2sas: Create a pool of chain buffer instead of dedicated per IOs · 35f805b5
      Kashyap, Desai 提交于
      Create a pool of chain buffers, instead of dedicated per IO:
      This enahancment is to address memory allocation failure when asking
      for more than 2300 IOs per host.   There is just not enough contiquious
      DMA physical memory to make one single allocation to hold both message
      frames and chain buffers when asking for more than 2300 request. In order
      to address this problem we will have to allocate memory for each chain
      buffer in a seperate individual memory allocation, placing each chain
      element of 128 bytes onto a pool of available chains, which can be
      shared amoung all request.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      35f805b5
    • K
      [SCSI] mpt2sas: Added loadtime para for IOMissingDelay and DMD · 6cb8ef57
      Kashyap, Desai 提交于
      Ability to override/set the ReportDeviceMissingDelay and
      IODeviceMissingDelay from driver: Add new command line option missing_delay,
      this is an array, where the first element is the device missing delay,
      and the second element is io missing delay.  The driver will program
      sas iounit page 1 with the new setting when the driver loads. This is
      programmed to the current and persistent configuration page so this takes
      immediately, as will be sticky across host reboots.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      6cb8ef57
    • K
      [SCSI] mpt2sas: Added sanity check for cb_idx and smid access. · dd3741d3
      Kashyap, Desai 提交于
      Sometime it is seen that controller
      firmware returns an invalid system message id (smid).
      
      the oops is occurring becuase mpt_callbacks pointer is referenced to
      either null or invalid virtual address.  this is due to cb_idx set
      incorrectly from routine _base_get_cb_idx.  the cb_idx was set incorrectly
      becuase there is no check to make sure smid is less than maxiumum
      anticapted smid.   to fix this issue, we add a check in
      _base_get_cb_idx to make sure smid is not greater than
      ioc->hba_queue_depth.   in addition, a similar check was added to make
      sure the reply address was less than the largest anticapated address.
      
      Newer firmware has sovled this issue, however it good to have this sanity
      check.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      dd3741d3
  7. 06 9月, 2010 1 次提交
  8. 28 7月, 2010 9 次提交
  9. 25 5月, 2010 1 次提交
  10. 12 4月, 2010 2 次提交
  11. 11 4月, 2010 8 次提交
  12. 09 2月, 2010 2 次提交
  13. 10 12月, 2009 1 次提交
  14. 30 10月, 2009 3 次提交