mbox series

[00/24] Introducing mpi3mr driver

Message ID 20201222101156.98308-1-kashyap.desai@broadcom.com (mailing list archive)
Headers show
Series Introducing mpi3mr driver | expand

Message

Kashyap Desai Dec. 22, 2020, 10:11 a.m. UTC
This patch series covers logical patches of the new device driver for the
MPI3MR high performance storage I/O & RAID controllers (Avenger series).
The mpi3mr has true multiple h/w queue interfacing like nvme.

See more info -
https://www.spinics.net/lists/linux-scsi/msg147868.html

The controllers managed by the mpi3mr driver are capable of reaching a
very high performance numbers compared to existing controller due to the
new hardware architectures. This Driver is tested with the internal
versions of the MPI3MR I/O & RAID controllers.

Patches are logical split mainly for better code review. Full patch set is
required for functional stability of this new driver.

You can find the source at - https://github.com/kadesai16/mpi3mr_v1


Kashyap Desai (24):
  mpi3mr: add mpi30 Rev-R headers and Kconfig
  mpi3mr: base driver code
  mpi3mr: create operational request and reply queue pair
  mpi3mr: add support of queue command processing
  mpi3mr: add support of internal watchdog thread
  mpi3mr: add support of event handling part-1
  mpi3mr: add support of event handling pcie devices part-2
  mpi3mr: add support of event handling part-3
  mpi3mr: add support for recovering controller
  mpi3mr: add support of timestamp sync with firmware
  mpi3mr: print ioc info for debugging
  mpi3mr: add bios_param shost template hook
  mpi3mr: implement scsi error handler hooks
  mpi3mr: add change queue depth support
  mpi3mr: allow certain commands during pci-remove hook
  mpi3mr: hardware workaround for UNMAP commands to nvme drives
  mpi3mr: add support of threaded isr
  mpi3mr: add complete support of soft reset
  mpi3mr: print pending host ios for debug
  mpi3mr: wait for pending IO completions upon detection of VD IO
    timeout
  mpi3mr: add support of PM suspend and resume
  mpi3mr: add support of DSN secure fw check
  mpi3mr: add eedp dif dix support
  mpi3mr: add event handling debug prints

 drivers/scsi/Kconfig                      |    1 +
 drivers/scsi/Makefile                     |    1 +
 drivers/scsi/mpi3mr/Kconfig               |    7 +
 drivers/scsi/mpi3mr/Makefile              |    4 +
 drivers/scsi/mpi3mr/mpi/mpi30_api.h       |   23 +
 drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h      | 2721 ++++++++++++++
 drivers/scsi/mpi3mr/mpi/mpi30_image.h     |  285 ++
 drivers/scsi/mpi3mr/mpi/mpi30_init.h      |  216 ++
 drivers/scsi/mpi3mr/mpi/mpi30_ioc.h       | 1423 +++++++
 drivers/scsi/mpi3mr/mpi/mpi30_sas.h       |   46 +
 drivers/scsi/mpi3mr/mpi/mpi30_transport.h |  675 ++++
 drivers/scsi/mpi3mr/mpi/mpi30_type.h      |   89 +
 drivers/scsi/mpi3mr/mpi3mr.h              |  906 +++++
 drivers/scsi/mpi3mr/mpi3mr_debug.h        |   60 +
 drivers/scsi/mpi3mr/mpi3mr_fw.c           | 3944 ++++++++++++++++++++
 drivers/scsi/mpi3mr/mpi3mr_os.c           | 4148 +++++++++++++++++++++
 16 files changed, 14549 insertions(+)
 create mode 100644 drivers/scsi/mpi3mr/Kconfig
 create mode 100644 drivers/scsi/mpi3mr/Makefile
 create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_api.h
 create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h
 create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_image.h
 create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_init.h
 create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_ioc.h
 create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_sas.h
 create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_transport.h
 create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_type.h
 create mode 100644 drivers/scsi/mpi3mr/mpi3mr.h
 create mode 100644 drivers/scsi/mpi3mr/mpi3mr_debug.h
 create mode 100644 drivers/scsi/mpi3mr/mpi3mr_fw.c
 create mode 100644 drivers/scsi/mpi3mr/mpi3mr_os.c

