提交 9bcb1d5a 编写于 作者: C Chandrakanth Patil 提交者: Martin K. Petersen

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: NChandrakanth Patil <chandrakanth.patil@broadcom.com>
Signed-off-by: NSumit Saxena <sumit.saxena@broadcom.com>
Link: https://lore.kernel.org/r/20230302105342.34933-3-chandrakanth.patil@broadcom.comSigned-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
上级 bfa65917
...@@ -1760,7 +1760,8 @@ union megasas_sgl_frame { ...@@ -1760,7 +1760,8 @@ union megasas_sgl_frame {
typedef union _MFI_CAPABILITIES { typedef union _MFI_CAPABILITIES {
struct { struct {
#if defined(__BIG_ENDIAN_BITFIELD) #if defined(__BIG_ENDIAN_BITFIELD)
u32 reserved:16; u32 reserved:15;
u32 support_memdump:1;
u32 support_fw_exposed_dev_list:1; u32 support_fw_exposed_dev_list:1;
u32 support_nvme_passthru:1; u32 support_nvme_passthru:1;
u32 support_64bit_mode:1; u32 support_64bit_mode:1;
...@@ -1794,7 +1795,8 @@ typedef union _MFI_CAPABILITIES { ...@@ -1794,7 +1795,8 @@ typedef union _MFI_CAPABILITIES {
u32 support_64bit_mode:1; u32 support_64bit_mode:1;
u32 support_nvme_passthru:1; u32 support_nvme_passthru:1;
u32 support_fw_exposed_dev_list:1; u32 support_fw_exposed_dev_list:1;
u32 reserved:16; u32 support_memdump:1;
u32 reserved:15;
#endif #endif
} mfi_capabilities; } mfi_capabilities;
__le32 reg; __le32 reg;
......
...@@ -1201,6 +1201,9 @@ megasas_ioc_init_fusion(struct megasas_instance *instance) ...@@ -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_nvme_passthru = 1;
drv_ops->mfi_capabilities.support_fw_exposed_dev_list = 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) if (instance->consistent_mask_64bit)
drv_ops->mfi_capabilities.support_64bit_mode = 1; drv_ops->mfi_capabilities.support_64bit_mode = 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册