Lines Matching defs:bnxt
62 #include "bnxt.h"
271 static void bnxt_db_nq(struct bnxt *bp, struct bnxt_db_info *db, u32 idx)
279 static void bnxt_db_nq_arm(struct bnxt *bp, struct bnxt_db_info *db, u32 idx)
287 static void bnxt_db_cq(struct bnxt *bp, struct bnxt_db_info *db, u32 idx)
296 static void bnxt_queue_fw_reset_work(struct bnxt *bp, unsigned long delay)
307 static void __bnxt_queue_sp_work(struct bnxt *bp)
315 static void bnxt_queue_sp_work(struct bnxt *bp, unsigned int event)
321 static void bnxt_sched_reset_rxr(struct bnxt *bp, struct bnxt_rx_ring_info *rxr)
334 void bnxt_sched_reset_txr(struct bnxt *bp, struct bnxt_tx_ring_info *txr,
382 static void bnxt_txr_db_kick(struct bnxt *bp, struct bnxt_tx_ring_info *txr,
391 struct bnxt *bp = netdev_priv(dev);
421 "bnxt: ring busy w/ flush pending!\n");
690 static void bnxt_tx_int(struct bnxt *bp, struct bnxt_napi *bnapi, int budget)
759 static struct page *__bnxt_alloc_rx_page(struct bnxt *bp, dma_addr_t *mapping,
780 static inline u8 *__bnxt_alloc_rx_frag(struct bnxt *bp, dma_addr_t *mapping,
804 int bnxt_alloc_rx_data(struct bnxt *bp, struct bnxt_rx_ring_info *rxr,
867 static inline int bnxt_alloc_rx_page(struct bnxt *bp,
899 static struct rx_agg_cmp *bnxt_get_agg(struct bnxt *bp,
911 static struct rx_agg_cmp *bnxt_get_tpa_agg_p5(struct bnxt *bp,
924 struct bnxt *bp = bnapi->bp;
977 static struct sk_buff *bnxt_rx_multi_page_skb(struct bnxt *bp,
1009 static struct sk_buff *bnxt_rx_page_skb(struct bnxt *bp,
1056 static struct sk_buff *bnxt_rx_skb(struct bnxt *bp,
1085 static u32 __bnxt_rx_agg_pages(struct bnxt *bp,
1156 static struct sk_buff *bnxt_rx_agg_pages_skb(struct bnxt *bp,
1178 static u32 bnxt_rx_agg_pages_xdp(struct bnxt *bp,
1199 static int bnxt_agg_bufs_valid(struct bnxt *bp, struct bnxt_cp_ring_info *cpr,
1216 struct bnxt *bp = bnapi->bp;
1237 static int bnxt_discard_rx(struct bnxt *bp, struct bnxt_cp_ring_info *cpr,
1294 static void bnxt_tpa_start(struct bnxt *bp, struct bnxt_rx_ring_info *rxr,
1549 static inline struct sk_buff *bnxt_gro_skb(struct bnxt *bp,
1581 static struct net_device *bnxt_get_pkt_dev(struct bnxt *bp, u16 cfa_code)
1589 static inline struct sk_buff *bnxt_tpa_end(struct bnxt *bp,
1737 static void bnxt_tpa_agg(struct bnxt *bp, struct bnxt_rx_ring_info *rxr,
1749 static void bnxt_deliver_skb(struct bnxt *bp, struct bnxt_napi *bnapi,
1763 static bool bnxt_rx_ts_valid(struct bnxt *bp, u32 flags,
1785 static int bnxt_rx_pkt(struct bnxt *bp, struct bnxt_cp_ring_info *cpr,
2062 static int bnxt_force_rx_discard(struct bnxt *bp,
2106 u32 bnxt_fw_health_readl(struct bnxt *bp, int reg_idx)
2133 static u16 bnxt_agg_ring_id_to_grp_idx(struct bnxt *bp, u16 ring_id)
2148 static void bnxt_event_error_report(struct bnxt *bp, u32 data1, u32 data2)
2192 static int bnxt_async_event_process(struct bnxt *bp,
2406 static int bnxt_hwrm_handler(struct bnxt *bp, struct tx_cmp *txcmp)
2448 struct bnxt *bp = bnapi->bp;
2458 static inline int bnxt_has_work(struct bnxt *bp, struct bnxt_cp_ring_info *cpr)
2472 struct bnxt *bp = bnapi->bp;
2497 static int __bnxt_poll_work(struct bnxt *bp, struct bnxt_cp_ring_info *cpr,
2585 static void __bnxt_poll_work_done(struct bnxt *bp, struct bnxt_napi *bnapi,
2604 static int bnxt_poll_work(struct bnxt *bp, struct bnxt_cp_ring_info *cpr,
2625 struct bnxt *bp = bnapi->bp;
2701 struct bnxt *bp = bnapi->bp;
2736 static int __bnxt_poll_cqs(struct bnxt *bp, struct bnxt_napi *bnapi, int budget)
2753 static void __bnxt_poll_cqs_done(struct bnxt *bp, struct bnxt_napi *bnapi,
2779 struct bnxt *bp = bnapi->bp;
2850 static void bnxt_free_tx_skbs(struct bnxt *bp)
2921 static void bnxt_free_one_rx_ring_skbs(struct bnxt *bp, int ring_nr)
2995 static void bnxt_free_rx_skbs(struct bnxt *bp)
3006 static void bnxt_free_skbs(struct bnxt *bp)
3029 static void bnxt_free_ring(struct bnxt *bp, struct bnxt_ring_mem_info *rmem)
3062 static int bnxt_alloc_ring(struct bnxt *bp, struct bnxt_ring_mem_info *rmem)
3115 static void bnxt_free_tpa_info(struct bnxt *bp)
3135 static int bnxt_alloc_tpa_info(struct bnxt *bp)
3171 static void bnxt_free_rx_rings(struct bnxt *bp)
3203 static int bnxt_alloc_rx_page_pool(struct bnxt *bp,
3230 static int bnxt_alloc_rx_rings(struct bnxt *bp)
3288 static void bnxt_free_tx_rings(struct bnxt *bp)
3312 static int bnxt_alloc_tx_rings(struct bnxt *bp)
3397 static void bnxt_free_all_cp_arrays(struct bnxt *bp)
3412 static int bnxt_alloc_all_cp_arrays(struct bnxt *bp)
3429 static void bnxt_free_cp_rings(struct bnxt *bp)
3464 static struct bnxt_cp_ring_info *bnxt_alloc_cp_sub_ring(struct bnxt *bp)
3498 static int bnxt_alloc_cp_rings(struct bnxt *bp)
3552 static void bnxt_init_ring_struct(struct bnxt *bp)
3636 static int bnxt_alloc_one_rx_ring(struct bnxt *bp, int ring_nr)
3685 static int bnxt_init_one_rx_ring(struct bnxt *bp, int ring_nr)
3720 static void bnxt_init_cp_rings(struct bnxt *bp)
3745 static int bnxt_init_rx_rings(struct bnxt *bp)
3766 static int bnxt_init_tx_rings(struct bnxt *bp)
3783 static void bnxt_free_ring_grps(struct bnxt *bp)
3789 static int bnxt_init_ring_grps(struct bnxt *bp, bool irq_re_init)
3811 static void bnxt_free_vnics(struct bnxt *bp)
3818 static int bnxt_alloc_vnics(struct bnxt *bp)
3839 static void bnxt_init_vnics(struct bnxt *bp)
3882 void bnxt_set_tpa_flags(struct bnxt *bp)
3896 void bnxt_set_ring_params(struct bnxt *bp)
3993 int bnxt_set_rx_skb_mode(struct bnxt *bp, bool page_mode)
4025 static void bnxt_free_vnic_attributes(struct bnxt *bp)
4061 static int bnxt_alloc_vnic_attributes(struct bnxt *bp)
4138 static void bnxt_free_hwrm_resources(struct bnxt *bp)
4151 static int bnxt_alloc_hwrm_resources(struct bnxt *bp)
4164 static void bnxt_free_stats_mem(struct bnxt *bp, struct bnxt_stats_mem *stats)
4177 static int bnxt_alloc_stats_mem(struct bnxt *bp, struct bnxt_stats_mem *stats,
4217 static int bnxt_hwrm_func_qstat_ext(struct bnxt *bp,
4246 static int bnxt_hwrm_port_qstats(struct bnxt *bp, u8 flags);
4247 static int bnxt_hwrm_port_qstats_ext(struct bnxt *bp, u8 flags);
4249 static void bnxt_init_stats(struct bnxt *bp)
4320 static void bnxt_free_port_stats(struct bnxt *bp)
4330 static void bnxt_free_ring_stats(struct bnxt *bp)
4345 static int bnxt_alloc_stats(struct bnxt *bp)
4408 static void bnxt_clear_ring_indices(struct bnxt *bp)
4443 static void bnxt_free_ntp_fltrs(struct bnxt *bp, bool irq_reinit)
4470 static int bnxt_alloc_ntp_fltrs(struct bnxt *bp)
4493 static void bnxt_free_mem(struct bnxt *bp, bool irq_re_init)
4521 static int bnxt_alloc_mem(struct bnxt *bp, bool irq_re_init)
4650 static void bnxt_disable_int(struct bnxt *bp)
4667 static int bnxt_cp_num_to_irq_num(struct bnxt *bp, int n)
4676 static void bnxt_disable_int_sync(struct bnxt *bp)
4693 static void bnxt_enable_int(struct bnxt *bp)
4706 int bnxt_hwrm_func_drv_rgtr(struct bnxt *bp, unsigned long *bmap, int bmap_size,
4801 int bnxt_hwrm_func_drv_unrgtr(struct bnxt *bp)
4815 static int bnxt_hwrm_tunnel_dst_port_free(struct bnxt *bp, u8 tunnel_type)
4855 static int bnxt_hwrm_tunnel_dst_port_alloc(struct bnxt *bp, __be16 port,
4896 static int bnxt_hwrm_cfa_l2_set_rx_mask(struct bnxt *bp, u16 vnic_id)
4916 static int bnxt_hwrm_cfa_ntuple_filter_free(struct bnxt *bp,
4949 static int bnxt_hwrm_cfa_ntuple_filter_alloc(struct bnxt *bp,
5020 static int bnxt_hwrm_set_vnic_filter(struct bnxt *bp, u16 vnic_id, u16 idx,
5057 static int bnxt_hwrm_clear_vnic_filter(struct bnxt *bp)
5082 static int bnxt_hwrm_vnic_set_tpa(struct bnxt *bp, u16 vnic_id, u32 tpa_flags)
5144 static u16 bnxt_cp_ring_from_grp(struct bnxt *bp, struct bnxt_ring_struct *ring)
5152 static u16 bnxt_cp_ring_for_rx(struct bnxt *bp, struct bnxt_rx_ring_info *rxr)
5165 static u16 bnxt_cp_ring_for_tx(struct bnxt *bp, struct bnxt_tx_ring_info *txr)
5178 static int bnxt_alloc_rss_indir_tbl(struct bnxt *bp)
5195 static void bnxt_set_dflt_rss_indir_tbl(struct bnxt *bp)
5217 static u16 bnxt_get_max_rss_ring(struct bnxt *bp)
5230 int bnxt_get_nr_rss_ctxs(struct bnxt *bp, int rx_rings)
5239 static void bnxt_fill_hw_rss_tbl(struct bnxt *bp, struct bnxt_vnic_info *vnic)
5252 static void bnxt_fill_hw_rss_tbl_p5(struct bnxt *bp,
5275 __bnxt_hwrm_vnic_set_rss(struct bnxt *bp, struct hwrm_vnic_rss_cfg_input *req,
5297 static int bnxt_hwrm_vnic_set_rss(struct bnxt *bp, u16 vnic_id, bool set_rss)
5317 static int bnxt_hwrm_vnic_set_rss_p5(struct bnxt *bp, u16 vnic_id, bool set_rss)
5352 static void bnxt_hwrm_update_rss_hash_cfg(struct bnxt *bp)
5372 static int bnxt_hwrm_vnic_set_hds(struct bnxt *bp, u16 vnic_id)
5399 static void bnxt_hwrm_vnic_ctx_free_one(struct bnxt *bp, u16 vnic_id,
5414 static void bnxt_hwrm_vnic_ctx_free(struct bnxt *bp)
5429 static int bnxt_hwrm_vnic_ctx_alloc(struct bnxt *bp, u16 vnic_id, u16 ctx_idx)
5449 static u32 bnxt_get_roce_vnic_mode(struct bnxt *bp)
5456 int bnxt_hwrm_vnic_cfg(struct bnxt *bp, u16 vnic_id)
5530 static void bnxt_hwrm_vnic_free_one(struct bnxt *bp, u16 vnic_id)
5546 static void bnxt_hwrm_vnic_free(struct bnxt *bp)
5554 static int bnxt_hwrm_vnic_alloc(struct bnxt *bp, u16 vnic_id,
5596 static int bnxt_hwrm_vnic_qcaps(struct bnxt *bp)
5644 static int bnxt_hwrm_ring_grp_alloc(struct bnxt *bp)
5679 static void bnxt_hwrm_ring_grp_free(struct bnxt *bp)
5703 static int hwrm_ring_alloc_send_msg(struct bnxt *bp,
5821 static int bnxt_hwrm_set_async_event_cr(struct bnxt *bp, int idx)
5850 static void bnxt_set_db(struct bnxt *bp, struct bnxt_db_info *db, u32 ring_type,
5891 static int bnxt_hwrm_ring_alloc(struct bnxt *bp)
6014 static int hwrm_ring_free_send_msg(struct bnxt *bp,
6047 static void bnxt_hwrm_ring_free(struct bnxt *bp, bool close_path)
6148 static int bnxt_trim_rings(struct bnxt *bp, int *rx, int *tx, int max,
6151 static int bnxt_hwrm_get_rings(struct bnxt *bp)
6207 int __bnxt_hwrm_get_tx_rings(struct bnxt *bp, u16 fid, int *tx_rings)
6230 static bool bnxt_rfs_supported(struct bnxt *bp);
6233 __bnxt_hwrm_reserve_pf_rings(struct bnxt *bp, int tx_rings, int rx_rings,
6286 __bnxt_hwrm_reserve_vf_rings(struct bnxt *bp, int tx_rings, int rx_rings,
6330 bnxt_hwrm_reserve_pf_rings(struct bnxt *bp, int tx_rings, int rx_rings,
6357 bnxt_hwrm_reserve_vf_rings(struct bnxt *bp, int tx_rings, int rx_rings,
6380 static int bnxt_hwrm_reserve_rings(struct bnxt *bp, int tx, int rx, int grp,
6391 int bnxt_nq_rings_in_use(struct bnxt *bp)
6406 static int bnxt_cp_rings_in_use(struct bnxt *bp)
6417 static int bnxt_get_func_stat_ctxs(struct bnxt *bp)
6434 static void bnxt_check_rss_tbl_no_rmgr(struct bnxt *bp)
6446 static bool bnxt_need_reserve_rings(struct bnxt *bp)
6483 static int __bnxt_reserve_rings(struct bnxt *bp)
6570 static int bnxt_hwrm_check_vf_rings(struct bnxt *bp, int tx_rings, int rx_rings,
6595 static int bnxt_hwrm_check_pf_rings(struct bnxt *bp, int tx_rings, int rx_rings,
6621 static int bnxt_hwrm_check_rings(struct bnxt *bp, int tx_rings, int rx_rings,
6637 static void bnxt_hwrm_coal_params_qcaps(struct bnxt *bp)
6684 static u16 bnxt_usec_to_coal_tmr(struct bnxt *bp, u16 usec)
6691 static void bnxt_hwrm_set_coal_params(struct bnxt *bp,
6747 static int __bnxt_hwrm_set_coal_nq(struct bnxt *bp, struct bnxt_napi *bnapi,
6775 int bnxt_hwrm_set_ring_coal(struct bnxt *bp, struct bnxt_napi *bnapi)
6804 int bnxt_hwrm_set_coal(struct bnxt *bp)
6865 static void bnxt_hwrm_stat_ctx_free(struct bnxt *bp)
6907 static int bnxt_hwrm_stat_ctx_alloc(struct bnxt *bp)
6942 static int bnxt_hwrm_func_qcfg(struct bnxt *bp)
7054 static int bnxt_hwrm_func_backing_store_qcaps(struct bnxt *bp)
7162 static int bnxt_hwrm_func_backing_store_cfg(struct bnxt *bp, u32 enables)
7271 static int bnxt_alloc_ctx_mem_blk(struct bnxt *bp,
7285 static int bnxt_alloc_ctx_pg_tbls(struct bnxt *bp,
7346 static void bnxt_free_ctx_pg_tbls(struct bnxt *bp,
7375 void bnxt_free_ctx_mem(struct bnxt *bp)
7400 static int bnxt_alloc_ctx_mem(struct bnxt *bp)
7546 int bnxt_hwrm_func_resc_qcaps(struct bnxt *bp, bool all)
7604 static int __bnxt_hwrm_ptp_qcfg(struct bnxt *bp)
7668 static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
7776 static void bnxt_hwrm_dbg_qcaps(struct bnxt *bp)
7802 static int bnxt_hwrm_queue_qportcfg(struct bnxt *bp);
7804 int bnxt_hwrm_func_qcaps(struct bnxt *bp)
7830 static int bnxt_hwrm_cfa_adv_flow_mgnt_qcaps(struct bnxt *bp)
7859 static int __bnxt_alloc_fw_health(struct bnxt *bp)
7872 static int bnxt_alloc_fw_health(struct bnxt *bp)
7890 static void __bnxt_map_fw_health_reg(struct bnxt *bp, u32 reg)
7897 static void bnxt_inv_fw_health_reg(struct bnxt *bp)
7914 static void bnxt_try_map_fw_health_reg(struct bnxt *bp)
7961 static int bnxt_map_fw_health_regs(struct bnxt *bp)
7990 static void bnxt_remap_fw_health_regs(struct bnxt *bp)
8003 static int bnxt_hwrm_error_recovery_qcfg(struct bnxt *bp)
8068 static int bnxt_hwrm_func_reset(struct bnxt *bp)
8082 static void bnxt_nvm_cfg_ver_get(struct bnxt *bp)
8092 static int bnxt_hwrm_queue_qportcfg(struct bnxt *bp)
8143 static int bnxt_hwrm_poll(struct bnxt *bp)
8161 static int bnxt_hwrm_ver_get(struct bnxt *bp)
8282 int bnxt_hwrm_fw_set_time(struct bnxt *bp)
8345 static void bnxt_accumulate_all_stats(struct bnxt *bp)
8390 static int bnxt_hwrm_port_qstats(struct bnxt *bp, u8 flags)
8414 static int bnxt_hwrm_port_qstats_ext(struct bnxt *bp, u8 flags)
8504 static void bnxt_hwrm_free_tunnel_ports(struct bnxt *bp)
8512 static int bnxt_set_tpa(struct bnxt *bp, bool set_tpa)
8532 static void bnxt_hwrm_clear_vnic_rss(struct bnxt *bp)
8540 static void bnxt_clear_vnic(struct bnxt *bp)
8559 static void bnxt_hwrm_resource_free(struct bnxt *bp, bool close_path,
8571 static int bnxt_hwrm_set_br_mode(struct bnxt *bp, u16 br_mode)
8594 static int bnxt_hwrm_set_cache_line_size(struct bnxt *bp, int size)
8615 static int __bnxt_setup_vnic(struct bnxt *bp, u16 vnic_id)
8671 static int __bnxt_setup_vnic_p5(struct bnxt *bp, u16 vnic_id)
8710 static int bnxt_setup_vnic(struct bnxt *bp, u16 vnic_id)
8718 static int bnxt_alloc_rfs_vnics(struct bnxt *bp)
8755 static bool bnxt_promisc_ok(struct bnxt *bp)
8764 static int bnxt_setup_nitroa0_vnic(struct bnxt *bp)
8784 static int bnxt_cfg_rx_mode(struct bnxt *);
8785 static bool bnxt_mc_list_updated(struct bnxt *, u32 *);
8787 static int bnxt_init_chip(struct bnxt *bp, bool irq_re_init)
8909 static int bnxt_shutdown_nic(struct bnxt *bp, bool irq_re_init)
8915 static int bnxt_init_nic(struct bnxt *bp, bool irq_re_init)
8926 static int bnxt_set_real_num_queues(struct bnxt *bp)
8948 static int bnxt_trim_rings(struct bnxt *bp, int *rx, int *tx, int max,
8972 static void bnxt_setup_msix(struct bnxt *bp)
9006 static void bnxt_setup_inta(struct bnxt *bp)
9018 static int bnxt_init_int_mode(struct bnxt *bp);
9020 static int bnxt_setup_int_mode(struct bnxt *bp)
9040 static unsigned int bnxt_get_max_func_rss_ctxs(struct bnxt *bp)
9045 static unsigned int bnxt_get_max_func_vnics(struct bnxt *bp)
9051 unsigned int bnxt_get_max_func_stat_ctxs(struct bnxt *bp)
9056 unsigned int bnxt_get_max_func_cp_rings(struct bnxt *bp)
9061 static unsigned int bnxt_get_max_func_cp_rings_for_en(struct bnxt *bp)
9071 static unsigned int bnxt_get_max_func_irqs(struct bnxt *bp)
9081 static void bnxt_set_max_func_irqs(struct bnxt *bp, unsigned int max_irqs)
9086 unsigned int bnxt_get_avail_cp_rings_for_en(struct bnxt *bp)
9097 unsigned int bnxt_get_avail_stat_ctxs_for_en(struct bnxt *bp)
9102 int bnxt_get_avail_msix(struct bnxt *bp, int num)
9124 static int bnxt_get_num_msix(struct bnxt *bp)
9132 static int bnxt_init_msix(struct bnxt *bp)
9197 static int bnxt_init_inta(struct bnxt *bp)
9212 static int bnxt_init_int_mode(struct bnxt *bp)
9226 static void bnxt_clear_int_mode(struct bnxt *bp)
9236 int bnxt_reserve_rings(struct bnxt *bp, bool irq_re_init)
9274 static void bnxt_free_irq(struct bnxt *bp)
9303 static int bnxt_request_irq(struct bnxt *bp)
9361 static void bnxt_del_napi(struct bnxt *bp)
9379 static void bnxt_init_napi(struct bnxt *bp)
9407 static void bnxt_disable_napi(struct bnxt *bp)
9430 static void bnxt_enable_napi(struct bnxt *bp)
9454 void bnxt_tx_disable(struct bnxt *bp)
9473 void bnxt_tx_enable(struct bnxt *bp)
9513 void bnxt_report_link(struct bnxt *bp)
9582 static int bnxt_hwrm_phy_qcaps(struct bnxt *bp)
9646 int bnxt_update_link(struct bnxt *bp, bool chng_link_state)
9784 static void bnxt_get_port_module_status(struct bnxt *bp)
9812 bnxt_hwrm_set_pause_common(struct bnxt *bp, struct hwrm_port_phy_cfg_input *req)
9839 static void bnxt_hwrm_set_link_common(struct bnxt *bp, struct hwrm_port_phy_cfg_input *req)
9869 int bnxt_hwrm_set_pause(struct bnxt *bp)
9900 static void bnxt_hwrm_set_eee(struct bnxt *bp,
9923 int bnxt_hwrm_set_link_setting(struct bnxt *bp, bool set_pause, bool set_eee)
9942 static int bnxt_hwrm_shutdown_link(struct bnxt *bp)
9973 static int bnxt_fw_reset_via_optee(struct bnxt *bp)
9988 static int bnxt_try_recover_fw(struct bnxt *bp)
10019 static void bnxt_clear_reservations(struct bnxt *bp, bool fw_reset)
10039 int bnxt_cancel_reservations(struct bnxt *bp, bool fw_reset)
10055 static int bnxt_hwrm_if_change(struct bnxt *bp, bool up)
10144 static int bnxt_hwrm_port_led_qcaps(struct bnxt *bp)
10187 int bnxt_hwrm_alloc_wol_fltr(struct bnxt *bp)
10210 int bnxt_hwrm_free_wol_fltr(struct bnxt *bp)
10226 static u16 bnxt_hwrm_get_wol_fltrs(struct bnxt *bp, u16 handle)
10255 static void bnxt_get_wol_settings(struct bnxt *bp)
10274 struct bnxt *bp = dev_get_drvdata(dev);
10296 ATTRIBUTE_GROUPS(bnxt);
10298 static void bnxt_hwmon_close(struct bnxt *bp)
10306 static void bnxt_hwmon_open(struct bnxt *bp)
10332 static void bnxt_hwmon_close(struct bnxt *bp)
10336 static void bnxt_hwmon_open(struct bnxt *bp)
10341 static bool bnxt_eee_config_ok(struct bnxt *bp)
10365 static int bnxt_update_phy_setting(struct bnxt *bp)
10435 static void bnxt_preset_reg_win(struct bnxt *bp)
10444 static int bnxt_init_dflt_ring_mode(struct bnxt *bp);
10446 static int bnxt_reinit_after_abort(struct bnxt *bp)
10468 static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
10567 int bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
10586 int bnxt_half_open_nic(struct bnxt *bp)
10622 void bnxt_half_close_nic(struct bnxt *bp)
10631 void bnxt_reenable_sriov(struct bnxt *bp)
10644 struct bnxt *bp = netdev_priv(dev);
10678 static bool bnxt_drv_busy(struct bnxt *bp)
10684 static void bnxt_get_ring_stats(struct bnxt *bp,
10687 static void __bnxt_close_nic(struct bnxt *bp, bool irq_re_init,
10724 void bnxt_close_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
10756 struct bnxt *bp = netdev_priv(dev);
10765 static int bnxt_hwrm_port_phy_read(struct bnxt *bp, u16 phy_addr, u16 reg,
10797 static int bnxt_hwrm_port_phy_write(struct bnxt *bp, u16 phy_addr, u16 reg,
10828 struct bnxt *bp = netdev_priv(dev);
10868 static void bnxt_get_ring_stats(struct bnxt *bp,
10907 static void bnxt_add_prev_stats(struct bnxt *bp,
10925 struct bnxt *bp = netdev_priv(dev);
10966 static void bnxt_get_one_ring_err_stats(struct bnxt *bp,
10986 void bnxt_get_ring_err_stats(struct bnxt *bp,
10995 static bool bnxt_mc_list_updated(struct bnxt *bp, u32 *rx_mask)
11029 static bool bnxt_uc_list_updated(struct bnxt *bp)
11050 struct bnxt *bp = netdev_priv(dev);
11087 static int bnxt_cfg_rx_mode(struct bnxt *bp)
11167 static bool bnxt_can_reserve_rings(struct bnxt *bp)
11187 static bool bnxt_rfs_supported(struct bnxt *bp)
11205 static bool bnxt_rfs_capable(struct bnxt *bp)
11251 struct bnxt *bp = netdev_priv(dev);
11285 struct bnxt *bp = netdev_priv(dev);
11349 static bool bnxt_exthdr_check(struct bnxt *bp, struct sk_buff *skb, int nw_off,
11416 static bool bnxt_udp_tunl_check(struct bnxt *bp, struct sk_buff *skb)
11438 static bool bnxt_tunl_check(struct bnxt *bp, struct sk_buff *skb, u8 l4_proto)
11467 struct bnxt *bp = netdev_priv(dev);
11490 int bnxt_dbg_hwrm_rd_reg(struct bnxt *bp, u32 reg_off, u16 num_words,
11529 static int bnxt_dbg_hwrm_ring_info_get(struct bnxt *bp, u8 ring_type,
11588 static void bnxt_dbg_dump_states(struct bnxt *bp)
11603 static int bnxt_hwrm_rx_ring_reset(struct bnxt *bp, int ring_nr)
11624 static void bnxt_reset_task(struct bnxt *bp, bool silent)
11645 struct bnxt *bp = netdev_priv(dev);
11651 static void bnxt_fw_health_check(struct bnxt *bp)
11690 struct bnxt *bp = from_timer(bp, t, timer);
11733 static void bnxt_rtnl_lock_sp(struct bnxt *bp)
11744 static void bnxt_rtnl_unlock_sp(struct bnxt *bp)
11751 static void bnxt_reset(struct bnxt *bp, bool silent)
11760 static void bnxt_rx_ring_reset(struct bnxt *bp)
11808 static void bnxt_fw_reset_close(struct bnxt *bp)
11839 static bool is_bnxt_fw_ok(struct bnxt *bp)
11860 static void bnxt_force_fw_reset(struct bnxt *bp)
11894 void bnxt_fw_exception(struct bnxt *bp)
11906 static int bnxt_get_registered_vfs(struct bnxt *bp)
11927 void bnxt_fw_reset(struct bnxt *bp)
11975 static void bnxt_chk_missed_irq(struct bnxt *bp)
12013 static void bnxt_cfg_ntp_filters(struct bnxt *);
12015 static void bnxt_init_ethtool_link_settings(struct bnxt *bp)
12047 static void bnxt_fw_echo_reply(struct bnxt *bp)
12063 struct bnxt *bp = container_of(work, struct bnxt, sp_task);
12163 int bnxt_check_rings(struct bnxt *bp, int tx, int rx, bool sh, int tcs,
12201 static void bnxt_unmap_bars(struct bnxt *bp, struct pci_dev *pdev)
12219 static void bnxt_cleanup_pci(struct bnxt *bp)
12227 static void bnxt_init_dflt_coal(struct bnxt *bp)
12261 static int bnxt_fw_init_one_p1(struct bnxt *bp)
12292 static int bnxt_fw_init_one_p2(struct bnxt *bp)
12332 static void bnxt_set_dflt_rss_hash_type(struct bnxt *bp)
12348 static void bnxt_set_dflt_rfs(struct bnxt *bp)
12364 static void bnxt_fw_init_one_p3(struct bnxt *bp)
12381 static int bnxt_probe_phy(struct bnxt *bp, bool fw_dflt);
12383 int bnxt_fw_init_one(struct bnxt *bp)
12408 static void bnxt_fw_reset_writel(struct bnxt *bp, int reg_idx)
12440 bool bnxt_hwrm_reset_permitted(struct bnxt *bp)
12461 static void bnxt_reset_all(struct bnxt *bp)
12492 static bool bnxt_fw_reset_timeout(struct bnxt *bp)
12498 static void bnxt_fw_reset_abort(struct bnxt *bp, int rc)
12511 struct bnxt *bp = container_of(work, struct bnxt, fw_reset_task.work);
12681 struct bnxt *bp = netdev_priv(dev);
12769 struct bnxt *bp = netdev_priv(dev);
12794 struct bnxt *bp = netdev_priv(dev);
12810 struct bnxt *bp = netdev_priv(dev);
12855 struct bnxt *bp = cb_priv;
12874 struct bnxt *bp = netdev_priv(dev);
12929 struct bnxt *bp = netdev_priv(dev);
13023 static void bnxt_cfg_ntp_filters(struct bnxt *bp)
13069 static void bnxt_cfg_ntp_filters(struct bnxt *bp)
13078 struct bnxt *bp = netdev_priv(netdev);
13092 struct bnxt *bp = netdev_priv(netdev);
13118 struct bnxt *bp = netdev_priv(dev);
13127 struct bnxt *bp = netdev_priv(dev);
13159 struct bnxt *bp = netdev_priv(dev);
13210 struct bnxt *bp = netdev_priv(dev);
13248 static int bnxt_probe_phy(struct bnxt *bp, bool fw_dflt)
13298 static void _bnxt_get_max_rings(struct bnxt *bp, int *max_rx, int *max_tx,
13327 int bnxt_get_max_rings(struct bnxt *bp, int *max_rx, int *max_tx, bool shared)
13340 static int bnxt_get_dflt_rings(struct bnxt *bp, int *max_rx, int *max_tx,
13388 static void bnxt_trim_dflt_sh_rings(struct bnxt *bp)
13396 static int bnxt_set_dflt_rings(struct bnxt *bp, bool sh)
13451 static int bnxt_init_dflt_ring_mode(struct bnxt *bp)
13481 int bnxt_restore_pf_fw_resources(struct bnxt *bp)
13506 static int bnxt_init_mac_addr(struct bnxt *bp)
13533 static void bnxt_vpd_read_info(struct bnxt *bp)
13567 static int bnxt_pcie_dsn_get(struct bnxt *bp, u8 dsn[])
13584 static int bnxt_map_db_bar(struct bnxt *bp)
13594 void bnxt_print_device_info(struct bnxt *bp)
13606 struct bnxt *bp;
13849 struct bnxt *bp;
13878 struct bnxt *bp = netdev_priv(dev);
13899 struct bnxt *bp = netdev_priv(dev);
13967 struct bnxt *bp = netdev_priv(netdev);
14011 struct bnxt *bp = netdev_priv(netdev);
14087 struct bnxt *bp = netdev_priv(netdev);