linux/drivers/scsi/smartpqi
Mahesh Rajashekhara 9ee5d6e9ac scsi: smartpqi: Add controller handshake during kdump
Correct kdump hangs when controller is locked up.

There are occasions when a controller reboot (controller soft reset) is
issued when a controller firmware crash dump is in progress.

This leads to incomplete controller firmware crash dump:

 - When the controller crash dump is in progress, and a kdump is initiated,
   the driver issues inbound doorbell reset to bring back the controller in
   SIS mode.

 - If the controller is in locked up state, the inbound doorbell reset does
   not work causing controller initialization failures. This results in the
   driver hanging waiting for SIS mode.

To avoid an incomplete controller crash dump, add in a controller crash
dump handshake:

 - Controller will indicate start and end of the controller crash dump by
   setting some register bits.

 - Driver will look these bits when a kdump is initiated.  If a controller
   crash dump is in progress, the driver will wait for the controller crash
   dump to complete before issuing the controller soft reset then complete
   driver initialization.

Link: https://lore.kernel.org/r/20210928235442.201875-3-don.brace@microchip.com
Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
Reviewed-by: Scott Teel <scott.teel@microchip.com>
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
Acked-by: John Donnelly <john.p.donnelly@oracle.com>
Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microchip.com>
Signed-off-by: Don Brace <don.brace@microchip.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2021-10-05 00:13:14 -04:00
..
Kconfig scsi: smartpqi: Change Kconfig menu entry to Microchip 2021-07-19 22:00:56 -04:00
Makefile scsi: smartpqi: add spdx 2019-03-18 16:48:28 -04:00
smartpqi_init.c scsi: smartpqi: Add controller handshake during kdump 2021-10-05 00:13:14 -04:00
smartpqi_sas_transport.c scsi: smartpqi: Update copyright notices 2021-07-19 22:00:56 -04:00
smartpqi_sis.c scsi: smartpqi: Add controller handshake during kdump 2021-10-05 00:13:14 -04:00
smartpqi_sis.h scsi: smartpqi: Add controller handshake during kdump 2021-10-05 00:13:14 -04:00
smartpqi.h scsi: smartpqi: Replace one-element array with flexible-array member 2021-08-17 22:28:39 -04:00