/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ /* QLogic qed NIC Driver * Copyright (c) 2015 QLogic Corporation * Copyright (c) 2019-2020 Marvell International Ltd. */ #ifndef __FCOE_COMMON__ #define __FCOE_COMMON__ /*********************/ /* FCOE FW CONSTANTS */ /*********************/ #define FC_ABTS_REPLY_MAX_PAYLOAD_LEN … /* The fcoe storm task context protection-information of Ystorm */ struct protection_info_ctx { … }; /* The fcoe storm task context protection-information of Ystorm */ protection_info_union_ctx; /* FCP CMD payload */ struct fcoe_fcp_cmd_payload { … }; /* FCP RSP payload */ struct fcoe_fcp_rsp_payload { … }; /* FCP RSP payload */ struct fcp_rsp_payload_padded { … }; /* FCP RSP payload */ struct fcoe_fcp_xfer_payload { … }; /* FCP RSP payload */ struct fcp_xfer_payload_padded { … }; /* Task params */ struct fcoe_tx_data_params { … }; /* Middle path parameters: FC header fields provided by the driver */ struct fcoe_tx_mid_path_params { … }; /* Task params */ struct fcoe_tx_params { … }; /* Union of FCP CMD payload \ TX params \ ABTS \ Cleanup */ fcoe_tx_info_union_ctx; /* Data sgl */ struct fcoe_slow_sgl_ctx { … }; /* Union of DIX SGL \ cached DIX sges */ fcoe_dix_desc_ctx; /* The fcoe storm task context of Ystorm */ struct ystorm_fcoe_task_st_ctx { … }; struct ystorm_fcoe_task_ag_ctx { … }; struct tstorm_fcoe_task_ag_ctx { … }; /* Cached data sges */ struct fcoe_exp_ro { … }; /* Union of Cleanup address \ expected relative offsets */ fcoe_cleanup_addr_exp_ro_union; /* Fields coppied from ABTSrsp pckt */ struct fcoe_abts_pkt { … }; /* FW read- write (modifyable) part The fcoe task storm context of Tstorm */ struct fcoe_tstorm_fcoe_task_st_ctx_read_write { … }; /* FW read only part The fcoe task storm context of Tstorm */ struct fcoe_tstorm_fcoe_task_st_ctx_read_only { … }; /** The fcoe task storm context of Tstorm */ struct tstorm_fcoe_task_st_ctx { … }; struct mstorm_fcoe_task_ag_ctx { … }; /* The fcoe task storm context of Mstorm */ struct mstorm_fcoe_task_st_ctx { … }; struct ustorm_fcoe_task_ag_ctx { … }; /* FCoE task context */ struct fcoe_task_context { … }; /* FCoE additional WQE (Sq/XferQ) information */ fcoe_additional_info_union; /* FCoE Ramrod Command IDs */ enum fcoe_completion_status { … }; /* FC address (SID/DID) network presentation */ struct fc_addr_nw { … }; /* FCoE connection offload */ struct fcoe_conn_offload_ramrod_data { … }; /* FCoE terminate connection request */ struct fcoe_conn_terminate_ramrod_data { … }; /* FCoE device type */ enum fcoe_device_type { … }; /* Data sgl */ struct fcoe_fast_sgl_ctx { … }; /* FCoE firmware function init */ struct fcoe_init_func_ramrod_data { … }; /* FCoE: Mode of the connection: Target or Initiator or both */ enum fcoe_mode_type { … }; /* Per PF FCoE receive path statistics - tStorm RAM structure */ struct fcoe_rx_stat { … }; /* FCoE SQE request type */ enum fcoe_sqe_request_type { … }; /* FCoe statistics request */ struct fcoe_stat_ramrod_data { … }; /* FCoE task type */ enum fcoe_task_type { … }; /* Per PF FCoE transmit path statistics - pStorm RAM structure */ struct fcoe_tx_stat { … }; /* FCoE SQ/XferQ element */ struct fcoe_wqe { … }; /* FCoE XFRQ element */ struct xfrqe_prot_flags { … }; /* FCoE doorbell data */ struct fcoe_db_data { … }; #endif /* __FCOE_COMMON__ */