xref: /dpdk/drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h (revision 94dbd6cf36688f36872b6878879442889baac997)
11993b267SShahaji Bhosle /* SPDX-License-Identifier: BSD-3-Clause
26d160d77SRandy Schacher  * Copyright(c) 2021-2023 Broadcom
31993b267SShahaji Bhosle  * All rights reserved.
41993b267SShahaji Bhosle  */
51993b267SShahaji Bhosle 
61993b267SShahaji Bhosle #ifndef _BNXT_TF_PMD_ABSTRACT_H_
71993b267SShahaji Bhosle #define _BNXT_TF_PMD_ABSTRACT_H_
81993b267SShahaji Bhosle 
91993b267SShahaji Bhosle #include "bnxt_tf_common.h"
101993b267SShahaji Bhosle #include "ulp_mapper.h"
111993b267SShahaji Bhosle 
126d160d77SRandy Schacher /* Simple structure to manage the custom global tunnel */
136d160d77SRandy Schacher struct bnxt_global_tunnel_info {
146d160d77SRandy Schacher 	uint16_t dport;
156d160d77SRandy Schacher 	uint16_t ref_cnt;
166d160d77SRandy Schacher };
176d160d77SRandy Schacher 
181993b267SShahaji Bhosle int32_t bnxt_rss_config_action_apply(struct bnxt_ulp_mapper_parms *parms);
191993b267SShahaji Bhosle int32_t bnxt_pmd_get_parent_mac_addr(struct bnxt_ulp_mapper_parms *parms,
201993b267SShahaji Bhosle 				     uint8_t *mac);
211993b267SShahaji Bhosle void bnxt_pmd_get_iface_mac(uint16_t port, enum bnxt_ulp_intf_type type,
221993b267SShahaji Bhosle 			    uint8_t *mac, uint8_t *parent_mac);
231993b267SShahaji Bhosle uint16_t bnxt_pmd_get_vnic_id(uint16_t port, enum bnxt_ulp_intf_type type);
241993b267SShahaji Bhosle uint16_t bnxt_pmd_get_parent_vnic_id(uint16_t port, enum bnxt_ulp_intf_type type);
251993b267SShahaji Bhosle struct bnxt *bnxt_pmd_get_bp(uint16_t port);
261993b267SShahaji Bhosle uint16_t bnxt_pmd_get_svif(uint16_t port_id, bool func_svif,
271993b267SShahaji Bhosle 			   enum bnxt_ulp_intf_type type);
281993b267SShahaji Bhosle uint16_t bnxt_pmd_get_fw_func_id(uint16_t port, enum bnxt_ulp_intf_type type);
291993b267SShahaji Bhosle uint16_t bnxt_pmd_get_parif(uint16_t port, enum bnxt_ulp_intf_type type);
301993b267SShahaji Bhosle uint16_t bnxt_pmd_get_phy_port_id(uint16_t port);
311993b267SShahaji Bhosle uint16_t bnxt_pmd_get_vport(uint16_t port);
321993b267SShahaji Bhosle enum bnxt_ulp_intf_type bnxt_pmd_get_interface_type(uint16_t port);
331993b267SShahaji Bhosle int32_t bnxt_pmd_set_unicast_rxmask(struct rte_eth_dev *eth_dev);
346d160d77SRandy Schacher int32_t bnxt_pmd_queue_action_create(struct bnxt_ulp_mapper_parms *parms,
356d160d77SRandy Schacher 				     uint16_t *vnic_idx, uint16_t *vnic_id);
36dd0191d5SShuanglin Wang int32_t bnxt_pmd_queue_action_delete(struct bnxt *bp, uint16_t vnic_idx);
376d160d77SRandy Schacher int32_t bnxt_pmd_rss_action_create(struct bnxt_ulp_mapper_parms *parms,
386d160d77SRandy Schacher 				   uint16_t *vnic_idx, uint16_t *vnic_id);
39dd0191d5SShuanglin Wang int32_t bnxt_pmd_rss_action_delete(struct bnxt *bp, uint16_t vnic_idx);
406d160d77SRandy Schacher int32_t bnxt_tunnel_dst_port_free(struct bnxt *bp,
416d160d77SRandy Schacher 				  uint16_t port,
426d160d77SRandy Schacher 				  uint8_t type);
436d160d77SRandy Schacher int32_t bnxt_tunnel_dst_port_alloc(struct bnxt *bp,
446d160d77SRandy Schacher 				   uint16_t port,
456d160d77SRandy Schacher 				   uint8_t type);
466d160d77SRandy Schacher int32_t
47*94dbd6cfSKishore Padmanabha bnxt_pmd_global_tunnel_set(struct bnxt_ulp_context *ulp_ctx,
48*94dbd6cfSKishore Padmanabha 			   uint16_t port_id, uint8_t type,
49*94dbd6cfSKishore Padmanabha 			   uint16_t udp_port, uint64_t *handle);
506d160d77SRandy Schacher int32_t
516d160d77SRandy Schacher bnxt_tunnel_upar_id_get(struct bnxt *bp,
526d160d77SRandy Schacher 			uint8_t type,
536d160d77SRandy Schacher 			uint8_t *upar_id);
542921498cSMike Baucom void bnxt_pmd_configure_hot_upgrade(bool enable);
552921498cSMike Baucom bool bnxt_pmd_get_hot_up_config(void);
56dd0191d5SShuanglin Wang int32_t ulp_ctx_mh_get_session_name(struct bnxt *bp,
57dd0191d5SShuanglin Wang 				    struct tf_open_session_parms *parms);
58dd0191d5SShuanglin Wang 
59dd0191d5SShuanglin Wang int32_t bnxt_pmd_bd_act_set(uint16_t port_id, uint32_t act);
601993b267SShahaji Bhosle #endif /* _BNXT_TF_PMD_ABSTRACT_H_ */
61