linux/drivers/scsi/bfa/bfa_defs_svc.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2005-2014 Brocade Communications Systems, Inc.
 * Copyright (c) 2014- QLogic Corporation.
 * All rights reserved
 * www.qlogic.com
 *
 * Linux driver for QLogic BR-series Fibre Channel Host Bus Adapter.
 */

#ifndef __BFA_DEFS_SVC_H__
#define __BFA_DEFS_SVC_H__

#include "bfa_defs.h"
#include "bfa_fc.h"
#include "bfi.h"

#define BFA_IOCFC_INTR_DELAY
#define BFA_IOCFC_INTR_LATENCY
#define BFA_IOCFCOE_INTR_DELAY
#define BFA_IOCFCOE_INTR_LATENCY

/*
 * Interrupt coalescing configuration.
 */
#pragma pack(1)
struct bfa_iocfc_intr_attr_s {};

/*
 * IOC firmware configuraton
 */
struct bfa_iocfc_fwcfg_s {};
#pragma pack()

struct bfa_iocfc_drvcfg_s {};

/*
 * IOC configuration
 */
struct bfa_iocfc_cfg_s {};

/*
 * IOC firmware IO stats
 */
struct bfa_fw_ioim_stats_s {};

struct bfa_fw_tio_stats_s {};

/*
 * IOC firmware IO stats
 */
struct bfa_fw_io_stats_s {};

/*
 * IOC port firmware stats
 */

struct bfa_fw_port_fpg_stats_s {};


struct bfa_fw_port_lksm_stats_s {};

struct bfa_fw_port_snsm_stats_s {};

struct bfa_fw_port_physm_stats_s {};

struct bfa_fw_fip_stats_s {};

struct bfa_fw_lps_stats_s {};

struct bfa_fw_fcoe_stats_s {};

/*
 * IOC firmware FCoE port stats
 */
struct bfa_fw_fcoe_port_stats_s {};

/**
 * @brief LPSM statistics
 */
struct bfa_fw_lpsm_stats_s {};

/*
 * IOC firmware FC uport stats
 */
struct bfa_fw_fc_uport_stats_s {};

/*
 * IOC firmware FC port stats
 */
bfa_fw_fc_port_stats_s;

/*
 * IOC firmware port stats
 */
struct bfa_fw_port_stats_s {};

/*
 * fcxchg module statistics
 */
struct bfa_fw_fcxchg_stats_s {};

/*
 *  Trunk statistics
 */
struct bfa_fw_trunk_stats_s {};

struct bfa_fw_aport_stats_s {};

/*
 * IOCFC firmware stats
 */
struct bfa_fw_iocfc_stats_s {};

/*
 * IOC attributes returned in queries
 */
struct bfa_iocfc_attr_s {};

/*
 * Eth_sndrcv mod stats
 */
struct bfa_fw_eth_sndrcv_stats_s {};

/*
 * CT MAC mod stats
 */
struct bfa_fw_mac_mod_stats_s {};

/*
 * CT MOD stats
 */
struct bfa_fw_ct_mod_stats_s {};

/*
 * RDS mod stats
 */
struct bfa_fw_rds_stats_s {};

/*
 * IOC firmware stats
 */
struct bfa_fw_stats_s {};

#define BFA_IOCFC_PATHTOV_MAX
#define BFA_IOCFC_QDEPTH_MAX

/*
 * QoS states
 */
enum bfa_qos_state {};

/*
 * QoS  Priority levels.
 */
enum bfa_qos_priority {};

/*
 * QoS  bandwidth allocation for each priority level
 */
enum bfa_qos_bw_alloc {};
#pragma pack(1)

struct bfa_qos_bw_s {};

/*
 * QoS attribute returned in QoS Query
 */
struct bfa_qos_attr_s {};

enum bfa_bbcr_state {};

enum bfa_bbcr_err_reason {};

struct bfa_bbcr_attr_s {};

/*
 * These fields should be displayed only from the CLI.
 * There will be a separate BFAL API (get_qos_vc_attr ?)
 * to retrieve this.
 *
 */
#define BFA_QOS_MAX_VC

struct bfa_qos_vc_info_s {};

struct bfa_qos_vc_attr_s {};

/*
 * QoS statistics
 */
struct bfa_qos_stats_s {};

/*
 * FCoE statistics
 */
struct bfa_fcoe_stats_s {};

/*
 * QoS or FCoE stats (fcport stats excluding physical FC port stats)
 */
