in drivers/net/ethernet/qlogic/qed/qed_mng_tlv.c [28:240]
static int qed_mfw_get_tlv_group(u8 tlv_type, u8 *tlv_group)
{
switch (tlv_type) {
case DRV_TLV_FEATURE_FLAGS:
case DRV_TLV_LOCAL_ADMIN_ADDR:
case DRV_TLV_ADDITIONAL_MAC_ADDR_1:
case DRV_TLV_ADDITIONAL_MAC_ADDR_2:
case DRV_TLV_OS_DRIVER_STATES:
case DRV_TLV_PXE_BOOT_PROGRESS:
case DRV_TLV_RX_FRAMES_RECEIVED:
case DRV_TLV_RX_BYTES_RECEIVED:
case DRV_TLV_TX_FRAMES_SENT:
case DRV_TLV_TX_BYTES_SENT:
case DRV_TLV_NPIV_ENABLED:
case DRV_TLV_PCIE_BUS_RX_UTILIZATION:
case DRV_TLV_PCIE_BUS_TX_UTILIZATION:
case DRV_TLV_DEVICE_CPU_CORES_UTILIZATION:
case DRV_TLV_LAST_VALID_DCC_TLV_RECEIVED:
case DRV_TLV_NCSI_RX_BYTES_RECEIVED:
case DRV_TLV_NCSI_TX_BYTES_SENT:
*tlv_group |= QED_MFW_TLV_GENERIC;
break;
case DRV_TLV_LSO_MAX_OFFLOAD_SIZE:
case DRV_TLV_LSO_MIN_SEGMENT_COUNT:
case DRV_TLV_PROMISCUOUS_MODE:
case DRV_TLV_TX_DESCRIPTORS_QUEUE_SIZE:
case DRV_TLV_RX_DESCRIPTORS_QUEUE_SIZE:
case DRV_TLV_NUM_OF_NET_QUEUE_VMQ_CFG:
case DRV_TLV_NUM_OFFLOADED_CONNECTIONS_TCP_IPV4:
case DRV_TLV_NUM_OFFLOADED_CONNECTIONS_TCP_IPV6:
case DRV_TLV_TX_DESCRIPTOR_QUEUE_AVG_DEPTH:
case DRV_TLV_RX_DESCRIPTORS_QUEUE_AVG_DEPTH:
case DRV_TLV_IOV_OFFLOAD:
case DRV_TLV_TX_QUEUES_EMPTY:
case DRV_TLV_RX_QUEUES_EMPTY:
case DRV_TLV_TX_QUEUES_FULL:
case DRV_TLV_RX_QUEUES_FULL:
*tlv_group |= QED_MFW_TLV_ETH;
break;
case DRV_TLV_SCSI_TO:
case DRV_TLV_R_T_TOV:
case DRV_TLV_R_A_TOV:
case DRV_TLV_E_D_TOV:
case DRV_TLV_CR_TOV:
case DRV_TLV_BOOT_TYPE:
case DRV_TLV_NPIV_STATE:
case DRV_TLV_NUM_OF_NPIV_IDS:
case DRV_TLV_SWITCH_NAME:
case DRV_TLV_SWITCH_PORT_NUM:
case DRV_TLV_SWITCH_PORT_ID:
case DRV_TLV_VENDOR_NAME:
case DRV_TLV_SWITCH_MODEL:
case DRV_TLV_SWITCH_FW_VER:
case DRV_TLV_QOS_PRIORITY_PER_802_1P:
case DRV_TLV_PORT_ALIAS:
case DRV_TLV_PORT_STATE:
case DRV_TLV_FIP_TX_DESCRIPTORS_QUEUE_SIZE:
case DRV_TLV_FCOE_RX_DESCRIPTORS_QUEUE_SIZE:
case DRV_TLV_LINK_FAILURE_COUNT:
case DRV_TLV_FCOE_BOOT_PROGRESS:
case DRV_TLV_RX_BROADCAST_PACKETS:
case DRV_TLV_TX_BROADCAST_PACKETS:
case DRV_TLV_FCOE_TX_DESCRIPTOR_QUEUE_AVG_DEPTH:
case DRV_TLV_FCOE_RX_DESCRIPTORS_QUEUE_AVG_DEPTH:
case DRV_TLV_FCOE_RX_FRAMES_RECEIVED:
case DRV_TLV_FCOE_RX_BYTES_RECEIVED:
case DRV_TLV_FCOE_TX_FRAMES_SENT:
case DRV_TLV_FCOE_TX_BYTES_SENT:
case DRV_TLV_CRC_ERROR_COUNT:
case DRV_TLV_CRC_ERROR_1_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_CRC_ERROR_1_TIMESTAMP:
case DRV_TLV_CRC_ERROR_2_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_CRC_ERROR_2_TIMESTAMP:
case DRV_TLV_CRC_ERROR_3_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_CRC_ERROR_3_TIMESTAMP:
case DRV_TLV_CRC_ERROR_4_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_CRC_ERROR_4_TIMESTAMP:
case DRV_TLV_CRC_ERROR_5_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_CRC_ERROR_5_TIMESTAMP:
case DRV_TLV_LOSS_OF_SYNC_ERROR_COUNT:
case DRV_TLV_LOSS_OF_SIGNAL_ERRORS:
case DRV_TLV_PRIMITIVE_SEQUENCE_PROTOCOL_ERROR_COUNT:
case DRV_TLV_DISPARITY_ERROR_COUNT:
case DRV_TLV_CODE_VIOLATION_ERROR_COUNT:
case DRV_TLV_LAST_FLOGI_ISSUED_COMMON_PARAMETERS_WORD_1:
case DRV_TLV_LAST_FLOGI_ISSUED_COMMON_PARAMETERS_WORD_2:
case DRV_TLV_LAST_FLOGI_ISSUED_COMMON_PARAMETERS_WORD_3:
case DRV_TLV_LAST_FLOGI_ISSUED_COMMON_PARAMETERS_WORD_4:
case DRV_TLV_LAST_FLOGI_TIMESTAMP:
case DRV_TLV_LAST_FLOGI_ACC_COMMON_PARAMETERS_WORD_1:
case DRV_TLV_LAST_FLOGI_ACC_COMMON_PARAMETERS_WORD_2:
case DRV_TLV_LAST_FLOGI_ACC_COMMON_PARAMETERS_WORD_3:
case DRV_TLV_LAST_FLOGI_ACC_COMMON_PARAMETERS_WORD_4:
case DRV_TLV_LAST_FLOGI_ACC_TIMESTAMP:
case DRV_TLV_LAST_FLOGI_RJT:
case DRV_TLV_LAST_FLOGI_RJT_TIMESTAMP:
case DRV_TLV_FDISCS_SENT_COUNT:
case DRV_TLV_FDISC_ACCS_RECEIVED:
case DRV_TLV_FDISC_RJTS_RECEIVED:
case DRV_TLV_PLOGI_SENT_COUNT:
case DRV_TLV_PLOGI_ACCS_RECEIVED:
case DRV_TLV_PLOGI_RJTS_RECEIVED:
case DRV_TLV_PLOGI_1_SENT_DESTINATION_FC_ID:
case DRV_TLV_PLOGI_1_TIMESTAMP:
case DRV_TLV_PLOGI_2_SENT_DESTINATION_FC_ID:
case DRV_TLV_PLOGI_2_TIMESTAMP:
case DRV_TLV_PLOGI_3_SENT_DESTINATION_FC_ID:
case DRV_TLV_PLOGI_3_TIMESTAMP:
case DRV_TLV_PLOGI_4_SENT_DESTINATION_FC_ID:
case DRV_TLV_PLOGI_4_TIMESTAMP:
case DRV_TLV_PLOGI_5_SENT_DESTINATION_FC_ID:
case DRV_TLV_PLOGI_5_TIMESTAMP:
case DRV_TLV_PLOGI_1_ACC_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_PLOGI_1_ACC_TIMESTAMP:
case DRV_TLV_PLOGI_2_ACC_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_PLOGI_2_ACC_TIMESTAMP:
case DRV_TLV_PLOGI_3_ACC_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_PLOGI_3_ACC_TIMESTAMP:
case DRV_TLV_PLOGI_4_ACC_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_PLOGI_4_ACC_TIMESTAMP:
case DRV_TLV_PLOGI_5_ACC_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_PLOGI_5_ACC_TIMESTAMP:
case DRV_TLV_LOGOS_ISSUED:
case DRV_TLV_LOGO_ACCS_RECEIVED:
case DRV_TLV_LOGO_RJTS_RECEIVED:
case DRV_TLV_LOGO_1_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_LOGO_1_TIMESTAMP:
case DRV_TLV_LOGO_2_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_LOGO_2_TIMESTAMP:
case DRV_TLV_LOGO_3_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_LOGO_3_TIMESTAMP:
case DRV_TLV_LOGO_4_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_LOGO_4_TIMESTAMP:
case DRV_TLV_LOGO_5_RECEIVED_SOURCE_FC_ID:
case DRV_TLV_LOGO_5_TIMESTAMP:
case DRV_TLV_LOGOS_RECEIVED:
case DRV_TLV_ACCS_ISSUED:
case DRV_TLV_PRLIS_ISSUED:
case DRV_TLV_ACCS_RECEIVED:
case DRV_TLV_ABTS_SENT_COUNT:
case DRV_TLV_ABTS_ACCS_RECEIVED:
case DRV_TLV_ABTS_RJTS_RECEIVED:
case DRV_TLV_ABTS_1_SENT_DESTINATION_FC_ID:
case DRV_TLV_ABTS_1_TIMESTAMP:
case DRV_TLV_ABTS_2_SENT_DESTINATION_FC_ID:
case DRV_TLV_ABTS_2_TIMESTAMP:
case DRV_TLV_ABTS_3_SENT_DESTINATION_FC_ID:
case DRV_TLV_ABTS_3_TIMESTAMP:
case DRV_TLV_ABTS_4_SENT_DESTINATION_FC_ID:
case DRV_TLV_ABTS_4_TIMESTAMP:
case DRV_TLV_ABTS_5_SENT_DESTINATION_FC_ID:
case DRV_TLV_ABTS_5_TIMESTAMP:
case DRV_TLV_RSCNS_RECEIVED:
case DRV_TLV_LAST_RSCN_RECEIVED_N_PORT_1:
case DRV_TLV_LAST_RSCN_RECEIVED_N_PORT_2:
case DRV_TLV_LAST_RSCN_RECEIVED_N_PORT_3:
case DRV_TLV_LAST_RSCN_RECEIVED_N_PORT_4:
case DRV_TLV_LUN_RESETS_ISSUED:
case DRV_TLV_ABORT_TASK_SETS_ISSUED:
case DRV_TLV_TPRLOS_SENT:
case DRV_TLV_NOS_SENT_COUNT:
case DRV_TLV_NOS_RECEIVED_COUNT:
case DRV_TLV_OLS_COUNT:
case DRV_TLV_LR_COUNT:
case DRV_TLV_LRR_COUNT:
case DRV_TLV_LIP_SENT_COUNT:
case DRV_TLV_LIP_RECEIVED_COUNT:
case DRV_TLV_EOFA_COUNT:
case DRV_TLV_EOFNI_COUNT:
case DRV_TLV_SCSI_STATUS_CHECK_CONDITION_COUNT:
case DRV_TLV_SCSI_STATUS_CONDITION_MET_COUNT:
case DRV_TLV_SCSI_STATUS_BUSY_COUNT:
case DRV_TLV_SCSI_STATUS_INTERMEDIATE_COUNT:
case DRV_TLV_SCSI_STATUS_INTERMEDIATE_CONDITION_MET_COUNT:
case DRV_TLV_SCSI_STATUS_RESERVATION_CONFLICT_COUNT:
case DRV_TLV_SCSI_STATUS_TASK_SET_FULL_COUNT:
case DRV_TLV_SCSI_STATUS_ACA_ACTIVE_COUNT:
case DRV_TLV_SCSI_STATUS_TASK_ABORTED_COUNT:
case DRV_TLV_SCSI_CHECK_CONDITION_1_RECEIVED_SK_ASC_ASCQ:
case DRV_TLV_SCSI_CHECK_1_TIMESTAMP:
case DRV_TLV_SCSI_CHECK_CONDITION_2_RECEIVED_SK_ASC_ASCQ:
case DRV_TLV_SCSI_CHECK_2_TIMESTAMP:
case DRV_TLV_SCSI_CHECK_CONDITION_3_RECEIVED_SK_ASC_ASCQ:
case DRV_TLV_SCSI_CHECK_3_TIMESTAMP:
case DRV_TLV_SCSI_CHECK_CONDITION_4_RECEIVED_SK_ASC_ASCQ:
case DRV_TLV_SCSI_CHECK_4_TIMESTAMP:
case DRV_TLV_SCSI_CHECK_CONDITION_5_RECEIVED_SK_ASC_ASCQ:
case DRV_TLV_SCSI_CHECK_5_TIMESTAMP:
*tlv_group = QED_MFW_TLV_FCOE;
break;
case DRV_TLV_TARGET_LLMNR_ENABLED:
case DRV_TLV_HEADER_DIGEST_FLAG_ENABLED:
case DRV_TLV_DATA_DIGEST_FLAG_ENABLED:
case DRV_TLV_AUTHENTICATION_METHOD:
case DRV_TLV_ISCSI_BOOT_TARGET_PORTAL:
case DRV_TLV_MAX_FRAME_SIZE:
case DRV_TLV_PDU_TX_DESCRIPTORS_QUEUE_SIZE:
case DRV_TLV_PDU_RX_DESCRIPTORS_QUEUE_SIZE:
case DRV_TLV_ISCSI_BOOT_PROGRESS:
case DRV_TLV_PDU_TX_DESCRIPTOR_QUEUE_AVG_DEPTH:
case DRV_TLV_PDU_RX_DESCRIPTORS_QUEUE_AVG_DEPTH:
case DRV_TLV_ISCSI_PDU_RX_FRAMES_RECEIVED:
case DRV_TLV_ISCSI_PDU_RX_BYTES_RECEIVED:
case DRV_TLV_ISCSI_PDU_TX_FRAMES_SENT:
case DRV_TLV_ISCSI_PDU_TX_BYTES_SENT:
*tlv_group |= QED_MFW_TLV_ISCSI;
break;
default:
return -EINVAL;
}
return 0;
}