1. 16 3月, 2022 2 次提交
  2. 29 9月, 2021 1 次提交
  3. 14 9月, 2021 1 次提交
  4. 25 8月, 2021 8 次提交
  5. 27 7月, 2021 2 次提交
  6. 19 7月, 2021 2 次提交
  7. 10 6月, 2021 1 次提交
  8. 13 4月, 2021 2 次提交
  9. 17 11月, 2020 2 次提交
  10. 27 10月, 2020 1 次提交
  11. 01 9月, 2020 1 次提交
  12. 03 7月, 2020 2 次提交
  13. 08 5月, 2020 1 次提交
  14. 18 2月, 2020 1 次提交
    • J
      scsi: lpfc: add RDF registration and Link Integrity FPIN logging · df3fe766
      James Smart 提交于
      This patch modifies lpfc to register for Link Integrity events via the use
      of an RDF ELS and to perform Link Integrity FPIN logging.
      
      Specifically, the driver was modified to:
      
       - Format and issue the RDF ELS immediately following SCR registration.
         This registers the ability of the driver to receive FPIN ELS.
      
       - Adds decoding of the FPIN els into the received descriptors, with
         logging of the Link Integrity event information. After decoding, the ELS
         is delivered to the scsi fc transport to be delivered to any user-space
         applications.
      
       - To aid in logging, simple helpers were added to create enum to name
         string lookup functions that utilize the initialization helpers from the
         fc_els.h header.
      
       - Note: base header definitions for the ELS's don't populate the
         descriptor payloads. As such, lpfc creates it's own version of the
         structures, using the base definitions (mostly headers) and additionally
         declaring the descriptors that will complete the population of the ELS.
      
      Link: https://lore.kernel.org/r/20200210173155.547-3-jsmart2021@gmail.comSigned-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <jsmart2021@gmail.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      df3fe766
  15. 22 12月, 2019 1 次提交
  16. 06 11月, 2019 1 次提交
  17. 29 10月, 2019 1 次提交
  18. 25 10月, 2019 4 次提交
  19. 01 10月, 2019 2 次提交
  20. 20 8月, 2019 3 次提交
    • J
      scsi: lpfc: Add NVMe sequence level error recovery support · 0d8af096
      James Smart 提交于
      FC-NVMe-2 added support for sequence level error recovery in the FC-NVME
      protocol. This allows for the detection of errors and lost frames and
      immediate retransmission of data to avoid exchange termination, which
      escalates into NVMeoFC connection and association failures. A significant
      RAS improvement.
      
      The driver is modified to indicate support for SLER in the NVMe PRLI is
      issues and to check for support in the PRLI response.  When both sides
      support it, the driver will set a bit in the WQE to enable the recovery
      behavior on the exchange. The adapter will take care of all detection and
      retransmission.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <jsmart2021@gmail.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      0d8af096
    • J
      scsi: lpfc: Support dynamic unbounded SGL lists on G7 hardware. · d79c9e9d
      James Smart 提交于
      Typical SLI-4 hardware supports up to 2 4KB pages to be registered per XRI
      to contain the exchanges Scatter/Gather List. This caps the number of SGL
      elements that can be in the SGL. There are not extensions to extend the
      list out of the 2 pages.
      
      The G7 hardware adds a SGE type that allows the SGL to be vectored to a
      different scatter/gather list segment. And that segment can contain a SGE
      to go to another segment and so on.  The initial segment must still be
      pre-registered for the XRI, but it can be a much smaller amount (256Bytes)
      as it can now be dynamically grown.  This much smaller allocation can
      handle the SG list for most normal I/O, and the dynamic aspect allows it to
      support many MB's if needed.
      
      The implementation creates a pool which contains "segments" and which is
      initially sized to hold the initial small segment per xri. If an I/O
      requires additional segments, they are allocated from the pool.  If the
      pool has no more segments, the pool is grown based on what is now
      needed. After the I/O completes, the additional segments are returned to
      the pool for use by other I/Os. Once allocated, the additional segments are
      not released under the assumption of "if needed once, it will be needed
      again". Pools are kept on a per-hardware queue basis, which is typically
      1:1 per cpu, but may be shared by multiple cpus.
      
      The switch to the smaller initial allocation significantly reduces the
      memory footprint of the driver (which only grows if large ios are
      issued). Based on the several K of XRIs for the adapter, the 8KB->256B
      reduction can conserve 32MBs or more.
      
      It has been observed with per-cpu resource pools that allocating a resource
      on CPU A, may be put back on CPU B. While the get routines are distributed
      evenly, only a limited subset of CPUs may be handling the put routines.
      This can put a strain on the lpfc_put_cmd_rsp_buf_per_cpu routine because
      all the resources are being put on a limited subset of CPUs.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <jsmart2021@gmail.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      d79c9e9d
    • J
      scsi: lpfc: Add MDS driver loopback diagnostics support · e62245d9
      James Smart 提交于
      Added code to support driver loopback with MDS Diagnostics.  This style of
      diagnostics passes frames from the fabric to the driver who then echo them
      back out the link.  SEND_FRAME WQEs are used to transmit the frames.  Added
      the SOF and EOF field location definitions for use by SEND_FRAME.
      
      Also ensure that enable_mds_diags is a RW parameter.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <jsmart2021@gmail.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      e62245d9
  21. 04 4月, 2019 1 次提交