mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
scsi: mpi3mr: Update MPI Headers to revision 39
Update MPI Headers to revision 39. Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com> Link: https://patch.msgid.link/20260116060719.32937-6-ranjan.kumar@broadcom.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
c273c14b02
commit
d0654335d9
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Copyright 2017-2023 Broadcom Inc. All rights reserved.
|
||||
* Copyright 2017-2026 Broadcom Inc. All rights reserved.
|
||||
*/
|
||||
#ifndef MPI30_CNFG_H
|
||||
#define MPI30_CNFG_H 1
|
||||
@@ -1037,6 +1037,7 @@ struct mpi3_io_unit_page5 {
|
||||
#define MPI3_IOUNIT5_DEVICE_SHUTDOWN_SATA_SSD_SHIFT (2)
|
||||
#define MPI3_IOUNIT5_DEVICE_SHUTDOWN_SAS_SSD_MASK (0x0003)
|
||||
#define MPI3_IOUNIT5_DEVICE_SHUTDOWN_SAS_SSD_SHIFT (0)
|
||||
#define MPI3_IOUNIT5_DEVICE_SHUTDOWN_HDD_SPINDOWN_ENABLE (0x8000)
|
||||
#define MPI3_IOUNIT5_FLAGS_SATAPUIS_MASK (0x0c)
|
||||
#define MPI3_IOUNIT5_FLAGS_SATAPUIS_NOT_SUPPORTED (0x00)
|
||||
#define MPI3_IOUNIT5_FLAGS_SATAPUIS_OS_CONTROLLED (0x04)
|
||||
@@ -1074,7 +1075,8 @@ struct mpi3_io_unit_page8 {
|
||||
u8 current_key_encryption_algo;
|
||||
u8 key_digest_hash_algo;
|
||||
union mpi3_version_union current_svn;
|
||||
__le32 reserved14;
|
||||
__le16 pending_svn_time;
|
||||
__le16 reserved16;
|
||||
__le32 current_key[128];
|
||||
union mpi3_iounit8_digest digest[MPI3_IOUNIT8_DIGEST_MAX];
|
||||
};
|
||||
@@ -1406,6 +1408,7 @@ struct mpi3_driver_page1 {
|
||||
};
|
||||
|
||||
#define MPI3_DRIVER1_PAGEVERSION (0x00)
|
||||
#define MPI3_DRIVER1_FLAGS_DEVICE_SHUTDOWN_ON_UNLOAD_DISABLE (0x0001)
|
||||
#ifndef MPI3_DRIVER2_TRIGGER_MAX
|
||||
#define MPI3_DRIVER2_TRIGGER_MAX (1)
|
||||
#endif
|
||||
@@ -1561,7 +1564,9 @@ struct mpi3_security1_key_record {
|
||||
u8 consumer;
|
||||
__le16 key_data_size;
|
||||
__le32 additional_key_data;
|
||||
__le32 reserved08[2];
|
||||
u8 library_version;
|
||||
u8 reserved09[3];
|
||||
__le32 reserved0c;
|
||||
union mpi3_security1_key_data key_data;
|
||||
};
|
||||
|
||||
@@ -1614,6 +1619,85 @@ struct mpi3_security_page2 {
|
||||
u8 reserved9d[3];
|
||||
struct mpi3_security2_trusted_root trusted_root[MPI3_SECURITY2_TRUSTED_ROOT_MAX];
|
||||
};
|
||||
|
||||
struct mpi3_security_page3 {
|
||||
struct mpi3_config_page_header header;
|
||||
__le16 key_data_length;
|
||||
__le16 reserved0a;
|
||||
u8 key_number;
|
||||
u8 reserved0d[3];
|
||||
union mpi3_security_mac mac;
|
||||
union mpi3_security_nonce nonce;
|
||||
__le32 reserved90[12];
|
||||
u8 flags;
|
||||
u8 consumer;
|
||||
__le16 key_data_size;
|
||||
__le32 additional_key_data;
|
||||
u8 library_version;
|
||||
u8 reserved_c9[3];
|
||||
__le32 reserved_cc;
|
||||
u8 key_data[];
|
||||
};
|
||||
|
||||
#define MPI3_SECURITY3_PAGEVERSION (0x00)
|
||||
#define MPI3_SECURITY3_FLAGS_TYPE_MASK (0x0f)
|
||||
#define MPI3_SECURITY3_FLAGS_TYPE_SHIFT (0)
|
||||
#define MPI3_SECURITY3_FLAGS_TYPE_NOT_VALID (0)
|
||||
#define MPI3_SECURITY3_FLAGS_TYPE_MLDSA_PRIVATE (1)
|
||||
#define MPI3_SECURITY3_FLAGS_TYPE_MLDSA_PUBLIC (2)
|
||||
struct mpi3_security_page10 {
|
||||
struct mpi3_config_page_header header;
|
||||
__le32 reserved08[2];
|
||||
union mpi3_security_mac mac;
|
||||
union mpi3_security_nonce nonce;
|
||||
__le64 current_token_nonce;
|
||||
__le64 previous_token_nonce;
|
||||
__le32 reserved_a0[8];
|
||||
u8 diagnostic_auth_id[64];
|
||||
};
|
||||
#define MPI3_SECURITY10_PAGEVERSION (0x00)
|
||||
|
||||
struct mpi3_security_page11 {
|
||||
struct mpi3_config_page_header header;
|
||||
u8 flags;
|
||||
u8 reserved09[3];
|
||||
__le32 reserved0c;
|
||||
__le32 diagnostic_token_length;
|
||||
__le32 reserved14[3];
|
||||
u8 diagnostic_token[];
|
||||
};
|
||||
#define MPI3_SECURITY11_PAGEVERSION (0x00)
|
||||
#define MPI3_SECURITY11_FLAGS_TOKEN_ENABLED (0x01)
|
||||
|
||||
struct mpi3_security12_diag_feature {
|
||||
__le32 feature_identifier;
|
||||
u8 feature_size;
|
||||
u8 feature_type;
|
||||
__le16 reserved06;
|
||||
u8 status;
|
||||
u8 section;
|
||||
__le16 reserved0a;
|
||||
__le32 reserved0c;
|
||||
u8 feature_data[64];
|
||||
};
|
||||
#define MPI3_SECURITY12_DIAG_FEATURE_STATUS_MASK (0x03)
|
||||
#define MPI3_SECURITY12_DIAG_FEATURE_STATUS_SHIFT (0)
|
||||
#define MPI3_SECURITY12_DIAG_FEATURE_STATUS_UNKNOWN (0x00)
|
||||
#define MPI3_SECURITY12_DIAG_FEATURE_STATUS_DISABLED (0x01)
|
||||
#define MPI3_SECURITY12_DIAG_FEATURE_STATUS_ENABLED (0x02)
|
||||
#define MPI3_SECURITY12_DIAG_FEATURE_SECTION_PROTECTED (0x00)
|
||||
#define MPI3_SECURITY12_DIAG_FEATURE_SECTION_UNPROTECTED (0x01)
|
||||
#define MPI3_SECURITY12_DIAG_FEATURE_SECTION_PAYLOAD (0x02)
|
||||
#define MPI3_SECURITY12_DIAG_FEATURE_SECTION_SIGNATURE (0x03)
|
||||
struct mpi3_security_page12 {
|
||||
struct mpi3_config_page_header header;
|
||||
__le32 reserved08[2];
|
||||
u8 num_diag_features;
|
||||
u8 reserved11[3];
|
||||
__le32 reserved14[3];
|
||||
struct mpi3_security12_diag_feature diag_feature[];
|
||||
};
|
||||
|
||||
#define MPI3_SECURITY2_PAGEVERSION (0x00)
|
||||
struct mpi3_sas_io_unit0_phy_data {
|
||||
u8 io_unit_port;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Copyright 2018-2023 Broadcom Inc. All rights reserved.
|
||||
* Copyright 2018-2026 Broadcom Inc. All rights reserved.
|
||||
*/
|
||||
#ifndef MPI30_IMAGE_H
|
||||
#define MPI30_IMAGE_H 1
|
||||
@@ -135,7 +135,7 @@ struct mpi3_ci_manifest_mpi {
|
||||
__le32 package_version_string_offset;
|
||||
__le32 package_build_date_string_offset;
|
||||
__le32 package_build_time_string_offset;
|
||||
__le32 reserved4c;
|
||||
__le32 diag_authorization_key_offset;
|
||||
__le32 diag_authorization_identifier[16];
|
||||
struct mpi3_ci_manifest_mpi_comp_image_ref component_image_ref[MPI3_CI_MANIFEST_MPI_MAX];
|
||||
};
|
||||
@@ -148,16 +148,112 @@ struct mpi3_ci_manifest_mpi {
|
||||
#define MPI3_CI_MANIFEST_MPI_RELEASE_LEVEL_GCA (0x50)
|
||||
#define MPI3_CI_MANIFEST_MPI_RELEASE_LEVEL_POINT (0x60)
|
||||
#define MPI3_CI_MANIFEST_MPI_FLAGS_DIAG_AUTHORIZATION (0x01)
|
||||
#define MPI3_CI_MANIFEST_MPI_FLAGS_DIAG_AUTH_ANCHOR_MASK (0x06)
|
||||
#define MPI3_CI_MANIFEST_MPI_FLAGS_DIAG_AUTH_ANCHOR_SHIFT (1)
|
||||
#define MPI3_CI_MANIFEST_MPI_FLAGS_DIAG_AUTH_ANCHOR_IDENTIFIER (0x00)
|
||||
#define MPI3_CI_MANIFEST_MPI_FLAGS_DIAG_AUTH_ANCHOR_KEY_OFFSET (0x02)
|
||||
#define MPI3_CI_MANIFEST_MPI_SUBSYSTEMID_IGNORED (0xffff)
|
||||
#define MPI3_CI_MANIFEST_MPI_PKG_VER_STR_OFF_UNSPECIFIED (0x00000000)
|
||||
#define MPI3_CI_MANIFEST_MPI_PKG_BUILD_DATE_STR_OFF_UNSPECIFIED (0x00000000)
|
||||
#define MPI3_CI_MANIFEST_MPI_PKG_BUILD_TIME_STR_OFF_UNSPECIFIED (0x00000000)
|
||||
|
||||
struct mpi3_sb_manifest_ci_digest {
|
||||
__le32 signature1;
|
||||
__le32 reserved04[2];
|
||||
u8 hash_algorithm;
|
||||
u8 reserved09[3];
|
||||
struct mpi3_comp_image_version component_image_version;
|
||||
__le32 component_image_version_string_offset;
|
||||
__le32 digest[16];
|
||||
};
|
||||
|
||||
struct mpi3_sb_manifest_ci_ref_element {
|
||||
u8 num_ci_digests;
|
||||
u8 reserved01[3];
|
||||
struct mpi3_sb_manifest_ci_digest ci_digest[];
|
||||
};
|
||||
|
||||
struct mpi3_sb_manifest_embedded_key_element {
|
||||
__le32 reserved00[3];
|
||||
u8 key_algorithm;
|
||||
u8 flags;
|
||||
__le16 public_key_size;
|
||||
__le32 start_tag;
|
||||
__le32 public_key[];
|
||||
};
|
||||
|
||||
#define MPI3_SB_MANIFEST_EMBEDDED_KEY_FLAGS_KEYINDEX_MASK (0x03)
|
||||
#define MPI3_SB_MANIFEST_EMBEDDED_KEY_FLAGS_KEYINDEX_STRT (0x00)
|
||||
#define MPI3_SB_MANIFEST_EMBEDDED_KEY_FLAGS_KEYINDEX_K2GO (0x01)
|
||||
#define MPI3_SB_MANIFEST_EMBEDDED_KEY_STARTTAG_STRT (0x54525453)
|
||||
#define MPI3_SB_MANIFEST_EMBEDDED_KEY_STARTTAG_K2GO (0x4f47324b)
|
||||
#define MPI3_SB_MANIFEST_EMBEDDED_KEY_ENDTAG_STOP (0x504f5453)
|
||||
#define MPI3_SB_MANIFEST_EMBEDDED_KEY_ENDTAG_K2ST (0x5453324b)
|
||||
|
||||
struct mpi3_sb_manifest_diag_key_element {
|
||||
__le32 reserved00[3];
|
||||
u8 key_algorithm;
|
||||
u8 flags;
|
||||
__le16 public_key_size;
|
||||
__le32 public_key[];
|
||||
};
|
||||
|
||||
#define MPI3_SB_MANIFEST_DIAG_KEY_FLAGS_KEYINDEX_MASK (0x03)
|
||||
#define MPI3_SB_MANIFEST_DIAG_KEY_FLAGS_KEYSELECT_FW_KEY (0x04)
|
||||
union mpi3_sb_manifest_element_data {
|
||||
struct mpi3_sb_manifest_ci_ref_element ci_ref;
|
||||
struct mpi3_sb_manifest_embedded_key_element embed_key;
|
||||
struct mpi3_sb_manifest_diag_key_element diag_key;
|
||||
__le32 dword;
|
||||
};
|
||||
struct mpi3_sb_manifest_element {
|
||||
u8 manifest_element_form;
|
||||
u8 reserved01[3];
|
||||
union mpi3_sb_manifest_element_data form_specific[];
|
||||
};
|
||||
#define MPI3_SB_MANIFEST_ELEMENT_FORM_CI_REFS (0x01)
|
||||
#define MPI3_SB_MANIFEST_ELEMENT_FORM_EMBED_KEY (0x02)
|
||||
#define MPI3_SB_MANIFEST_ELEMENT_FORM_DIAG_KEY (0x03)
|
||||
struct mpi3_sb_manifest_mpi {
|
||||
u8 manifest_type;
|
||||
u8 reserved01[3];
|
||||
__le32 reserved04[3];
|
||||
u8 reserved10;
|
||||
u8 release_level;
|
||||
__le16 reserved12;
|
||||
__le16 reserved14;
|
||||
__le16 flags;
|
||||
__le32 reserved18[2];
|
||||
__le16 vendor_id;
|
||||
__le16 device_id;
|
||||
__le16 subsystem_vendor_id;
|
||||
__le16 subsystem_id;
|
||||
__le32 reserved28[2];
|
||||
union mpi3_version_union package_security_version;
|
||||
__le32 reserved34;
|
||||
struct mpi3_comp_image_version package_version;
|
||||
__le32 package_version_string_offset;
|
||||
__le32 package_build_date_string_offset;
|
||||
__le32 package_build_time_string_offset;
|
||||
__le32 component_image_references_offset;
|
||||
__le32 embedded_key0offset;
|
||||
__le32 embedded_key1offset;
|
||||
__le32 diag_authorization_key_offset;
|
||||
__le32 reserved5c[9];
|
||||
struct mpi3_sb_manifest_element manifest_elements[];
|
||||
};
|
||||
|
||||
union mpi3_ci_manifest {
|
||||
struct mpi3_ci_manifest_mpi mpi;
|
||||
struct mpi3_sb_manifest_mpi sb_mpi;
|
||||
__le32 dword[1];
|
||||
};
|
||||
|
||||
#define MPI3_CI_MANIFEST_TYPE_MPI (0x00)
|
||||
#define MPI3_SB_MANIFEST_APU_IMMEDIATE_DEFER_APU_ENABLE (0x01)
|
||||
|
||||
#define MPI3_CI_MANIFEST_TYPE_MPI (0x00)
|
||||
#define MPI3_CI_MANIFEST_TYPE_SB (0x01)
|
||||
|
||||
struct mpi3_extended_image_header {
|
||||
u8 image_type;
|
||||
u8 reserved01[3];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Copyright 2016-2023 Broadcom Inc. All rights reserved.
|
||||
* Copyright 2016-2026 Broadcom Inc. All rights reserved.
|
||||
*/
|
||||
#ifndef MPI30_INIT_H
|
||||
#define MPI30_INIT_H 1
|
||||
|
||||
@@ -661,6 +661,7 @@ struct mpi3_event_data_diag_buffer_status_change {
|
||||
#define MPI3_EVENT_DIAG_BUFFER_STATUS_CHANGE_RC_RELEASED (0x01)
|
||||
#define MPI3_EVENT_DIAG_BUFFER_STATUS_CHANGE_RC_PAUSED (0x02)
|
||||
#define MPI3_EVENT_DIAG_BUFFER_STATUS_CHANGE_RC_RESUMED (0x03)
|
||||
#define MPI3_EVENT_DIAG_BUFFER_STATUS_CHANGE_RC_CLEARED (0x04)
|
||||
#define MPI3_PEL_LOCALE_FLAGS_NON_BLOCKING_BOOT_EVENT (0x0200)
|
||||
#define MPI3_PEL_LOCALE_FLAGS_BLOCKING_BOOT_EVENT (0x0100)
|
||||
#define MPI3_PEL_LOCALE_FLAGS_PCIE (0x0080)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Copyright 2016-2023 Broadcom Inc. All rights reserved.
|
||||
* Copyright 2016-2026 Broadcom Inc. All rights reserved.
|
||||
*
|
||||
*/
|
||||
#ifndef MPI30_PCI_H
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Copyright 2016-2023 Broadcom Inc. All rights reserved.
|
||||
* Copyright 2016-2026 Broadcom Inc. All rights reserved.
|
||||
*/
|
||||
#ifndef MPI30_SAS_H
|
||||
#define MPI30_SAS_H 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Copyright 2016-2024 Broadcom Inc. All rights reserved.
|
||||
* Copyright 2016-2026 Broadcom Inc. All rights reserved.
|
||||
*/
|
||||
#ifndef MPI30_TOOL_H
|
||||
#define MPI30_TOOL_H 1
|
||||
@@ -8,6 +8,10 @@
|
||||
#define MPI3_DIAG_BUFFER_TYPE_TRACE (0x01)
|
||||
#define MPI3_DIAG_BUFFER_TYPE_FW (0x02)
|
||||
#define MPI3_DIAG_BUFFER_ACTION_RELEASE (0x01)
|
||||
#define MPI3_DIAG_BUFFER_ACTION_PAUSE (0x02)
|
||||
#define MPI3_DIAG_BUFFER_ACTION_RESUME (0x03)
|
||||
#define MPI3_DIAG_BUFFER_ACTION_CLEAR (0x04)
|
||||
|
||||
|
||||
#define MPI3_DIAG_BUFFER_POST_MSGFLAGS_SEGMENTED (0x01)
|
||||
struct mpi3_diag_buffer_post_request {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Copyright 2016-2023 Broadcom Inc. All rights reserved.
|
||||
* Copyright 2016-2026 Broadcom Inc. All rights reserved.
|
||||
*/
|
||||
#ifndef MPI30_TRANSPORT_H
|
||||
#define MPI30_TRANSPORT_H 1
|
||||
@@ -18,7 +18,7 @@ union mpi3_version_union {
|
||||
|
||||
#define MPI3_VERSION_MAJOR (3)
|
||||
#define MPI3_VERSION_MINOR (0)
|
||||
#define MPI3_VERSION_UNIT (37)
|
||||
#define MPI3_VERSION_UNIT (39)
|
||||
#define MPI3_VERSION_DEV (0)
|
||||
#define MPI3_DEVHANDLE_INVALID (0xffff)
|
||||
struct mpi3_sysif_oper_queue_indexes {
|
||||
|
||||
Reference in New Issue
Block a user