File Index
Files and directories
Sign in
FILE

bnge_hwrm_lib.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/* Copyright (c) 2025 Broadcom */
 3
 4#ifndef _BNGE_HWRM_LIB_H_
 5#define _BNGE_HWRM_LIB_H_
 6
 7#define BNGE_PLC_EN_JUMBO_THRES_VALID		\
 8	VNIC_PLCMODES_CFG_REQ_ENABLES_JUMBO_THRESH_VALID
 9#define BNGE_PLC_EN_HDS_THRES_VALID		\
10	VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_THRESHOLD_VALID
11#define BNGE_VNIC_CFG_ROCE_DUAL_MODE		\
12	VNIC_CFG_REQ_FLAGS_ROCE_DUAL_VNIC_MODE
13
14int bnge_hwrm_ver_get(struct bnge_dev *bd);
15int bnge_hwrm_func_reset(struct bnge_dev *bd);
16int bnge_hwrm_fw_set_time(struct bnge_dev *bd);
17int bnge_hwrm_func_drv_rgtr(struct bnge_dev *bd);
18int bnge_hwrm_func_drv_unrgtr(struct bnge_dev *bd);
19int bnge_hwrm_vnic_qcaps(struct bnge_dev *bd);
20int bnge_hwrm_nvm_dev_info(struct bnge_dev *bd,
21			   struct hwrm_nvm_get_dev_info_output *nvm_dev_info);
22int bnge_hwrm_func_backing_store(struct bnge_dev *bd,
23				 struct bnge_ctx_mem_type *ctxm,
24				 bool last);
25int bnge_hwrm_func_backing_store_qcaps(struct bnge_dev *bd);
26int bnge_hwrm_reserve_rings(struct bnge_dev *bd,
27			    struct bnge_hw_rings *hwr);
28int bnge_hwrm_func_qcaps(struct bnge_dev *bd);
29int bnge_hwrm_vnic_qcaps(struct bnge_dev *bd);
30int bnge_hwrm_func_qcfg(struct bnge_dev *bd);
31int bnge_hwrm_func_resc_qcaps(struct bnge_dev *bd);
32int bnge_hwrm_queue_qportcfg(struct bnge_dev *bd);
33
34int bnge_hwrm_vnic_set_hds(struct bnge_net *bn, struct bnge_vnic_info *vnic);
35int bnge_hwrm_vnic_ctx_alloc(struct bnge_dev *bd,
36			     struct bnge_vnic_info *vnic, u16 ctx_idx);
37int bnge_hwrm_vnic_set_rss(struct bnge_net *bn,
38			   struct bnge_vnic_info *vnic, bool set_rss);
39int bnge_hwrm_vnic_cfg(struct bnge_net *bn, struct bnge_vnic_info *vnic);
40void bnge_hwrm_update_rss_hash_cfg(struct bnge_net *bn);
41int bnge_hwrm_vnic_alloc(struct bnge_dev *bd, struct bnge_vnic_info *vnic,
42			 unsigned int nr_rings);
43void bnge_hwrm_vnic_free_one(struct bnge_dev *bd, struct bnge_vnic_info *vnic);
44void bnge_hwrm_vnic_ctx_free_one(struct bnge_dev *bd,
45				 struct bnge_vnic_info *vnic, u16 ctx_idx);
46int bnge_hwrm_l2_filter_free(struct bnge_dev *bd, struct bnge_l2_filter *fltr);
47int bnge_hwrm_l2_filter_alloc(struct bnge_dev *bd, struct bnge_l2_filter *fltr);
48int bnge_hwrm_cfa_l2_set_rx_mask(struct bnge_dev *bd,
49				 struct bnge_vnic_info *vnic);
50void bnge_hwrm_stat_ctx_free(struct bnge_net *bn);
51int bnge_hwrm_stat_ctx_alloc(struct bnge_net *bn);
52int hwrm_ring_free_send_msg(struct bnge_net *bn, struct bnge_ring_struct *ring,
53			    u32 ring_type, int cmpl_ring_id);
54int hwrm_ring_alloc_send_msg(struct bnge_net *bn,
55			     struct bnge_ring_struct *ring,
56			     u32 ring_type, u32 map_index);
57int bnge_hwrm_set_async_event_cr(struct bnge_dev *bd, int idx);
58#endif /* _BNGE_HWRM_LIB_H_ */
~/ Read-only file preview.