bfa_fcport_stats_u;
#pragma pack()

struct bfa_fcpim_del_itn_stats_s {};

struct bfa_itnim_iostats_s {};

/* Modify char* port_stt[] in bfal_port.c if a new state was added */
enum bfa_port_states {};

/*
 *	Port operational type (in sync with SNIA port type).
 */
enum bfa_port_type {};

/*
 *	Port topology setting. A port's topology and fabric login status
 *	determine its operational type.
 */
enum bfa_port_topology {};

/*
 *	Physical port loopback types.
 */
enum bfa_port_opmode {};

#define BFA_PORT_OPMODE_LB_HARD(_mode)

/*
 *	Port link state
 */
enum bfa_port_linkstate {};

/*
 *	Port link state reason code
 */
enum bfa_port_linkstate_rsn {};

#define MAX_LUN_MASK_CFG

/*
 * Initially flash content may be fff. On making LUN mask enable and disable
 * state change.  when report lun command is being processed it goes from
 * BFA_LUN_MASK_ACTIVE to BFA_LUN_MASK_FETCH and comes back to
 * BFA_LUN_MASK_ACTIVE.
 */
enum bfa_ioim_lun_mask_state_s {};

enum bfa_lunmask_state_s {};

/**
 * FEC states
 */
enum bfa_fec_state_s {};

#pragma pack(1)
/*
 * LUN mask configuration
 */
struct bfa_lun_mask_s {};

#define MAX_LUN_MASK_CFG
struct bfa_lunmask_cfg_s {};

struct bfa_throttle_cfg_s {};

struct bfa_defs_fcpim_throttle_s {};

#define BFA_BB_SCN_DEF
#define BFA_BB_SCN_MAX

/*
 *      Physical port configuration
 */
struct bfa_port_cfg_s {};
#pragma pack()

/*
 *	Port attribute values.
 */
struct bfa_port_attr_s {};

/*
 *	      Port FCP mappings.
 */
struct bfa_port_fcpmap_s {};

/*
 *	      Port RNID info.
 */
struct bfa_port_rnid_s {};

#pragma pack(1)
struct bfa_fcport_fcf_s {};

/*
 *	Trunk states for BCU/BFAL
 */
enum bfa_trunk_state {};

/*
 *	VC attributes for trunked link
 */
struct bfa_trunk_vc_attr_s {};

struct bfa_fcport_loop_info_s {};

/*
 *	Link state information
 */
struct bfa_port_link_s {};
#pragma pack()

enum bfa_trunk_link_fctl {};

enum bfa_trunk_link_state {};

#define BFA_TRUNK_MAX_PORTS
struct bfa_trunk_link_attr_s {};

struct bfa_trunk_attr_s {};

struct bfa_rport_hal_stats_s {};
#pragma pack(1)
/*
 *  Rport's QoS attributes
 */
struct bfa_rport_qos_attr_s {};
#pragma pack()

#define BFA_IOBUCKET_MAX

struct bfa_itnim_latency_s {};

struct bfa_itnim_ioprofile_s {};

/*
 *	vHBA port attribute values.
 */
struct bfa_vhba_attr_s {};

/*
 * FC physical port statistics.
 */
struct bfa_port_fc_stats_s {};

/*
 * Eth Physical Port statistics.
 */
struct bfa_port_eth_stats_s {};

/*
 *              Port statistics.
 */
bfa_port_stats_u;

struct bfa_port_cfg_mode_s {};

#pragma pack(1)

#define BFA_CEE_LLDP_MAX_STRING_LEN
#define BFA_CEE_DCBX_MAX_PRIORITY
#define BFA_CEE_DCBX_MAX_PGID

struct bfa_cee_lldp_str_s {};

struct bfa_cee_lldp_cfg_s {};

/* CEE/DCBX parameters */
struct bfa_cee_dcbx_cfg_s {};

/* CEE Query */
struct bfa_cee_attr_s {};

/* LLDP/DCBX/CEE Statistics */
struct bfa_cee_stats_s {};

#pragma pack()

/*
 *			AEN related definitions
 */
#define BFAD_NL_VENDOR_ID

/* BFA remote port events */
enum bfa_rport_aen_event {};

struct bfa_rport_aen_data_s {};

bfa_aen_data_u;

#define BFA_AEN_MAX_ENTRY

struct bfa_aen_entry_s {};

#endif /* __BFA_DEFS_SVC_H__ */