1. 17 9月, 2014 7 次提交
    • S
      megaraid_sas : Firmware crash dump feature support · fc62b3fc
      Sumit.Saxena@avagotech.com 提交于
      Resending the patch. Addressed the review comments from Tomas Henzl.
      Move buff_offset inside spinlock, corrected loop at crash dump buffer free,
      reset_devices check is added to disable fw crash dump feature in kdump kernel.
      
      This feature will provide similar interface as kernel crash dump feature.
      When megaraid firmware encounter any crash, driver will collect the firmware raw image and
      dump it into pre-configured location.
      
      Driver will allocate two different segment of memory.
      #1 Non-DMA able large buffer (will be allocated on demand) to capture actual FW crash dump.
      #2 DMA buffer (persistence allocation) just to do a arbitrator job.
      
      Firmware will keep writing Crash dump data in chucks of DMA buffer size into #2,
      which will be copy back by driver to the host memory as described in #1.
      
      Driver-Firmware interface:
      ==================
      A.) Host driver can allocate maximum 512MB Host memory to store crash dump data.
      
      This memory will be internal to the host and will not be exposed to the Firmware.
      Driver may not be able to allocate 512 MB. In that case, driver will do possible memory
      (available at run time) allocation to store crash dump data.
      
      Let’s call this buffer as Host Crash Buffer.
      
      Host Crash buffer will not be contigious as a whole, but it will have multiple chunk of contigious memory.
      This will be internal to driver and firmware/application are unaware of it.
      Partial allocation of Host Crash buffer may have valid information to debug depending upon
      what was collected in that buffer and depending on nature of failure.
      
      Complete Crash dump is the best case, but we do want to capture partial buffer just to grab something rather than nothing.
      Host Crash buffer will be allocated only when FW Crash dump data is available,
      and will be deallocated once application copy Host Crash buffer to the file.
      Host Crash buffer size can be anything between 1MB to 512MB. (It will be multiple of 1MBs)
      
      B.) Irrespective of underlying Firmware capability of crash dump support,
      driver will allocate DMA buffer at start of the day for each MR controllers.
      Let’s call this buffer as “DMA Crash Buffer”.
      
      For this feature, size of DMA crash buffer will be 1MB.
      (We will not gain much even if DMA buffer size is increased.)
      
      C.) Driver will now read Controller Info sending existing dcmd “MR_DCMD_CTRL_GET_INFO”.
      Driver should extract the information from ctrl info provided by firmware and
      figure out if firmware support crash dump feature or not.
      
      Driver will enable crash dump feature only if
      “Firmware support Crash dump” +
      “Driver was able to create DMA Crash Buffer”.
      
      If either one from above is not set, Crash dump feature should be disable in driver.
      Firmware will enable crash dump feature only if “Driver Send DCMD- MR_DCMD_SET_CRASH_BUF_PARA with MR_CRASH_BUF_TURN_ON”
      
      Helper application/script should use sysfs parameter fw_crash_xxx to actually copy data from
      host memory to the filesystem.
      Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com>
      Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com>
      Reviewed-by: NTomas Henzl <thenzl@redhat.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      fc62b3fc
    • S
      megaraid_sas : Do not scan non syspd drives · 07e38d94
      Sumit.Saxena@avagotech.com 提交于
      Resending the patch. Addressed the review comments from Tomas Henzl.
      
      Current driver allow device scan for all the devices on channel 0 and 1.
      E.a If we have two single drive raid volumes, we may see prints like below.
      First two prints are for physical device which are used to form VD.
      Prints like this creates confusion as it is really not required to scan any
      hidden physical devices.
      
      scsi1 : LSI SAS based MegaRAID driver
      scsi 1:0:0:0: Direct-Access     LSI      MR9361-8i        4.21 PQ: 0 ANSI: 5
      scsi 1:0:1:0: Direct-Access     LSI      MR9361-8i        4.21 PQ: 0 ANSI: 5
      scsi 1:2:0:0: Direct-Access     LSI      MR9361-8i        4.21 PQ: 0 ANSI: 5
      scsi 1:2:1:0: Direct-Access     LSI      MR9361-8i        4.21 PQ: 0 ANSI: 5
      
      When slave_alloc called, sdev-type will not be set, so current code will always
      return "0" in slave_alloc callback.
      This patch make sure that driver return "-ENXIO" for non-syspd devices.
      
      After this patch, we will see prints in syslog only for devices which are exposed.
      For current example, below print will be available in syslog.
      
      scsi1 : LSI SAS based MegaRAID driver
      scsi 1:2:0:0: Direct-Access     LSI      MR9361-8i        4.21 PQ: 0 ANSI: 5
      scsi 1:2:1:0: Direct-Access     LSI      MR9361-8i        4.21 PQ: 0 ANSI: 5
      Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com>
      Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com>
      Reviewed-by: NTomas Henzl <thenzl@redhat.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      07e38d94
    • A
      megaraid_sas: Version and Changelog update · 5e8d9007
      Adam Radford 提交于
      The following patch for megaraid_sas updates the driver version and
      Documentation/scsi/ChangeLog.megaraid_sas.
      Signed-off-by: NAdam Radford <aradford@gmail.com>
      Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      5e8d9007
    • A
      megaraid_sas: Add missing initial call to megasas_get_ld_vf_affiliation(). · 9ea81f81
      Adam Radford 提交于
      The following patch for megaraid_sas adds a missing initial call to
      megasas_get_ld_vf_affiliation() at the end of megasas_probe_one().
      Signed-off-by: NAdam Radford <aradford@gmail.com>
      Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      9ea81f81
    • A
      megaraid_sas: Fix LD/VF affiliation parsing · 4cbfea88
      Adam Radford 提交于
      The following patch for megaraid_sas fixes the LD/VF affiliation policy parsing
      code to account for LD targetId's and Hidden LD's (not yet affiliated with any
      Virtual Functions).  This also breaks megasas_get_ld_vf_affiliation() into 2
      separate functions:  megasas_get_ld_vf_affiliation_111() and
      megasas_get_ld_Vf_affiliation_12() to reduce indentation levels.
      Signed-off-by: NAdam Radford <aradford@gmail.com>
      Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      4cbfea88
    • A
      megaraid: Use pci_enable_msix_range() instead of pci_enable_msix() · 8ae80ed1
      Alexander Gordeev 提交于
      As result of deprecation of MSI-X/MSI enablement functions
      pci_enable_msix() and pci_enable_msi_block() all drivers
      using these two interfaces need to be updated to use the
      new pci_enable_msi_range()  or pci_enable_msi_exact()
      and pci_enable_msix_range() or pci_enable_msix_exact()
      interfaces.
      Signed-off-by: NAlexander Gordeev <agordeev@redhat.com>
      Acked-by: NKashyap Desai <Kashyap.desai@avagotech.com>
      Cc: Neela Syam Kolli <megaraidlinux@lsi.com>
      Cc: linux-scsi@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      8ae80ed1
    • A
      megaraid: Fail resume if MSI-X re-initialization failed · dd088128
      Alexander Gordeev 提交于
      Currently the driver fails to analize MSI-X re-enablement
      status on resuming and always assumes the success. This
      update checks the MSI-X initialization result and fails
      to resume if MSI-Xs re-enablement failed.
      Signed-off-by: NAlexander Gordeev <agordeev@redhat.com>
      Acked-by: NKashyap Desai <Kashyap.desai@avagotech.com>
      Cc: Neela Syam Kolli <megaraidlinux@lsi.com>
      Cc: linux-scsi@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      dd088128
  2. 09 8月, 2014 1 次提交
  3. 19 5月, 2014 1 次提交
  4. 16 3月, 2014 6 次提交
  5. 19 12月, 2013 1 次提交
  6. 29 11月, 2013 1 次提交
    • M
      [SCSI] Disable WRITE SAME for RAID and virtual host adapter drivers · 54b2b50c
      Martin K. Petersen 提交于
      Some host adapters do not pass commands through to the target disk
      directly. Instead they provide an emulated target which may or may not
      accurately report its capabilities. In some cases the physical device
      characteristics are reported even when the host adapter is processing
      commands on the device's behalf. This can lead to adapter firmware hangs
      or excessive I/O errors.
      
      This patch disables WRITE SAME for devices connected to host adapters
      that provide an emulated target. Driver writers can disable WRITE SAME
      by setting the no_write_same flag in the host adapter template.
      
      [jejb: fix up rejections due to eh_deadline patch]
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      Cc: stable@kernel.org
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      54b2b50c
  7. 25 10月, 2013 2 次提交
  8. 14 10月, 2013 1 次提交
  9. 11 9月, 2013 1 次提交
  10. 07 9月, 2013 2 次提交
  11. 03 8月, 2013 1 次提交
  12. 06 7月, 2013 1 次提交
  13. 29 6月, 2013 1 次提交
  14. 25 6月, 2013 8 次提交
  15. 03 5月, 2013 1 次提交
  16. 19 4月, 2013 1 次提交
  17. 22 2月, 2013 1 次提交
  18. 04 1月, 2013 1 次提交
    • G
      Drivers: scsi: remove __dev* attributes. · 6f039790
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Adam Radford <linuxraid@lsi.com>
      Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6f039790
  19. 04 12月, 2012 1 次提交
    • X
      megaraid: fix BUG_ON() from incorrect use of delayed work · c1d390d8
      Xiaotian Feng 提交于
      megaraid use INIT_WORK to declare a hotplug_work, but cast the
      hotplug_work from work_struct to delayed_work and
      schedule_delayed_work on it.  This is very dangerous, as other part of
      delayed_work might be kernel memories allocated by others.
      
      With commit 8852aac2 ("workqueue: mod_delayed_work_on() shouldn't queue
      timer on 0 delay"), schedule_delayed_work() will check dwork->timer
      before queue_work even when @delay is 0, this causes megaraid code to
      hit the BUG_ON() in workqueue code.  Change megaraid code to use
      delayed work.
      Signed-off-by: NXiaotian Feng <dannyfeng@tencent.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Neela Syam Kolli <megaraidlinux@lsi.com>
      Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
      Cc: linux-scsi@vger.kernel.org
      c1d390d8
  20. 09 10月, 2012 1 次提交