1. 23 2月, 2017 2 次提交
    • J
      scsi: lpfc: NVME Initiator: Base modifications · 895427bd
      James Smart 提交于
      NVME Initiator: Base modifications
      
      This patch adds base modifications for NVME initiator support.
      
      The base modifications consist of:
      - Formal split of SLI3 rings from SLI-4 WQs (sometimes referred to as
        rings as well) as implementation now widely varies between the two.
      - Addition of configuration modes:
         SCSI initiator only; NVME initiator only; NVME target only; and
         SCSI and NVME initiator.
         The configuration mode drives overall adapter configuration,
         offloads enabled, and resource splits.
         NVME support is only available on SLI-4 devices and newer fw.
      - Implements the following based on configuration mode:
        - Exchange resources are split by protocol; Obviously, if only
           1 mode, then no split occurs. Default is 50/50. module attribute
           allows tuning.
        - Pools and config parameters are separated per-protocol
        - Each protocol has it's own set of queues, but share interrupt
          vectors.
           SCSI:
             SLI3 devices have few queues and the original style of queue
               allocation remains.
             SLI4 devices piggy back on an "io-channel" concept that
               eventually needs to merge with scsi-mq/blk-mq support (it is
      	 underway).  For now, the paradigm continues as it existed
      	 prior. io channel allocates N msix and N WQs (N=4 default)
      	 and either round robins or uses cpu # modulo N for scheduling.
      	 A bunch of module parameters allow the configuration to be
      	 tuned.
           NVME (initiator):
             Allocates an msix per cpu (or whatever pci_alloc_irq_vectors
               gets)
             Allocates a WQ per cpu, and maps the WQs to msix on a WQ #
               modulo msix vector count basis.
             Module parameters exist to cap/control the config if desired.
        - Each protocol has its own buffer and dma pools.
      
      I apologize for the size of the patch.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      
      ----
      Reviewed-by: NHannes Reinecke <hare@suse.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      895427bd
    • J
      scsi: lpfc: minor code cleanups · 2ea259ee
      James Smart 提交于
      This contains code cleanups that were in the prior patch set.
      This allows better review of real changes later.
      
      minor code cleanups:
       fix indentation, punctuation, line length
       addition/reduction of whitespace
       remove unneeded parens, braces
       lpfc_debugfs_nodelist_data: print as u64 rather than byte by byte
       covert printk(KERN_ERR to pr_err
       small print string deltas
       use num_present_cpus() rather than count them
       comment updates
       rctl/type names moved to module variable, not on stack
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de>
      Reviewed-by: NHannes Reinecke <hare@suse.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      2ea259ee
  2. 21 1月, 2017 1 次提交
  3. 06 1月, 2017 1 次提交
  4. 05 1月, 2017 4 次提交
  5. 09 11月, 2016 9 次提交
  6. 21 7月, 2016 1 次提交
    • A
      scsi: lpfc: avoid harmless comparison warning · de8c36bb
      Arnd Bergmann 提交于
      When building with -Wextra, we get a lot of warnings for the lpfc driver
      concerning expressions that are always true, starting with:
      
      drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_enable_npiv_init':
      drivers/scsi/lpfc/lpfc_attr.c:2786:77: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
      drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_enable_rrq_init':
      drivers/scsi/lpfc/lpfc_attr.c:2802:76: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
      drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_suppress_link_up_init':
      drivers/scsi/lpfc/lpfc_attr.c:2812:2050: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
      drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_log_verbose_init':
      drivers/scsi/lpfc/lpfc_attr.c:3064:1930: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
      
      The code works as intended, but it would be nice to shut up the warning
      so we don't clutter up build logs with this. Using a separate inline
      function for it makes it clear to the compiler that the comparison is
      necessary in the caller but still lets it do the constant-folding.
      
      [mkp: fix typo]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de>
      Acked-by: NJames Smart <james.smart@broadcom.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      de8c36bb
  7. 16 7月, 2016 6 次提交
  8. 12 4月, 2016 3 次提交
  9. 22 12月, 2015 2 次提交
  10. 27 10月, 2015 2 次提交
  11. 10 4月, 2015 3 次提交
  12. 17 9月, 2014 1 次提交
  13. 18 7月, 2014 1 次提交
  14. 03 6月, 2014 4 次提交