Comments

Tomas Henzl Feb. 22, 2021, 3:39 p.m. UTC | #1
On 12/22/20 11:11 AM, Kashyap Desai wrote:
> This patch series covers logical patches of the new device driver for the
> MPI3MR high performance storage I/O & RAID controllers (Avenger series).
> The mpi3mr has true multiple h/w queue interfacing like nvme.
> 
> See more info -
> https://www.spinics.net/lists/linux-scsi/msg147868.html
> 
> The controllers managed by the mpi3mr driver are capable of reaching a
> very high performance numbers compared to existing controller due to the
> new hardware architectures. This Driver is tested with the internal
> versions of the MPI3MR I/O & RAID controllers.
> 
> Patches are logical split mainly for better code review. Full patch set is
> required for functional stability of this new driver.
> 
> You can find the source at - https://github.com/kadesai16/mpi3mr_v1

This was posted months ago, If I may suggest sort out the comments and
post a V2 of  the set.
Cheers,
tomash
> 
> 
> Kashyap Desai (24):
>   mpi3mr: add mpi30 Rev-R headers and Kconfig
>   mpi3mr: base driver code
>   mpi3mr: create operational request and reply queue pair
>   mpi3mr: add support of queue command processing
>   mpi3mr: add support of internal watchdog thread
>   mpi3mr: add support of event handling part-1
>   mpi3mr: add support of event handling pcie devices part-2
>   mpi3mr: add support of event handling part-3
>   mpi3mr: add support for recovering controller
>   mpi3mr: add support of timestamp sync with firmware
>   mpi3mr: print ioc info for debugging
>   mpi3mr: add bios_param shost template hook
>   mpi3mr: implement scsi error handler hooks
>   mpi3mr: add change queue depth support
>   mpi3mr: allow certain commands during pci-remove hook
>   mpi3mr: hardware workaround for UNMAP commands to nvme drives
>   mpi3mr: add support of threaded isr
>   mpi3mr: add complete support of soft reset
>   mpi3mr: print pending host ios for debug
>   mpi3mr: wait for pending IO completions upon detection of VD IO
>     timeout
>   mpi3mr: add support of PM suspend and resume
>   mpi3mr: add support of DSN secure fw check
>   mpi3mr: add eedp dif dix support
>   mpi3mr: add event handling debug prints
> 
>  drivers/scsi/Kconfig                      |    1 +
>  drivers/scsi/Makefile                     |    1 +
>  drivers/scsi/mpi3mr/Kconfig               |    7 +
>  drivers/scsi/mpi3mr/Makefile              |    4 +
>  drivers/scsi/mpi3mr/mpi/mpi30_api.h       |   23 +
>  drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h      | 2721 ++++++++++++++
>  drivers/scsi/mpi3mr/mpi/mpi30_image.h     |  285 ++
>  drivers/scsi/mpi3mr/mpi/mpi30_init.h      |  216 ++
>  drivers/scsi/mpi3mr/mpi/mpi30_ioc.h       | 1423 +++++++
>  drivers/scsi/mpi3mr/mpi/mpi30_sas.h       |   46 +
>  drivers/scsi/mpi3mr/mpi/mpi30_transport.h |  675 ++++
>  drivers/scsi/mpi3mr/mpi/mpi30_type.h      |   89 +
>  drivers/scsi/mpi3mr/mpi3mr.h              |  906 +++++
>  drivers/scsi/mpi3mr/mpi3mr_debug.h        |   60 +
>  drivers/scsi/mpi3mr/mpi3mr_fw.c           | 3944 ++++++++++++++++++++
>  drivers/scsi/mpi3mr/mpi3mr_os.c           | 4148 +++++++++++++++++++++
>  16 files changed, 14549 insertions(+)
>  create mode 100644 drivers/scsi/mpi3mr/Kconfig
>  create mode 100644 drivers/scsi/mpi3mr/Makefile
>  create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_api.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_image.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_init.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_ioc.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_sas.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_transport.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_type.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi3mr.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi3mr_debug.h
>  create mode 100644 drivers/scsi/mpi3mr/mpi3mr_fw.c
>  create mode 100644 drivers/scsi/mpi3mr/mpi3mr_os.c
>