Re: [PATCH 00/24] Introducing mpi3mr driver
From: Tomas Henzl <hidden>
Date: 2021-02-22 15:41:39
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