1 /* SPDX-License-Identifier: GPL-2.0 */ 2 // Copyright (c) 2025 Broadcom. 3 4 #ifndef __BNG_SP_H__ 5 #define __BNG_SP_H__ 6 7 #include "bng_fw.h" 8 9 #define BNG_VAR_MAX_WQE 4352 10 #define BNG_VAR_MAX_SGE 13 11 12 struct bng_re_dev_attr { 13 #define FW_VER_ARR_LEN 4 14 u8 fw_ver[FW_VER_ARR_LEN]; 15 #define BNG_RE_NUM_GIDS_SUPPORTED 256 16 u16 max_sgid; 17 u16 max_mrw; 18 u32 max_qp; 19 #define BNG_RE_MAX_OUT_RD_ATOM 126 20 u32 max_qp_rd_atom; 21 u32 max_qp_init_rd_atom; 22 u32 max_qp_wqes; 23 u32 max_qp_sges; 24 u32 max_cq; 25 u32 max_cq_wqes; 26 u32 max_cq_sges; 27 u32 max_mr; 28 u64 max_mr_size; 29 u32 max_pd; 30 u32 max_mw; 31 u32 max_raw_ethy_qp; 32 u32 max_ah; 33 u32 max_srq; 34 u32 max_srq_wqes; 35 u32 max_srq_sges; 36 u32 max_pkey; 37 u32 max_inline_data; 38 u32 l2_db_size; 39 u8 tqm_alloc_reqs[BNG_MAX_TQM_ALLOC_REQ]; 40 bool is_atomic; 41 u16 dev_cap_flags; 42 u16 dev_cap_flags2; 43 u32 max_dpi; 44 }; 45 46 int bng_re_get_dev_attr(struct bng_re_rcfw *rcfw); 47 #endif 48