1. 11 May, 2016 4 commits
  2. 26 Apr, 2016 1 commit
  3. 24 Feb, 2016 5 commits
  4. 13 Nov, 2015 1 commit
  5. 12 Nov, 2015 3 commits
    • Sreekanth Reddy's avatar
      mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs · c84b06a4
      Sreekanth Reddy authored
      
      Modified the mpt3sas driver to have a single driver module which
      supports both SAS 2.0 & SAS 3.0 HBA devices.
      
      * Added SAS 2.0 HBA device IDs to the mpt3sas_pci_table pci table.
      
      * Created two separate SCSI host templates for SAS2 and SAS3 HBAs so
        that, during the driver load time driver can use corresponding host
        template(based the pci device ID) while registering a scsi host
        adapter instance for that pci device.
      
      * Registered two IOCTL devices, mpt2ctl is for SAS2 HBAs & mpt3ctl for
        SAS3 HBAs. Also updated the code to make sure that mpt2ctl device
        processes only those ioctl cmds issued for the SAS2 HBAs and mpt3ctl
        device processes only those ioctl cmds issued for the SAS3 HBAs.
      
      * Added separate indexing for SAS2 and SAS3 HBAs.
      
      * Replaced compile time check 'MPT2SAS_SCSI' to run time check
        'hba_mpi_version_belonged' whereever needed.
      
      * Aliased this merged driver to mpt2sas using MODULE_ALIAS.
      
      * Moved global varaible 'driver_name' to per adapter instance variable.
      
      * Created two raid function template and used corresponding raid
        function templates based on the run time check
        'hba_mpi_version_belonged'.
      
      * Moved mpt2sas_warpdrive.c file from mpt2sas to mpt3sas folder and
        renamed it as mpt3sas_warpdrive.c.
      
      * Also renamed the functions in mpt3sas_warpdrive.c file to follow
        current driver function name convention.
      
      * Updated the Makefile to build mpt3sas_warpdrive.o file for these
        WarpDrive-specific functions.
      
      * Also in function mpt3sas_setup_direct_io(), used sector_div() API
        instead of division operator (which gives compilation errors on 32 bit
        machines).
      
      * Removed mpt2sas files, mpt2sas directory & mpt3sas_module.c file.
      
      * Added module parameter 'hbas_to_enumerate' which permits using this
        merged driver as a legacy mpt2sas driver or as a legacy mpt3sas
        driver.
      
        Here are the available options for this module parameter:
      
         0 - Merged driver which enumerates both SAS 2.0 & SAS 3.0 HBAs
         1 - Acts as legacy mpt2sas driver, which enumerates only SAS 2.0 HBAs
         2 - Acts as legacy mpt3sas driver, which enumerates only SAS 3.0 HBAs
      
      * Removed mpt2sas entries from SCSI's Kconfig and Makefile files.
      Signed-off-by: default avatarSreekanth Reddy <Sreekanth.Reddy@avagotech.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      c84b06a4
    • Sreekanth Reddy's avatar
      mpt3sas: setpci reset kernel oops fix · 08c4d550
      Sreekanth Reddy authored
      setpci reset on nytro warpdrive card along with sysfs access and cli
      ioctl access resulted in kernel oops
      
      1. pci_access_mutex lock added to provide synchronization between IOCTL,
         sysfs, PCI resource handling path
      
      2. gioc_lock spinlock to protect list operations over multiple
         controllers
      
      This patch is ported from commit 6229b414
      
       ("mpt2sas: setpci reset
      kernel oops fix").
      Signed-off-by: default avatarSreekanth Reddy <Sreekanth.Reddy@avagotech.com>
      Acked-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      08c4d550
    • Sreekanth Reddy's avatar
      mpt3sas: Refcount fw_events and fix unsafe list usage · 146b16c8
      Sreekanth Reddy authored
      The fw_event_work struct is concurrently referenced at shutdown. Add a
      refcount to protect it and refactor the code to use it.
      
      Additionally, refactor _scsih_fw_event_cleanup_queue() such that it no
      longer iterates over the list without holding the lock since
      _firmware_event_work() concurrently deletes items from the list.
      
      This patch is ported from commit 008549f6
      
       ("mpt2sas: Refcount
      fw_events and fix unsafe list usage"). These changes are also required
      for mpt3sas.
      Signed-off-by: default avatarSreekanth Reddy <Sreekanth.Reddy@avagotech.com>
      Acked-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      146b16c8
  6. 11 Nov, 2015 8 commits
  7. 27 Aug, 2015 5 commits
  8. 13 Jan, 2015 3 commits
  9. 04 Dec, 2014 1 commit
  10. 24 Nov, 2014 3 commits
  11. 12 Nov, 2014 3 commits
  12. 16 Sep, 2014 3 commits