forked from Minki/linux
qed: Add MFW interfaces for TLV request support.
The patch adds required management firmware (MFW) interfaces such as mailbox commands, TLV types etc. Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com> Signed-off-by: Ariel Elior <ariel.elior@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9c803cfd5f
commit
dd006921d6
@ -11863,6 +11863,8 @@ struct public_global {
|
||||
u32 running_bundle_id;
|
||||
s32 external_temperature;
|
||||
u32 mdump_reason;
|
||||
u32 data_ptr;
|
||||
u32 data_size;
|
||||
};
|
||||
|
||||
struct fw_flr_mb {
|
||||
@ -12322,6 +12324,7 @@ struct public_drv_mb {
|
||||
#define DRV_MSG_CODE_BIST_TEST 0x001e0000
|
||||
#define DRV_MSG_CODE_SET_LED_MODE 0x00200000
|
||||
#define DRV_MSG_CODE_RESOURCE_CMD 0x00230000
|
||||
#define DRV_MSG_CODE_GET_TLV_DONE 0x002f0000
|
||||
|
||||
#define RESOURCE_CMD_REQ_RESC_MASK 0x0000001F
|
||||
#define RESOURCE_CMD_REQ_RESC_SHIFT 0
|
||||
@ -12523,6 +12526,7 @@ enum MFW_DRV_MSG_TYPE {
|
||||
MFW_DRV_MSG_TRANSCEIVER_STATE_CHANGE,
|
||||
MFW_DRV_MSG_BW_UPDATE11,
|
||||
MFW_DRV_MSG_OEM_CFG_UPDATE,
|
||||
MFW_DRV_MSG_GET_TLV_REQ,
|
||||
MFW_DRV_MSG_MAX
|
||||
};
|
||||
|
||||
@ -12558,6 +12562,233 @@ struct mcp_public_data {
|
||||
struct public_func func[MCP_GLOB_FUNC_MAX];
|
||||
};
|
||||
|
||||
/* OCBB definitions */
|
||||
enum tlvs {
|
||||
/* Category 1: Device Properties */
|
||||
DRV_TLV_CLP_STR,
|
||||
DRV_TLV_CLP_STR_CTD,
|
||||
/* Category 6: Device Configuration */
|
||||
DRV_TLV_SCSI_TO,
|
||||
DRV_TLV_R_T_TOV,
|
||||
DRV_TLV_R_A_TOV,
|
||||
DRV_TLV_E_D_TOV,
|
||||
DRV_TLV_CR_TOV,
|
||||
DRV_TLV_BOOT_TYPE,
|
||||
/* Category 8: Port Configuration */
|
||||
DRV_TLV_NPIV_ENABLED,
|
||||
/* Category 10: Function Configuration */
|
||||
DRV_TLV_FEATURE_FLAGS,
|
||||
DRV_TLV_LOCAL_ADMIN_ADDR,
|
||||
DRV_TLV_ADDITIONAL_MAC_ADDR_1,
|
||||
DRV_TLV_ADDITIONAL_MAC_ADDR_2,
|
||||
DRV_TLV_LSO_MAX_OFFLOAD_SIZE,
|
||||
DRV_TLV_LSO_MIN_SEGMENT_COUNT,
|
||||
DRV_TLV_PROMISCUOUS_MODE,
|
||||
DRV_TLV_TX_DESCRIPTORS_QUEUE_SIZE,
|
||||
DRV_TLV_RX_DESCRIPTORS_QUEUE_SIZE,
|
||||
DRV_TLV_NUM_OF_NET_QUEUE_VMQ_CFG,
|
||||
DRV_TLV_FLEX_NIC_OUTER_VLAN_ID,
|
||||
DRV_TLV_OS_DRIVER_STATES,
|
||||
DRV_TLV_PXE_BOOT_PROGRESS,
|
||||
/* Category 12: FC/FCoE Configuration */
|
||||
DRV_TLV_NPIV_STATE,
|
||||
DRV_TLV_NUM_OF_NPIV_IDS,
|
||||
DRV_TLV_SWITCH_NAME,
|
||||
DRV_TLV_SWITCH_PORT_NUM,
|
||||
DRV_TLV_SWITCH_PORT_ID,
|
||||
DRV_TLV_VENDOR_NAME,
|
||||
DRV_TLV_SWITCH_MODEL,
|
||||
DRV_TLV_SWITCH_FW_VER,
|
||||
DRV_TLV_QOS_PRIORITY_PER_802_1P,
|
||||
DRV_TLV_PORT_ALIAS,
|
||||
DRV_TLV_PORT_STATE,
|
||||
DRV_TLV_FIP_TX_DESCRIPTORS_QUEUE_SIZE,
|
||||
DRV_TLV_FCOE_RX_DESCRIPTORS_QUEUE_SIZE,
|
||||
DRV_TLV_LINK_FAILURE_COUNT,
|
||||
DRV_TLV_FCOE_BOOT_PROGRESS,
|
||||
/* Category 13: iSCSI Configuration */
|
||||
DRV_TLV_TARGET_LLMNR_ENABLED,
|
||||
DRV_TLV_HEADER_DIGEST_FLAG_ENABLED,
|
||||
DRV_TLV_DATA_DIGEST_FLAG_ENABLED,
|
||||
DRV_TLV_AUTHENTICATION_METHOD,
|
||||
DRV_TLV_ISCSI_BOOT_TARGET_PORTAL,
|
||||
DRV_TLV_MAX_FRAME_SIZE,
|
||||
DRV_TLV_PDU_TX_DESCRIPTORS_QUEUE_SIZE,
|
||||
DRV_TLV_PDU_RX_DESCRIPTORS_QUEUE_SIZE,
|
||||
DRV_TLV_ISCSI_BOOT_PROGRESS,
|
||||
/* Category 20: Device Data */
|
||||
DRV_TLV_PCIE_BUS_RX_UTILIZATION,
|
||||
DRV_TLV_PCIE_BUS_TX_UTILIZATION,
|
||||
DRV_TLV_DEVICE_CPU_CORES_UTILIZATION,
|
||||
DRV_TLV_LAST_VALID_DCC_TLV_RECEIVED,
|
||||
DRV_TLV_NCSI_RX_BYTES_RECEIVED,
|
||||
DRV_TLV_NCSI_TX_BYTES_SENT,
|
||||
/* Category 22: Base Port Data */
|
||||
DRV_TLV_RX_DISCARDS,
|
||||
DRV_TLV_RX_ERRORS,
|
||||
DRV_TLV_TX_ERRORS,
|
||||
DRV_TLV_TX_DISCARDS,
|
||||
DRV_TLV_RX_FRAMES_RECEIVED,
|
||||
DRV_TLV_TX_FRAMES_SENT,
|
||||
/* Category 23: FC/FCoE Port Data */
|
||||
DRV_TLV_RX_BROADCAST_PACKETS,
|
||||
DRV_TLV_TX_BROADCAST_PACKETS,
|
||||
/* Category 28: Base Function Data */
|
||||
DRV_TLV_NUM_OFFLOADED_CONNECTIONS_TCP_IPV4,
|
||||
DRV_TLV_NUM_OFFLOADED_CONNECTIONS_TCP_IPV6,
|
||||
DRV_TLV_TX_DESCRIPTOR_QUEUE_AVG_DEPTH,
|
||||
DRV_TLV_RX_DESCRIPTORS_QUEUE_AVG_DEPTH,
|
||||
DRV_TLV_PF_RX_FRAMES_RECEIVED,
|
||||
DRV_TLV_RX_BYTES_RECEIVED,
|
||||
DRV_TLV_PF_TX_FRAMES_SENT,
|
||||
DRV_TLV_TX_BYTES_SENT,
|
||||
DRV_TLV_IOV_OFFLOAD,
|
||||
DRV_TLV_PCI_ERRORS_CAP_ID,
|
||||
DRV_TLV_UNCORRECTABLE_ERROR_STATUS,
|
||||
DRV_TLV_UNCORRECTABLE_ERROR_MASK,
|
||||
DRV_TLV_CORRECTABLE_ERROR_STATUS,
|
||||
DRV_TLV_CORRECTABLE_ERROR_MASK,
|
||||
DRV_TLV_PCI_ERRORS_AECC_REGISTER,
|
||||
DRV_TLV_TX_QUEUES_EMPTY,
|
||||
DRV_TLV_RX_QUEUES_EMPTY,
|
||||
DRV_TLV_TX_QUEUES_FULL,
|
||||
DRV_TLV_RX_QUEUES_FULL,
|
||||
/* Category 29: FC/FCoE Function Data */
|
||||
DRV_TLV_FCOE_TX_DESCRIPTOR_QUEUE_AVG_DEPTH,
|
||||
DRV_TLV_FCOE_RX_DESCRIPTORS_QUEUE_AVG_DEPTH,
|
||||
DRV_TLV_FCOE_RX_FRAMES_RECEIVED,
|
||||
DRV_TLV_FCOE_RX_BYTES_RECEIVED,
|
||||
DRV_TLV_FCOE_TX_FRAMES_SENT,
|
||||
DRV_TLV_FCOE_TX_BYTES_SENT,
|
||||
DRV_TLV_CRC_ERROR_COUNT,
|
||||
DRV_TLV_CRC_ERROR_1_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_CRC_ERROR_1_TIMESTAMP,
|
||||
DRV_TLV_CRC_ERROR_2_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_CRC_ERROR_2_TIMESTAMP,
|
||||
DRV_TLV_CRC_ERROR_3_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_CRC_ERROR_3_TIMESTAMP,
|
||||
DRV_TLV_CRC_ERROR_4_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_CRC_ERROR_4_TIMESTAMP,
|
||||
DRV_TLV_CRC_ERROR_5_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_CRC_ERROR_5_TIMESTAMP,
|
||||
DRV_TLV_LOSS_OF_SYNC_ERROR_COUNT,
|
||||
DRV_TLV_LOSS_OF_SIGNAL_ERRORS,
|
||||
DRV_TLV_PRIMITIVE_SEQUENCE_PROTOCOL_ERROR_COUNT,
|
||||
DRV_TLV_DISPARITY_ERROR_COUNT,
|
||||
DRV_TLV_CODE_VIOLATION_ERROR_COUNT,
|
||||
DRV_TLV_LAST_FLOGI_ISSUED_COMMON_PARAMETERS_WORD_1,
|
||||
DRV_TLV_LAST_FLOGI_ISSUED_COMMON_PARAMETERS_WORD_2,
|
||||
DRV_TLV_LAST_FLOGI_ISSUED_COMMON_PARAMETERS_WORD_3,
|
||||
DRV_TLV_LAST_FLOGI_ISSUED_COMMON_PARAMETERS_WORD_4,
|
||||
DRV_TLV_LAST_FLOGI_TIMESTAMP,
|
||||
DRV_TLV_LAST_FLOGI_ACC_COMMON_PARAMETERS_WORD_1,
|
||||
DRV_TLV_LAST_FLOGI_ACC_COMMON_PARAMETERS_WORD_2,
|
||||
DRV_TLV_LAST_FLOGI_ACC_COMMON_PARAMETERS_WORD_3,
|
||||
DRV_TLV_LAST_FLOGI_ACC_COMMON_PARAMETERS_WORD_4,
|
||||
DRV_TLV_LAST_FLOGI_ACC_TIMESTAMP,
|
||||
DRV_TLV_LAST_FLOGI_RJT,
|
||||
DRV_TLV_LAST_FLOGI_RJT_TIMESTAMP,
|
||||
DRV_TLV_FDISCS_SENT_COUNT,
|
||||
DRV_TLV_FDISC_ACCS_RECEIVED,
|
||||
DRV_TLV_FDISC_RJTS_RECEIVED,
|
||||
DRV_TLV_PLOGI_SENT_COUNT,
|
||||
DRV_TLV_PLOGI_ACCS_RECEIVED,
|
||||
DRV_TLV_PLOGI_RJTS_RECEIVED,
|
||||
DRV_TLV_PLOGI_1_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_PLOGI_1_TIMESTAMP,
|
||||
DRV_TLV_PLOGI_2_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_PLOGI_2_TIMESTAMP,
|
||||
DRV_TLV_PLOGI_3_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_PLOGI_3_TIMESTAMP,
|
||||
DRV_TLV_PLOGI_4_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_PLOGI_4_TIMESTAMP,
|
||||
DRV_TLV_PLOGI_5_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_PLOGI_5_TIMESTAMP,
|
||||
DRV_TLV_PLOGI_1_ACC_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_PLOGI_1_ACC_TIMESTAMP,
|
||||
DRV_TLV_PLOGI_2_ACC_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_PLOGI_2_ACC_TIMESTAMP,
|
||||
DRV_TLV_PLOGI_3_ACC_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_PLOGI_3_ACC_TIMESTAMP,
|
||||
DRV_TLV_PLOGI_4_ACC_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_PLOGI_4_ACC_TIMESTAMP,
|
||||
DRV_TLV_PLOGI_5_ACC_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_PLOGI_5_ACC_TIMESTAMP,
|
||||
DRV_TLV_LOGOS_ISSUED,
|
||||
DRV_TLV_LOGO_ACCS_RECEIVED,
|
||||
DRV_TLV_LOGO_RJTS_RECEIVED,
|
||||
DRV_TLV_LOGO_1_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_LOGO_1_TIMESTAMP,
|
||||
DRV_TLV_LOGO_2_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_LOGO_2_TIMESTAMP,
|
||||
DRV_TLV_LOGO_3_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_LOGO_3_TIMESTAMP,
|
||||
DRV_TLV_LOGO_4_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_LOGO_4_TIMESTAMP,
|
||||
DRV_TLV_LOGO_5_RECEIVED_SOURCE_FC_ID,
|
||||
DRV_TLV_LOGO_5_TIMESTAMP,
|
||||
DRV_TLV_LOGOS_RECEIVED,
|
||||
DRV_TLV_ACCS_ISSUED,
|
||||
DRV_TLV_PRLIS_ISSUED,
|
||||
DRV_TLV_ACCS_RECEIVED,
|
||||
DRV_TLV_ABTS_SENT_COUNT,
|
||||
DRV_TLV_ABTS_ACCS_RECEIVED,
|
||||
DRV_TLV_ABTS_RJTS_RECEIVED,
|
||||
DRV_TLV_ABTS_1_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_ABTS_1_TIMESTAMP,
|
||||
DRV_TLV_ABTS_2_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_ABTS_2_TIMESTAMP,
|
||||
DRV_TLV_ABTS_3_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_ABTS_3_TIMESTAMP,
|
||||
DRV_TLV_ABTS_4_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_ABTS_4_TIMESTAMP,
|
||||
DRV_TLV_ABTS_5_SENT_DESTINATION_FC_ID,
|
||||
DRV_TLV_ABTS_5_TIMESTAMP,
|
||||
DRV_TLV_RSCNS_RECEIVED,
|
||||
DRV_TLV_LAST_RSCN_RECEIVED_N_PORT_1,
|
||||
DRV_TLV_LAST_RSCN_RECEIVED_N_PORT_2,
|
||||
DRV_TLV_LAST_RSCN_RECEIVED_N_PORT_3,
|
||||
DRV_TLV_LAST_RSCN_RECEIVED_N_PORT_4,
|
||||
DRV_TLV_LUN_RESETS_ISSUED,
|
||||
DRV_TLV_ABORT_TASK_SETS_ISSUED,
|
||||
DRV_TLV_TPRLOS_SENT,
|
||||
DRV_TLV_NOS_SENT_COUNT,
|
||||
DRV_TLV_NOS_RECEIVED_COUNT,
|
||||
DRV_TLV_OLS_COUNT,
|
||||
DRV_TLV_LR_COUNT,
|
||||
DRV_TLV_LRR_COUNT,
|
||||
DRV_TLV_LIP_SENT_COUNT,
|
||||
DRV_TLV_LIP_RECEIVED_COUNT,
|
||||
DRV_TLV_EOFA_COUNT,
|
||||
DRV_TLV_EOFNI_COUNT,
|
||||
DRV_TLV_SCSI_STATUS_CHECK_CONDITION_COUNT,
|
||||
DRV_TLV_SCSI_STATUS_CONDITION_MET_COUNT,
|
||||
DRV_TLV_SCSI_STATUS_BUSY_COUNT,
|
||||
DRV_TLV_SCSI_STATUS_INTERMEDIATE_COUNT,
|
||||
DRV_TLV_SCSI_STATUS_INTERMEDIATE_CONDITION_MET_COUNT,
|
||||
DRV_TLV_SCSI_STATUS_RESERVATION_CONFLICT_COUNT,
|
||||
DRV_TLV_SCSI_STATUS_TASK_SET_FULL_COUNT,
|
||||
DRV_TLV_SCSI_STATUS_ACA_ACTIVE_COUNT,
|
||||
DRV_TLV_SCSI_STATUS_TASK_ABORTED_COUNT,
|
||||
DRV_TLV_SCSI_CHECK_CONDITION_1_RECEIVED_SK_ASC_ASCQ,
|
||||
DRV_TLV_SCSI_CHECK_1_TIMESTAMP,
|
||||
DRV_TLV_SCSI_CHECK_CONDITION_2_RECEIVED_SK_ASC_ASCQ,
|
||||
DRV_TLV_SCSI_CHECK_2_TIMESTAMP,
|
||||
DRV_TLV_SCSI_CHECK_CONDITION_3_RECEIVED_SK_ASC_ASCQ,
|
||||
DRV_TLV_SCSI_CHECK_3_TIMESTAMP,
|
||||
DRV_TLV_SCSI_CHECK_CONDITION_4_RECEIVED_SK_ASC_ASCQ,
|
||||
DRV_TLV_SCSI_CHECK_4_TIMESTAMP,
|
||||
DRV_TLV_SCSI_CHECK_CONDITION_5_RECEIVED_SK_ASC_ASCQ,
|
||||
DRV_TLV_SCSI_CHECK_5_TIMESTAMP,
|
||||
/* Category 30: iSCSI Function Data */
|
||||
DRV_TLV_PDU_TX_DESCRIPTOR_QUEUE_AVG_DEPTH,
|
||||
DRV_TLV_PDU_RX_DESCRIPTORS_QUEUE_AVG_DEPTH,
|
||||
DRV_TLV_ISCSI_PDU_RX_FRAMES_RECEIVED,
|
||||
DRV_TLV_ISCSI_PDU_RX_BYTES_RECEIVED,
|
||||
DRV_TLV_ISCSI_PDU_TX_FRAMES_SENT,
|
||||
DRV_TLV_ISCSI_PDU_TX_BYTES_SENT
|
||||
};
|
||||
|
||||
struct nvm_cfg_mac_address {
|
||||
u32 mac_addr_hi;
|
||||
#define NVM_CFG_MAC_ADDRESS_HI_MASK 0x0000FFFF
|
||||
|
Loading…
Reference in New Issue
Block a user