Commit 9bcb1d5a authored by Chandrakanth Patil's avatar Chandrakanth Patil Committed by Martin K. Petersen
Browse files

scsi: megaraid_sas: Add crash dump mode capability bit in MFI capabilities



In kdump kernel mode, the driver works in reduced functionality mode with
some features disabled such as reduced MSI-X count and RDPQ disabled, etc.
However, the firmware is not aware of this mode in some cases, which
results in undefined behavior.

To address this, the driver informs the firmware about the kdump mode
through MPI capabilities bit during driver initialization.  This allows
firmware to adjust its behavior accordingly.

Signed-off-by: default avatarChandrakanth Patil <chandrakanth.patil@broadcom.com>
Signed-off-by: default avatarSumit Saxena <sumit.saxena@broadcom.com>
Link: https://lore.kernel.org/r/20230302105342.34933-3-chandrakanth.patil@broadcom.com


Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent bfa65917
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1760,7 +1760,8 @@ union megasas_sgl_frame {
typedef union _MFI_CAPABILITIES {
	struct {
#if   defined(__BIG_ENDIAN_BITFIELD)
	u32     reserved:16;
	u32     reserved:15;
	u32	support_memdump:1;
	u32	support_fw_exposed_dev_list:1;
	u32	support_nvme_passthru:1;
	u32     support_64bit_mode:1;
@@ -1794,7 +1795,8 @@ typedef union _MFI_CAPABILITIES {
	u32     support_64bit_mode:1;
	u32	support_nvme_passthru:1;
	u32	support_fw_exposed_dev_list:1;
	u32     reserved:16;
	u32	support_memdump:1;
	u32     reserved:15;
#endif
	} mfi_capabilities;
	__le32		reg;
+3 −0
Original line number Diff line number Diff line
@@ -1201,6 +1201,9 @@ megasas_ioc_init_fusion(struct megasas_instance *instance)
	drv_ops->mfi_capabilities.support_nvme_passthru = 1;
	drv_ops->mfi_capabilities.support_fw_exposed_dev_list = 1;

	if (reset_devices)
		drv_ops->mfi_capabilities.support_memdump = 1;

	if (instance->consistent_mask_64bit)
		drv_ops->mfi_capabilities.support_64bit_mode = 1;