^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (c) 2005-2014 Brocade Communications Systems, Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Copyright (c) 2014- QLogic Corporation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * All rights reserved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * www.qlogic.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * Linux driver for QLogic BR-series Fibre Channel Host Bus Adapter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #ifndef BFAD_BSG_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define BFAD_BSG_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include "bfa_defs.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include "bfa_defs_fcs.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) /* Definitions of vendor unique structures and command codes passed in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) * using FC_BSG_HST_VENDOR message code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) enum {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) IOCMD_IOC_ENABLE = 0x1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) IOCMD_IOC_DISABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) IOCMD_IOC_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) IOCMD_IOC_GET_INFO,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) IOCMD_IOC_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) IOCMD_IOC_GET_FWSTATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) IOCMD_IOC_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) IOCMD_IOC_RESET_FWSTATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) IOCMD_IOC_SET_ADAPTER_NAME,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) IOCMD_IOC_SET_PORT_NAME,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) IOCMD_IOC_FW_SIG_INV,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) IOCMD_IOCFC_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) IOCMD_IOCFC_SET_INTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) IOCMD_PORT_ENABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) IOCMD_PORT_DISABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) IOCMD_PORT_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) IOCMD_PORT_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) IOCMD_PORT_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) IOCMD_PORT_CFG_TOPO,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) IOCMD_PORT_CFG_SPEED,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) IOCMD_PORT_CFG_ALPA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) IOCMD_PORT_CFG_MAXFRSZ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) IOCMD_PORT_CLR_ALPA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) IOCMD_PORT_BBCR_ENABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) IOCMD_PORT_BBCR_DISABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) IOCMD_PORT_BBCR_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) IOCMD_LPORT_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) IOCMD_LPORT_GET_RPORTS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) IOCMD_LPORT_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) IOCMD_LPORT_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) IOCMD_LPORT_GET_IOSTATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) IOCMD_RPORT_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) IOCMD_RPORT_GET_ADDR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) IOCMD_RPORT_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) IOCMD_RPORT_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) IOCMD_RPORT_SET_SPEED,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) IOCMD_VPORT_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) IOCMD_VPORT_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) IOCMD_VPORT_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) IOCMD_FABRIC_GET_LPORTS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) IOCMD_RATELIM_ENABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) IOCMD_RATELIM_DISABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) IOCMD_RATELIM_DEF_SPEED,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) IOCMD_FCPIM_FAILOVER,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) IOCMD_FCPIM_MODSTATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) IOCMD_FCPIM_MODSTATSCLR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) IOCMD_FCPIM_DEL_ITN_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) IOCMD_ITNIM_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) IOCMD_ITNIM_GET_IOSTATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) IOCMD_ITNIM_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) IOCMD_ITNIM_GET_ITNSTATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) IOCMD_IOC_PCIFN_CFG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) IOCMD_FCPORT_ENABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) IOCMD_FCPORT_DISABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) IOCMD_PCIFN_CREATE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) IOCMD_PCIFN_DELETE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) IOCMD_PCIFN_BW,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) IOCMD_ADAPTER_CFG_MODE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) IOCMD_PORT_CFG_MODE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) IOCMD_FLASH_ENABLE_OPTROM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) IOCMD_FLASH_DISABLE_OPTROM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) IOCMD_FAA_QUERY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) IOCMD_CEE_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) IOCMD_CEE_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) IOCMD_CEE_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) IOCMD_SFP_MEDIA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) IOCMD_SFP_SPEED,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) IOCMD_FLASH_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) IOCMD_FLASH_ERASE_PART,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) IOCMD_FLASH_UPDATE_PART,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) IOCMD_FLASH_READ_PART,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) IOCMD_DIAG_TEMP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) IOCMD_DIAG_MEMTEST,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) IOCMD_DIAG_LOOPBACK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) IOCMD_DIAG_FWPING,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) IOCMD_DIAG_QUEUETEST,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) IOCMD_DIAG_SFP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) IOCMD_DIAG_LED,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) IOCMD_DIAG_BEACON_LPORT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) IOCMD_DIAG_LB_STAT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) IOCMD_PHY_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) IOCMD_PHY_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) IOCMD_PHY_UPDATE_FW,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) IOCMD_PHY_READ_FW,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) IOCMD_VHBA_QUERY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) IOCMD_DEBUG_PORTLOG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) IOCMD_DEBUG_FW_CORE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) IOCMD_DEBUG_FW_STATE_CLR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) IOCMD_DEBUG_PORTLOG_CLR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) IOCMD_DEBUG_START_DTRC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) IOCMD_DEBUG_STOP_DTRC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) IOCMD_DEBUG_PORTLOG_CTL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) IOCMD_FCPIM_PROFILE_ON,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) IOCMD_FCPIM_PROFILE_OFF,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) IOCMD_ITNIM_GET_IOPROFILE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) IOCMD_FCPORT_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) IOCMD_FCPORT_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) IOCMD_BOOT_CFG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) IOCMD_BOOT_QUERY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) IOCMD_PREBOOT_QUERY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) IOCMD_ETHBOOT_CFG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) IOCMD_ETHBOOT_QUERY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) IOCMD_TRUNK_ENABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) IOCMD_TRUNK_DISABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) IOCMD_TRUNK_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) IOCMD_QOS_ENABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) IOCMD_QOS_DISABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) IOCMD_QOS_GET_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) IOCMD_QOS_GET_VC_ATTR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) IOCMD_QOS_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) IOCMD_QOS_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) IOCMD_VF_GET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) IOCMD_VF_RESET_STATS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) IOCMD_FCPIM_LUNMASK_ENABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) IOCMD_FCPIM_LUNMASK_DISABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) IOCMD_FCPIM_LUNMASK_CLEAR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) IOCMD_FCPIM_LUNMASK_QUERY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) IOCMD_FCPIM_LUNMASK_ADD,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) IOCMD_FCPIM_LUNMASK_DELETE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) IOCMD_DIAG_DPORT_ENABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) IOCMD_DIAG_DPORT_DISABLE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) IOCMD_QOS_SET_BW,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) IOCMD_FCPIM_THROTTLE_QUERY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) IOCMD_FCPIM_THROTTLE_SET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) IOCMD_TFRU_READ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) IOCMD_TFRU_WRITE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) IOCMD_FRUVPD_READ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) IOCMD_FRUVPD_UPDATE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) IOCMD_FRUVPD_GET_MAX_SIZE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) IOCMD_DIAG_DPORT_SHOW,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) IOCMD_DIAG_DPORT_START,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) struct bfa_bsg_gen_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) struct bfa_bsg_portlogctl_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) bfa_boolean_t ctl;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) int inst_no;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) struct bfa_bsg_fcpim_profile_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) struct bfa_bsg_itnim_ioprofile_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) wwn_t lpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) struct bfa_itnim_ioprofile_s ioprofile;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) struct bfa_bsg_fcport_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) union bfa_fcport_stats_u stats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) struct bfa_bsg_ioc_name_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) char name[BFA_ADAPTER_SYM_NAME_LEN];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) struct bfa_bsg_ioc_info_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) char serialnum[64];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) char hwpath[BFA_STRING_32];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) char adapter_hwpath[BFA_STRING_32];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) char guid[BFA_ADAPTER_SYM_NAME_LEN*2];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) char name[BFA_ADAPTER_SYM_NAME_LEN];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) char port_name[BFA_ADAPTER_SYM_NAME_LEN];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) char eth_name[BFA_ADAPTER_SYM_NAME_LEN];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) wwn_t nwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) wwn_t factorypwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) wwn_t factorynwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) mac_t mac;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) mac_t factory_mac; /* Factory mac address */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) mac_t current_mac; /* Currently assigned mac address */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) enum bfa_ioc_type_e ioc_type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) u16 pvid; /* Port vlan id */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) u16 rsvd1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) u32 host;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) u32 bandwidth; /* For PF support */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) u32 rsvd2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) struct bfa_bsg_ioc_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) struct bfa_ioc_attr_s ioc_attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) struct bfa_bsg_ioc_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) struct bfa_ioc_stats_s ioc_stats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) struct bfa_bsg_ioc_fwstats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) u32 buf_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) u32 rsvd1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) u64 buf_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) struct bfa_bsg_iocfc_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) struct bfa_iocfc_attr_s iocfc_attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) struct bfa_bsg_iocfc_intr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) struct bfa_iocfc_intr_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) struct bfa_bsg_port_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) struct bfa_port_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) struct bfa_bsg_port_cfg_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) u32 param;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) u32 rsvd1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) struct bfa_bsg_port_cfg_maxfrsize_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) u16 maxfrsize;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) struct bfa_bsg_port_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) u32 buf_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) u32 rsvd1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) u64 buf_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) struct bfa_bsg_lport_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) struct bfa_lport_attr_s port_attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) struct bfa_bsg_lport_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) struct bfa_lport_stats_s port_stats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) struct bfa_bsg_lport_iostats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) struct bfa_itnim_iostats_s iostats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) struct bfa_bsg_lport_get_rports_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) u64 rbuf_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) u32 nrports;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) u32 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) struct bfa_bsg_rport_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) u32 pid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) u32 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) struct bfa_rport_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) struct bfa_bsg_rport_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) struct bfa_rport_stats_s stats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) struct bfa_bsg_rport_scsi_addr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) u32 host;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) u32 bus;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) u32 target;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) u32 lun;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) struct bfa_bsg_rport_reset_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) struct bfa_bsg_rport_set_speed_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) enum bfa_port_speed speed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) u32 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) struct bfa_bsg_vport_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) wwn_t vpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) struct bfa_vport_attr_s vport_attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) struct bfa_bsg_vport_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) wwn_t vpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) struct bfa_vport_stats_s vport_stats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) struct bfa_bsg_reset_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) wwn_t vpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) struct bfa_bsg_fabric_get_lports_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) u64 buf_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) u32 nports;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) u32 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) struct bfa_bsg_trl_speed_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) enum bfa_port_speed speed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) struct bfa_bsg_fcpim_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) u16 param;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) struct bfa_bsg_fcpim_modstats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) struct bfa_itnim_iostats_s modstats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) struct bfa_bsg_fcpim_del_itn_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) struct bfa_fcpim_del_itn_stats_s modstats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) struct bfa_bsg_fcpim_modstatsclr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) struct bfa_bsg_itnim_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) wwn_t lpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) struct bfa_itnim_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) struct bfa_bsg_itnim_iostats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) wwn_t lpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) struct bfa_itnim_iostats_s iostats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) struct bfa_bsg_itnim_itnstats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) wwn_t lpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) struct bfa_itnim_stats_s itnstats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) struct bfa_bsg_pcifn_cfg_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) struct bfa_ablk_cfg_s pcifn_cfg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) struct bfa_bsg_pcifn_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) u16 pcifn_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) u16 bw_min;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) u16 bw_max;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) u8 port;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) enum bfi_pcifn_class pcifn_class;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) u8 rsvd[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) struct bfa_bsg_adapter_cfg_mode_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) struct bfa_adapter_cfg_mode_s cfg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) struct bfa_bsg_port_cfg_mode_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) u16 instance;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) struct bfa_port_cfg_mode_s cfg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) struct bfa_bsg_bbcr_enable_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) u8 bb_scn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) u8 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) struct bfa_bsg_bbcr_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) struct bfa_bbcr_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) struct bfa_bsg_faa_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) struct bfa_faa_attr_s faa_attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) struct bfa_bsg_cee_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) u32 buf_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) u32 rsvd1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) u64 buf_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) struct bfa_bsg_cee_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) u32 buf_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) u32 rsvd1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) u64 buf_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) struct bfa_bsg_sfp_media_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) enum bfa_defs_sfp_media_e media;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) struct bfa_bsg_sfp_speed_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) enum bfa_port_speed speed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) struct bfa_bsg_flash_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) struct bfa_flash_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) struct bfa_bsg_flash_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) u8 instance;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) u8 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) enum bfa_flash_part_type type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) int bufsz;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) u64 buf_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) struct bfa_bsg_diag_get_temp_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) struct bfa_diag_results_tempsensor_s result;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) struct bfa_bsg_diag_memtest_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) u16 rsvd[3];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) u32 pat;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) struct bfa_diag_memtest_result result;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) struct bfa_diag_memtest_s memtest;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) struct bfa_bsg_diag_loopback_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) enum bfa_port_opmode opmode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) enum bfa_port_speed speed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) u32 lpcnt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) u32 pat;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) struct bfa_diag_loopback_result_s result;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) struct bfa_bsg_diag_dport_show_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) struct bfa_diag_dport_result_s result;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) struct bfa_bsg_dport_enable_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) u16 lpcnt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) u16 pat;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) struct bfa_bsg_diag_fwping_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) u32 cnt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) u32 pattern;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) struct bfa_diag_results_fwping result;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) struct bfa_bsg_diag_qtest_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) u32 force;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) u32 queue;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) struct bfa_diag_qtest_result_s result;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) struct bfa_bsg_sfp_show_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) struct sfp_mem_s sfp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) struct bfa_bsg_diag_led_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) struct bfa_diag_ledtest_s ledtest;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) struct bfa_bsg_diag_beacon_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) bfa_boolean_t beacon;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) bfa_boolean_t link_e2e_beacon;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) u32 second;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) struct bfa_bsg_diag_lb_stat_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) struct bfa_bsg_phy_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) u16 instance;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) struct bfa_phy_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) struct bfa_bsg_phy_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) u16 instance;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) u64 bufsz;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) u64 buf_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) struct bfa_bsg_debug_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) u32 bufsz;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) int inst_no;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) u64 buf_ptr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) u64 offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) struct bfa_bsg_phy_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) u16 instance;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) struct bfa_phy_stats_s stats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) struct bfa_bsg_vhba_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) u16 pcifn_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) struct bfa_vhba_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) struct bfa_bsg_boot_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) struct bfa_boot_cfg_s cfg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) struct bfa_bsg_preboot_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) struct bfa_boot_pbc_s cfg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) struct bfa_bsg_ethboot_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) struct bfa_ethboot_cfg_s cfg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) struct bfa_bsg_trunk_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) struct bfa_trunk_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) struct bfa_bsg_qos_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) struct bfa_qos_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) struct bfa_bsg_qos_vc_attr_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) struct bfa_qos_vc_attr_s attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) struct bfa_bsg_qos_bw_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) struct bfa_qos_bw_s qos_bw;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) struct bfa_bsg_vf_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) struct bfa_vf_stats_s stats;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748) struct bfa_bsg_vf_reset_stats_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) struct bfa_bsg_fcpim_lunmask_query_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) struct bfa_lunmask_cfg_s lun_mask;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) struct bfa_bsg_fcpim_lunmask_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) wwn_t pwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) wwn_t rpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) struct scsi_lun lun;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769) struct bfa_bsg_fcpim_throttle_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) struct bfa_defs_fcpim_throttle_s throttle;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) #define BFA_TFRU_DATA_SIZE 64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) #define BFA_MAX_FRUVPD_TRANSFER_SIZE 0x1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) struct bfa_bsg_tfru_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) u32 offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784) u32 len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) u8 data[BFA_TFRU_DATA_SIZE];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788) struct bfa_bsg_fruvpd_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) u16 rsvd1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792) u32 offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) u32 len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) u8 data[BFA_MAX_FRUVPD_TRANSFER_SIZE];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) u8 trfr_cmpl;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) u8 rsvd2[3];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799) struct bfa_bsg_fruvpd_max_size_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) u16 bfad_num;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802) u16 rsvd;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) u32 max_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806) struct bfa_bsg_fcpt_s {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) bfa_status_t status;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) u16 vf_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) wwn_t lpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810) wwn_t dpwwn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) u32 tsecs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) int cts;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813) enum fc_cos cos;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) struct fchs_s fchs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) #define bfa_bsg_fcpt_t struct bfa_bsg_fcpt_s
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818) #pragma pack(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) struct bfa_bsg_data {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820) int payload_len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) u64 payload;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) #pragma pack()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) #define bfad_chk_iocmd_sz(__payload_len, __hdrsz, __bufsz) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826) (((__payload_len) != ((__hdrsz) + (__bufsz))) ? \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) BFA_STATUS_FAILED : BFA_STATUS_OK)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) #endif /* BFAD_BSG_H */