Home
last modified time | relevance | path

Searched refs:p_hwfn (Results 1 – 25 of 44) sorted by relevance

12

/linux/drivers/net/ethernet/qlogic/qed/
H A Dqed_dev.c63 static void qed_db_recovery_dp_entry(struct qed_hwfn *p_hwfn, in qed_db_recovery_dp_entry() argument
67 DP_VERBOSE(p_hwfn, in qed_db_recovery_dp_entry()
112 struct qed_hwfn *p_hwfn; in qed_db_rec_find_hwfn() local
116 p_hwfn = db_addr < cdev->hwfns[1].doorbells ? in qed_db_rec_find_hwfn()
119 p_hwfn = QED_LEADING_HWFN(cdev); in qed_db_rec_find_hwfn()
121 return p_hwfn; in qed_db_rec_find_hwfn()
132 struct qed_hwfn *p_hwfn; in qed_db_recovery_add() local
146 p_hwfn = qed_db_rec_find_hwfn(cdev, db_addr); in qed_db_recovery_add()
160 db_entry->hwfn_idx = p_hwfn->my_id; in qed_db_recovery_add()
163 qed_db_recovery_dp_entry(p_hwfn, db_entr in qed_db_recovery_add()
178 struct qed_hwfn *p_hwfn; qed_db_recovery_del() local
218 qed_db_recovery_setup(struct qed_hwfn * p_hwfn) qed_db_recovery_setup() argument
236 qed_db_recovery_teardown(struct qed_hwfn * p_hwfn) qed_db_recovery_teardown() argument
259 qed_db_recovery_ring(struct qed_hwfn * p_hwfn,struct qed_db_recovery_entry * db_entry) qed_db_recovery_ring() argument
301 qed_db_recovery_execute(struct qed_hwfn * p_hwfn) qed_db_recovery_execute() argument
622 qed_llh_set_engine_affin(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_llh_set_engine_affin() argument
676 qed_llh_hw_init_pf(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_llh_hw_init_pf() argument
724 struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); qed_llh_set_ppfid_affinity() local
772 struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); qed_llh_set_roce_affinity() local
827 qed_llh_access_filter(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u8 abs_ppfid,u8 filter_idx,struct qed_llh_filter_details * p_details) qed_llh_access_filter() argument
907 qed_llh_add_filter(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u8 abs_ppfid,u8 filter_idx,u8 filter_prot_type,u32 high,u32 low) qed_llh_add_filter() argument
926 qed_llh_remove_filter(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u8 abs_ppfid,u8 filter_idx) qed_llh_remove_filter() argument
938 struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); qed_llh_add_mac_filter() local
1071 struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); qed_llh_add_protocol_filter() local
1138 struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); qed_llh_remove_mac_filter() local
1191 struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); qed_llh_remove_protocol_filter() local
1249 qed_hw_bar_size(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,enum BAR_ID bar_id) qed_hw_bar_size() argument
1282 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_init_dp() local
1294 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_init_struct() local
1310 qed_qm_info_free(struct qed_hwfn * p_hwfn) qed_qm_info_free() argument
1324 qed_dbg_user_data_free(struct qed_hwfn * p_hwfn) qed_dbg_user_data_free() argument
1333 struct qed_hwfn *p_hwfn; qed_resc_free() local
1399 qed_get_pq_flags(struct qed_hwfn * p_hwfn) qed_get_pq_flags() argument
1441 qed_init_qm_get_num_tcs(struct qed_hwfn * p_hwfn) qed_init_qm_get_num_tcs() argument
1446 qed_init_qm_get_num_vfs(struct qed_hwfn * p_hwfn) qed_init_qm_get_num_vfs() argument
1452 qed_init_qm_get_num_mtc_tcs(struct qed_hwfn * p_hwfn) qed_init_qm_get_num_mtc_tcs() argument
1464 qed_init_qm_get_num_pf_rls(struct qed_hwfn * p_hwfn) qed_init_qm_get_num_pf_rls() argument
1482 qed_init_qm_get_num_vports(struct qed_hwfn * p_hwfn) qed_init_qm_get_num_vports() argument
1494 qed_init_qm_get_num_pqs(struct qed_hwfn * p_hwfn) qed_init_qm_get_num_pqs() argument
1512 qed_init_qm_params(struct qed_hwfn * p_hwfn) qed_init_qm_params() argument
1541 qed_init_qm_vport_params(struct qed_hwfn * p_hwfn) qed_init_qm_vport_params() argument
1552 qed_init_qm_port_params(struct qed_hwfn * p_hwfn) qed_init_qm_port_params() argument
1582 qed_init_qm_reset_params(struct qed_hwfn * p_hwfn) qed_init_qm_reset_params() argument
1595 qed_init_qm_advance_vport(struct qed_hwfn * p_hwfn) qed_init_qm_advance_vport() argument
1628 qed_is_offload_tc_set(struct qed_hwfn * p_hwfn) qed_is_offload_tc_set() argument
1633 qed_get_offload_tc(struct qed_hwfn * p_hwfn) qed_get_offload_tc() argument
1641 qed_init_qm_pq(struct qed_hwfn * p_hwfn,struct qed_qm_info * qm_info,u8 tc,u32 pq_init_flags) qed_init_qm_pq() argument
1680 qed_init_qm_get_idx_from_flags(struct qed_hwfn * p_hwfn,unsigned long pq_flags) qed_init_qm_get_idx_from_flags() argument
1723 qed_init_qm_set_idx(struct qed_hwfn * p_hwfn,u32 pq_flags,u16 pq_val) qed_init_qm_set_idx() argument
1732 qed_get_cm_pq_idx(struct qed_hwfn * p_hwfn,u32 pq_flags) qed_get_cm_pq_idx() argument
1739 qed_get_cm_pq_idx_mcos(struct qed_hwfn * p_hwfn,u8 tc) qed_get_cm_pq_idx_mcos() argument
1755 qed_get_cm_pq_idx_vf(struct qed_hwfn * p_hwfn,u16 vf) qed_get_cm_pq_idx_vf() argument
1771 qed_get_cm_pq_idx_ofld_mtc(struct qed_hwfn * p_hwfn,u8 tc) qed_get_cm_pq_idx_ofld_mtc() argument
1782 qed_get_cm_pq_idx_llt_mtc(struct qed_hwfn * p_hwfn,u8 tc) qed_get_cm_pq_idx_llt_mtc() argument
1794 qed_init_qm_lb_pq(struct qed_hwfn * p_hwfn) qed_init_qm_lb_pq() argument
1805 qed_init_qm_ooo_pq(struct qed_hwfn * p_hwfn) qed_init_qm_ooo_pq() argument
1816 qed_init_qm_pure_ack_pq(struct qed_hwfn * p_hwfn) qed_init_qm_pure_ack_pq() argument
1828 qed_init_qm_mtc_pqs(struct qed_hwfn * p_hwfn) qed_init_qm_mtc_pqs() argument
1842 qed_init_qm_offload_pq(struct qed_hwfn * p_hwfn) qed_init_qm_offload_pq() argument
1853 qed_init_qm_low_latency_pq(struct qed_hwfn * p_hwfn) qed_init_qm_low_latency_pq() argument
1864 qed_init_qm_mcos_pqs(struct qed_hwfn * p_hwfn) qed_init_qm_mcos_pqs() argument
1877 qed_init_qm_vf_pqs(struct qed_hwfn * p_hwfn) qed_init_qm_vf_pqs() argument
1892 qed_init_qm_rl_pqs(struct qed_hwfn * p_hwfn) qed_init_qm_rl_pqs() argument
1906 qed_init_qm_pq_params(struct qed_hwfn * p_hwfn) qed_init_qm_pq_params() argument
1937 qed_init_qm_sanity(struct qed_hwfn * p_hwfn) qed_init_qm_sanity() argument
1959 qed_dp_init_qm_params(struct qed_hwfn * p_hwfn) qed_dp_init_qm_params() argument
2036 qed_init_qm_info(struct qed_hwfn * p_hwfn) qed_init_qm_info() argument
2065 qed_qm_reconf(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_qm_reconf() argument
2102 qed_alloc_qm_data(struct qed_hwfn * p_hwfn) qed_alloc_qm_data() argument
2159 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_resc_alloc() local
2357 qed_fw_err_handler(struct qed_hwfn * p_hwfn,u8 opcode,u16 echo,union event_ring_data * data,u8 fw_return_code) qed_fw_err_handler() argument
2378 qed_common_eqe_event(struct qed_hwfn * p_hwfn,u8 opcode,__le16 echo,union event_ring_data * data,u8 fw_return_code) qed_common_eqe_event() argument
2411 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_resc_setup() local
2451 qed_final_cleanup(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u16 id,bool is_vf) qed_final_cleanup() argument
2497 qed_calc_hw_mode(struct qed_hwfn * p_hwfn) qed_calc_hw_mode() argument
2553 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_init_cau_rt_data() local
2575 qed_init_cache_line_size(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_init_cache_line_size() argument
2630 qed_hw_init_common(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,int hw_mode) qed_hw_init_common() argument
2712 qed_hw_init_dpi_size(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u32 pwm_region_size,u32 n_cpus) qed_hw_init_dpi_size() argument
2746 qed_edpm_enabled(struct qed_hwfn * p_hwfn) qed_edpm_enabled() argument
2755 qed_hw_init_pf_doorbell_bar(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_hw_init_pf_doorbell_bar() argument
2849 qed_hw_init_port(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,int hw_mode) qed_hw_init_port() argument
2867 qed_hw_init_pf(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,struct qed_tunnel_info * p_tunn,int hw_mode,bool b_hw_start,enum qed_int_mode int_mode,bool allow_npar_tx_switch) qed_hw_init_pf() argument
2974 qed_pglueb_set_pfid_enable(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,bool b_enable) qed_pglueb_set_pfid_enable() argument
3001 qed_reset_mb_shadow(struct qed_hwfn * p_hwfn,struct qed_ptt * p_main_ptt) qed_reset_mb_shadow() argument
3023 qed_vf_start(struct qed_hwfn * p_hwfn,struct qed_hw_init_params * p_params) qed_vf_start() argument
3036 qed_pglueb_clear_err(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_pglueb_clear_err() argument
3047 struct qed_hwfn *p_hwfn; qed_hw_init() local
3279 qed_hw_timers_stop(struct qed_dev * cdev,struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_hw_timers_stop() argument
3316 struct qed_hwfn *p_hwfn = &cdev->hwfns[j]; qed_hw_timers_stop_all() local
3325 struct qed_hwfn *p_hwfn; qed_hw_stop() local
3444 struct qed_hwfn *p_hwfn = &cdev->hwfns[j]; qed_hw_stop_fastpath() local
3477 qed_hw_start_fastpath(struct qed_hwfn * p_hwfn) qed_hw_start_fastpath() argument
3500 qed_hw_hwfn_free(struct qed_hwfn * p_hwfn) qed_hw_hwfn_free() argument
3508 qed_hw_hwfn_prepare(struct qed_hwfn * p_hwfn) qed_hw_hwfn_prepare() argument
3539 get_function_id(struct qed_hwfn * p_hwfn) get_function_id() argument
3558 qed_hw_set_feat(struct qed_hwfn * p_hwfn) qed_hw_set_feat() argument
3658 __qed_hw_set_soft_resc_size(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,enum qed_resources res_id,u32 resc_max_val,u32 * p_mcp_resp) __qed_hw_set_soft_resc_size() argument
3711 qed_hw_set_soft_resc_size(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_hw_set_soft_resc_size() argument
3761 qed_hw_get_dflt_resc(struct qed_hwfn * p_hwfn,enum qed_resources res_id,u32 * p_resc_num,u32 * p_resc_start) qed_hw_get_dflt_resc() argument
3845 __qed_hw_set_resc_info(struct qed_hwfn * p_hwfn,enum qed_resources res_id) __qed_hw_set_resc_info() argument
3906 qed_hw_set_resc_info(struct qed_hwfn * p_hwfn) qed_hw_set_resc_info() argument
3920 qed_hw_get_ppfid_bitmap(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_hw_get_ppfid_bitmap() argument
3950 qed_hw_get_resc(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_hw_get_resc() argument
4043 qed_hw_get_nvm_info(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_hw_get_nvm_info() argument
4388 qed_get_num_funcs(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_get_num_funcs() argument
4449 qed_hw_info_port_num(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_hw_info_port_num() argument
4488 qed_get_eee_caps(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_get_eee_caps() argument
4510 qed_get_hw_info(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,enum qed_pci_personality personality) qed_get_hw_info() argument
4573 qed_get_dev_info(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_get_dev_info() argument
4629 qed_hw_prepare_single(struct qed_hwfn * p_hwfn,void __iomem * p_regview,void __iomem * p_doorbells,u64 db_phys_addr,enum qed_pci_personality personality) qed_hw_prepare_single() argument
4727 struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); qed_hw_prepare() local
4786 struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); qed_hw_remove() local
4794 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_hw_remove() local
4811 qed_fw_l2_queue(struct qed_hwfn * p_hwfn,u16 src_id,u16 * dst_id) qed_fw_l2_queue() argument
4830 qed_fw_vport(struct qed_hwfn * p_hwfn,u8 src_id,u8 * dst_id) qed_fw_vport() argument
4849 qed_fw_rss_eng(struct qed_hwfn * p_hwfn,u8 src_id,u8 * dst_id) qed_fw_rss_eng() argument
4868 qed_set_coalesce(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u32 hw_addr,void * p_eth_qzone,size_t eth_qzone_size,u8 timeset) qed_set_coalesce() argument
4891 struct qed_hwfn *p_hwfn; qed_set_queue_coalesce() local
4922 qed_set_rxq_coalesce(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u16 coalesce,struct qed_queue_cid * p_cid) qed_set_rxq_coalesce() argument
4961 qed_set_txq_coalesce(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u16 coalesce,struct qed_queue_cid * p_cid) qed_set_txq_coalesce() argument
5001 qed_configure_wfq_for_all_vports(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u32 min_pf_rate) qed_configure_wfq_for_all_vports() argument
5021 qed_init_wfq_default_param(struct qed_hwfn * p_hwfn,u32 min_pf_rate) qed_init_wfq_default_param() argument
5031 qed_disable_wfq_for_all_vports(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u32 min_pf_rate) qed_disable_wfq_for_all_vports() argument
5055 qed_init_wfq_param(struct qed_hwfn * p_hwfn,u16 vport_id,u32 req_rate,u32 min_pf_rate) qed_init_wfq_param() argument
5129 __qed_configure_vport_wfq(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u16 vp_id,u32 rate) __qed_configure_vport_wfq() argument
5155 __qed_configure_vp_wfq_on_link_change(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,u32 min_pf_rate) __qed_configure_vp_wfq_on_link_change() argument
5205 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_configure_vport_wfq() local
5239 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_configure_vp_wfq_on_link_change() local
5246 __qed_configure_pf_max_bandwidth(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,struct qed_mcp_link_state * p_link,u8 max_bw) __qed_configure_pf_max_bandwidth() argument
5289 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_configure_pf_max_bandwidth() local
5312 __qed_configure_pf_min_bandwidth(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt,struct qed_mcp_link_state * p_link,u8 min_bw) __qed_configure_pf_min_bandwidth() argument
5347 struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; qed_configure_pf_min_bandwidth() local
5379 qed_clean_wfq_db(struct qed_hwfn * p_hwfn,struct qed_ptt * p_ptt) qed_clean_wfq_db() argument
5428 struct qed_hwfn *p_hwfn = QED_LEADING_HWFN(cdev); qed_llh_clear_ppfid_filters() local
[all...]
H A Dqed_ptp.c26 static enum qed_resc_lock qed_ptcdev_to_resc(struct qed_hwfn *p_hwfn) in qed_ptcdev_to_resc() argument
28 switch (MFW_PORT(p_hwfn)) { in qed_ptcdev_to_resc()
42 static int qed_ptp_res_lock(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) in qed_ptp_res_lock() argument
48 resource = qed_ptcdev_to_resc(p_hwfn); in qed_ptp_res_lock()
54 rc = qed_mcp_resc_lock(p_hwfn, p_ptt, &params); in qed_ptp_res_lock()
61 if (p_hwfn->abs_pf_id < p_hwfn->cdev->num_ports_in_engine) in qed_ptp_res_lock()
64 DP_INFO(p_hwfn, "PF doesn't have lock ownership\n"); in qed_ptp_res_lock()
67 DP_INFO(p_hwfn, "Failed to acquire ptp resource lock\n"); in qed_ptp_res_lock()
74 static int qed_ptp_res_unlock(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) in qed_ptp_res_unlock() argument
80 resource = qed_ptcdev_to_resc(p_hwfn); in qed_ptp_res_unlock()
[all …]
H A Dqed_rdma.c38 int qed_rdma_bmap_alloc(struct qed_hwfn *p_hwfn, in qed_rdma_bmap_alloc() argument
41 DP_VERBOSE(p_hwfn, QED_MSG_RDMA, "max_count = %08x\n", max_count); in qed_rdma_bmap_alloc()
51 DP_VERBOSE(p_hwfn, QED_MSG_RDMA, "0\n"); in qed_rdma_bmap_alloc()
55 int qed_rdma_bmap_alloc_id(struct qed_hwfn *p_hwfn, in qed_rdma_bmap_alloc_id() argument
64 DP_VERBOSE(p_hwfn, QED_MSG_RDMA, "%s bitmap: allocated id %d\n", in qed_rdma_bmap_alloc_id()
70 void qed_bmap_set_id(struct qed_hwfn *p_hwfn, in qed_bmap_set_id() argument
79 void qed_bmap_release_id(struct qed_hwfn *p_hwfn, in qed_bmap_release_id() argument
89 DP_NOTICE(p_hwfn, "%s bitmap: id %d already released\n", in qed_bmap_release_id()
94 DP_VERBOSE(p_hwfn, QED_MSG_RDMA, "%s bitmap: released id %d\n", in qed_bmap_release_id()
98 int qed_bmap_test_id(struct qed_hwfn *p_hwfn, in qed_bmap_test_id() argument
[all …]
H A Dqed_int.c47 #define SB_ATTN_ALIGNED_SIZE(p_hwfn) \ argument
48 ALIGNED_TYPE_SIZE(struct atten_status_block, p_hwfn)
77 int (*cb)(struct qed_hwfn *p_hwfn);
90 static int qed_mcp_attn_cb(struct qed_hwfn *p_hwfn) in qed_mcp_attn_cb() argument
92 u32 tmp = qed_rd(p_hwfn, p_hwfn->p_dpc_ptt, MCP_REG_CPU_STATE); in qed_mcp_attn_cb()
95 DP_INFO(p_hwfn->cdev, "MCP_REG_CPU_STATE: %08x - Masking...\n", in qed_mcp_attn_cb()
97 qed_wr(p_hwfn, p_hwfn->p_dpc_ptt, MCP_REG_CPU_EVENT_MASK, in qed_mcp_attn_cb()
116 static int qed_pswhst_attn_cb(struct qed_hwfn *p_hwfn) in qed_pswhst_attn_cb() argument
118 u32 tmp = qed_rd(p_hwfn, p_hwfn->p_dpc_ptt, in qed_pswhst_attn_cb()
124 addr = qed_rd(p_hwfn, p_hwfn->p_dpc_ptt, in qed_pswhst_attn_cb()
[all …]
H A Dqed_mcp.c41 DRV_INNER_WR(p_hwfn, _p_ptt, drv_mb_addr, \
53 bool qed_mcp_is_init(struct qed_hwfn *p_hwfn) in qed_mcp_is_init() argument
55 if (!p_hwfn->mcp_info || !p_hwfn->mcp_info->public_base) in qed_mcp_is_init()
60 void qed_mcp_cmd_port_init(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) in qed_mcp_cmd_port_init() argument
62 u32 addr = SECTION_OFFSIZE_ADDR(p_hwfn->mcp_info->public_base, in qed_mcp_cmd_port_init()
64 u32 mfw_mb_offsize = qed_rd(p_hwfn, p_ptt, addr); in qed_mcp_cmd_port_init()
66 p_hwfn->mcp_info->port_addr = SECTION_ADDR(mfw_mb_offsize, in qed_mcp_cmd_port_init()
67 MFW_PORT(p_hwfn)); in qed_mcp_cmd_port_init()
68 DP_VERBOSE(p_hwfn, QED_MSG_SP, in qed_mcp_cmd_port_init()
70 p_hwfn->mcp_info->port_addr, MFW_PORT(p_hwfn)); in qed_mcp_cmd_port_init()
[all …]
H A Dqed_spq.c48 static void qed_spq_blocking_cb(struct qed_hwfn *p_hwfn, in qed_spq_blocking_cb() argument
62 static int __qed_spq_block(struct qed_hwfn *p_hwfn, in __qed_spq_block() argument
90 static int qed_spq_block(struct qed_hwfn *p_hwfn, in qed_spq_block() argument
102 rc = __qed_spq_block(p_hwfn, p_ent, p_fw_ret, false); in qed_spq_block()
108 rc = __qed_spq_block(p_hwfn, p_ent, p_fw_ret, true); in qed_spq_block()
112 p_ptt = qed_ptt_acquire(p_hwfn); in qed_spq_block()
114 DP_NOTICE(p_hwfn, "ptt, failed to acquire\n"); in qed_spq_block()
118 DP_INFO(p_hwfn, "Ramrod is stuck, requesting MCP drain\n"); in qed_spq_block()
119 rc = qed_mcp_drain(p_hwfn, p_ptt); in qed_spq_block()
120 qed_ptt_release(p_hwfn, p_ptt); in qed_spq_block()
[all …]
H A Dqed_vf.c13 static void *qed_vf_pf_prep(struct qed_hwfn *p_hwfn, u16 type, u16 length) in qed_vf_pf_prep() argument
15 struct qed_vf_iov *p_iov = p_hwfn->vf_iov_info; in qed_vf_pf_prep()
25 DP_VERBOSE(p_hwfn, in qed_vf_pf_prep()
38 p_tlv = qed_add_tlv(p_hwfn, &p_iov->offset, type, length); in qed_vf_pf_prep()
47 static void qed_vf_pf_req_end(struct qed_hwfn *p_hwfn, int req_status) in qed_vf_pf_req_end() argument
49 union pfvf_tlvs *resp = p_hwfn->vf_iov_info->pf2vf_reply; in qed_vf_pf_req_end()
51 DP_VERBOSE(p_hwfn, QED_MSG_IOV, in qed_vf_pf_req_end()
55 mutex_unlock(&(p_hwfn->vf_iov_info->mutex)); in qed_vf_pf_req_end()
63 static int qed_send_msg2pf(struct qed_hwfn *p_hwfn, u8 *done) in qed_send_msg2pf() argument
65 union vfpf_tlvs *p_req = p_hwfn->vf_iov_info->vf2pf_request; in qed_send_msg2pf()
[all …]
H A Dqed_hw.c47 int qed_ptt_pool_alloc(struct qed_hwfn *p_hwfn) in qed_ptt_pool_alloc() argument
60 p_pool->ptts[i].hwfn_id = p_hwfn->my_id; in qed_ptt_pool_alloc()
66 p_hwfn->p_ptt_pool = p_pool; in qed_ptt_pool_alloc()
72 void qed_ptt_pool_free(struct qed_hwfn *p_hwfn) in qed_ptt_pool_free() argument
74 kfree(p_hwfn->p_ptt_pool); in qed_ptt_pool_free()
75 p_hwfn->p_ptt_pool = NULL; in qed_ptt_pool_free()
78 struct qed_ptt *qed_ptt_acquire(struct qed_hwfn *p_hwfn) in qed_ptt_acquire() argument
80 return qed_ptt_acquire_context(p_hwfn, false); in qed_ptt_acquire()
83 struct qed_ptt *qed_ptt_acquire_context(struct qed_hwfn *p_hwfn, bool is_atomic) in qed_ptt_acquire_context() argument
95 spin_lock_bh(&p_hwfn->p_ptt_pool->lock); in qed_ptt_acquire_context()
[all …]
H A Dqed_init_fw_funcs.c172 #define QM_INIT_TX_PQ_MAP(p_hwfn, map, pq_id, vp_pq_id, rl_valid, \ argument
188 STORE_RT_REG((p_hwfn), QM_REG_TXPQMAP_RT_OFFSET + (pq_id), \
282 static u8 qed_get_ext_voq(struct qed_hwfn *p_hwfn, in qed_get_ext_voq() argument
292 static void qed_enable_pf_rl(struct qed_hwfn *p_hwfn, bool pf_rl_en) in qed_enable_pf_rl() argument
294 STORE_RT_REG(p_hwfn, QM_REG_RLPFENABLE_RT_OFFSET, pf_rl_en ? 1 : 0); in qed_enable_pf_rl()
300 STORE_RT_REG(p_hwfn, in qed_enable_pf_rl()
305 STORE_RT_REG(p_hwfn, in qed_enable_pf_rl()
307 STORE_RT_REG(p_hwfn, in qed_enable_pf_rl()
313 STORE_RT_REG(p_hwfn, in qed_enable_pf_rl()
320 static void qed_enable_pf_wfq(struct qed_hwfn *p_hwfn, bool pf_wfq_en) in qed_enable_pf_wfq() argument
[all …]
H A Dqed_cxt.c83 #define CONN_CXT_SIZE(p_hwfn) \ argument
84 ALIGNED_TYPE_SIZE(union conn_context, p_hwfn)
89 #define TYPE0_TASK_CXT_SIZE(p_hwfn) \ argument
90 ALIGNED_TYPE_SIZE(union type0_task_context, p_hwfn)
93 #define TYPE1_TASK_CXT_SIZE(p_hwfn) sizeof(union type1_task_context) argument
164 static void qed_cxt_tm_iids(struct qed_hwfn *p_hwfn, in qed_cxt_tm_iids() argument
222 static void qed_cxt_qm_iids(struct qed_hwfn *p_hwfn, in qed_cxt_qm_iids() argument
225 struct qed_cxt_mngr *p_mngr = p_hwfn->p_cxt_mngr; in qed_cxt_qm_iids()
251 DP_VERBOSE(p_hwfn, QED_MSG_ILT, in qed_cxt_qm_iids()
256 static struct qed_tid_seg *qed_cxt_tid_seg_info(struct qed_hwfn *p_hwfn, in qed_cxt_tid_seg_info() argument
[all …]
H A Dqed_iwarp.c62 static int qed_iwarp_async_event(struct qed_hwfn *p_hwfn, u8 fw_event_code,
67 void qed_iwarp_init_devinfo(struct qed_hwfn *p_hwfn) in qed_iwarp_init_devinfo() argument
69 struct qed_rdma_device *dev = p_hwfn->p_rdma_info->dev; in qed_iwarp_init_devinfo()
74 p_hwfn->p_rdma_info->num_qps) - in qed_iwarp_init_devinfo()
83 void qed_iwarp_init_hw(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) in qed_iwarp_init_hw() argument
85 p_hwfn->rdma_prs_search_reg = PRS_REG_SEARCH_TCP; in qed_iwarp_init_hw()
86 qed_wr(p_hwfn, p_ptt, p_hwfn->rdma_prs_search_reg, 1); in qed_iwarp_init_hw()
87 p_hwfn->b_rdma_enabled_in_prs = true; in qed_iwarp_init_hw()
94 static void qed_iwarp_cid_cleaned(struct qed_hwfn *p_hwfn, u32 cid) in qed_iwarp_cid_cleaned() argument
96 cid -= qed_cxt_get_proto_cid_start(p_hwfn, p_hwfn->p_rdma_info->proto); in qed_iwarp_cid_cleaned()
[all …]
H A Dqed_sriov.c23 static int qed_iov_bulletin_set_mac(struct qed_hwfn *p_hwfn, u8 *mac, int vfid);
46 static int qed_sp_vf_start(struct qed_hwfn *p_hwfn, struct qed_vf_info *p_vf) in qed_sp_vf_start() argument
56 init_data.cid = qed_spq_get_cid(p_hwfn); in qed_sp_vf_start()
60 rc = qed_sp_init_request(p_hwfn, &p_ent, in qed_sp_vf_start()
71 switch (p_hwfn->hw_info.personality) { in qed_sp_vf_start()
80 DP_NOTICE(p_hwfn, "Unknown VF personality %d\n", in qed_sp_vf_start()
81 p_hwfn->hw_info.personality); in qed_sp_vf_start()
82 qed_sp_destroy_request(p_hwfn, p_ent); in qed_sp_vf_start()
89 DP_VERBOSE(p_hwfn, in qed_sp_vf_start()
101 DP_VERBOSE(p_hwfn, QED_MSG_IOV, in qed_sp_vf_start()
[all …]
H A Dqed_roce.c38 static void qed_roce_free_real_icid(struct qed_hwfn *p_hwfn, u16 icid);
40 static int qed_roce_async_event(struct qed_hwfn *p_hwfn, u8 fw_event_code, in qed_roce_async_event() argument
44 struct qed_rdma_events events = p_hwfn->p_rdma_info->events; in qed_roce_async_event()
54 qed_roce_free_real_icid(p_hwfn, icid); in qed_roce_async_event()
69 void qed_roce_stop(struct qed_hwfn *p_hwfn) in qed_roce_stop() argument
71 struct qed_bmap *rcid_map = &p_hwfn->p_rdma_info->real_cid_map; in qed_roce_stop()
85 if (p_hwfn->cdev->recov_in_prog) in qed_roce_stop()
90 DP_NOTICE(p_hwfn, "cid bitmap wait timed out\n"); in qed_roce_stop()
132 static void qed_roce_free_cid_pair(struct qed_hwfn *p_hwfn, u16 cid) in qed_roce_free_cid_pair() argument
134 spin_lock_bh(&p_hwfn->p_rdma_info->lock); in qed_roce_free_cid_pair()
[all …]
H A Dqed_sp_commands.c24 void qed_sp_destroy_request(struct qed_hwfn *p_hwfn, in qed_sp_destroy_request() argument
31 if (p_ent->queue == &p_hwfn->p_spq->unlimited_pending) in qed_sp_destroy_request()
34 qed_spq_return_entry(p_hwfn, p_ent); in qed_sp_destroy_request()
37 int qed_sp_init_request(struct qed_hwfn *p_hwfn, in qed_sp_init_request() argument
48 rc = qed_spq_get_entry(p_hwfn, pp_ent); in qed_sp_init_request()
83 DP_NOTICE(p_hwfn, "Unknown SPQE completion mode %d\n", in qed_sp_init_request()
88 DP_VERBOSE(p_hwfn, in qed_sp_init_request()
103 qed_sp_destroy_request(p_hwfn, p_ent); in qed_sp_init_request()
203 qed_tunn_set_pf_update_params(struct qed_hwfn *p_hwfn, in qed_tunn_set_pf_update_params() argument
207 struct qed_tunnel_info *p_tun = &p_hwfn->cdev->tunnel; in qed_tunn_set_pf_update_params()
[all …]
H A Dqed_mcp.h277 struct qed_mcp_link_params *qed_mcp_get_link_params(struct qed_hwfn *p_hwfn);
286 struct qed_mcp_link_state *qed_mcp_get_link_state(struct qed_hwfn *p_hwfn);
297 *qed_mcp_get_link_capabilities(struct qed_hwfn *p_hwfn);
309 int qed_mcp_set_link(struct qed_hwfn *p_hwfn,
323 int qed_mcp_get_mfw_ver(struct qed_hwfn *p_hwfn,
336 int qed_mcp_get_mbi_ver(struct qed_hwfn *p_hwfn,
349 int qed_mcp_get_media_type(struct qed_hwfn *p_hwfn,
363 int qed_mcp_get_transceiver_data(struct qed_hwfn *p_hwfn,
379 int qed_mcp_trans_speed_mask(struct qed_hwfn *p_hwfn,
392 int qed_mcp_get_board_config(struct qed_hwfn *p_hwfn,
[all …]
H A Dqed_ll2.c68 static u8 qed_ll2_handle_to_stats_id(struct qed_hwfn *p_hwfn, in qed_ll2_handle_to_stats_id() argument
83 stats_id = MAX_NUM_LL2_RX_RAM_QUEUES + p_hwfn->abs_pf_id; in qed_ll2_handle_to_stats_id()
98 struct qed_hwfn *p_hwfn = cxt; in qed_ll2b_complete_tx_packet() local
99 struct qed_dev *cdev = p_hwfn->cdev; in qed_ll2b_complete_tx_packet()
103 dma_unmap_single(&p_hwfn->cdev->pdev->dev, first_frag_addr, in qed_ll2b_complete_tx_packet()
167 struct qed_hwfn *p_hwfn = cxt; in qed_ll2b_complete_rx_packet() local
169 struct qed_dev *cdev = p_hwfn->cdev; in qed_ll2b_complete_rx_packet()
176 DP_VERBOSE(p_hwfn, in qed_ll2b_complete_rx_packet()
197 rc = qed_ll2_alloc_buffer(p_hwfn->cdev, &new_data, in qed_ll2b_complete_rx_packet()
233 DP_VERBOSE(p_hwfn, (NETIF_MSG_RX_STATUS | NETIF_MSG_PKTDATA | in qed_ll2b_complete_rx_packet()
[all …]
H A Dqed_init_ops.c127 void qed_init_store_rt_reg(struct qed_hwfn *p_hwfn, u32 rt_offset, u32 val) in qed_init_store_rt_reg() argument
130 DP_ERR(p_hwfn, in qed_init_store_rt_reg()
136 p_hwfn->rt_data.init_val[rt_offset] = val; in qed_init_store_rt_reg()
137 p_hwfn->rt_data.b_valid[rt_offset] = true; in qed_init_store_rt_reg()
140 void qed_init_store_rt_agg(struct qed_hwfn *p_hwfn, in qed_init_store_rt_agg() argument
146 DP_ERR(p_hwfn, in qed_init_store_rt_agg()
154 p_hwfn->rt_data.init_val[rt_offset + i] = p_val[i]; in qed_init_store_rt_agg()
155 p_hwfn->rt_data.b_valid[rt_offset + i] = true; in qed_init_store_rt_agg()
159 static int qed_init_rt(struct qed_hwfn *p_hwfn, in qed_init_rt() argument
163 u32 *p_init_val = &p_hwfn->rt_data.init_val[rt_offset]; in qed_init_rt()
[all …]
H A Dqed_int.h64 void qed_int_igu_enable_int(struct qed_hwfn *p_hwfn,
76 void qed_int_igu_disable_int(struct qed_hwfn *p_hwfn,
87 u64 qed_int_igu_read_sisr_reg(struct qed_hwfn *p_hwfn);
105 int qed_int_sb_init(struct qed_hwfn *p_hwfn,
120 void qed_int_sb_setup(struct qed_hwfn *p_hwfn,
137 int qed_int_sb_release(struct qed_hwfn *p_hwfn,
161 void qed_int_get_num_sbs(struct qed_hwfn *p_hwfn,
198 int qed_int_get_sb_dbg(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt,
211 int qed_db_rec_handler(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt);
219 #define SB_ALIGNED_SIZE(p_hwfn) \ argument
[all …]
H A Dqed_ooo.h61 void qed_ooo_save_history_entry(struct qed_hwfn *p_hwfn,
65 int qed_ooo_alloc(struct qed_hwfn *p_hwfn);
67 void qed_ooo_setup(struct qed_hwfn *p_hwfn);
69 void qed_ooo_free(struct qed_hwfn *p_hwfn);
71 void qed_ooo_release_connection_isles(struct qed_hwfn *p_hwfn,
75 void qed_ooo_release_all_isles(struct qed_hwfn *p_hwfn,
78 void qed_ooo_put_free_buffer(struct qed_hwfn *p_hwfn,
83 qed_ooo_get_free_buffer(struct qed_hwfn *p_hwfn,
86 void qed_ooo_put_ready_buffer(struct qed_hwfn *p_hwfn,
91 qed_ooo_get_ready_buffer(struct qed_hwfn *p_hwfn,
[all …]
H A Dqed_debug.c910 static void qed_grc_set_param(struct qed_hwfn *p_hwfn, in qed_grc_set_param() argument
913 struct dbg_tools_data *dev_data = &p_hwfn->dbg_info; in qed_grc_set_param()
919 static u32 qed_grc_get_param(struct qed_hwfn *p_hwfn, in qed_grc_get_param() argument
922 struct dbg_tools_data *dev_data = &p_hwfn->dbg_info; in qed_grc_get_param()
928 static void qed_dbg_grc_init_params(struct qed_hwfn *p_hwfn) in qed_dbg_grc_init_params() argument
930 struct dbg_tools_data *dev_data = &p_hwfn->dbg_info; in qed_dbg_grc_init_params()
933 qed_dbg_grc_set_params_default(p_hwfn); in qed_dbg_grc_init_params()
939 static void qed_set_dbg_bin_buf(struct qed_hwfn *p_hwfn, in qed_set_dbg_bin_buf() argument
943 struct virt_mem_desc *buf = &p_hwfn->dbg_arrays[buf_type]; in qed_set_dbg_bin_buf()
950 static enum dbg_status qed_dbg_dev_init(struct qed_hwfn *p_hwfn) in qed_dbg_dev_init() argument
[all …]
H A Dqed_sp.h26 void (*function)(struct qed_hwfn *p_hwfn,
42 int qed_eth_cqe_completion(struct qed_hwfn *p_hwfn,
157 typedef int (*qed_spq_async_comp_cb)(struct qed_hwfn *p_hwfn, u8 opcode,
162 qed_spq_register_async_cb(struct qed_hwfn *p_hwfn,
167 qed_spq_unregister_async_cb(struct qed_hwfn *p_hwfn,
214 int qed_spq_post(struct qed_hwfn *p_hwfn,
225 int qed_spq_alloc(struct qed_hwfn *p_hwfn);
234 void qed_spq_setup(struct qed_hwfn *p_hwfn);
243 void qed_spq_free(struct qed_hwfn *p_hwfn);
255 qed_spq_get_entry(struct qed_hwfn *p_hwfn,
[all …]
H A Dqed_selftest.c42 struct qed_hwfn *p_hwfn; in qed_selftest_register() local
48 p_hwfn = &cdev->hwfns[i]; in qed_selftest_register()
49 p_ptt = qed_ptt_acquire(p_hwfn); in qed_selftest_register()
51 DP_ERR(p_hwfn, "failed to acquire ptt\n"); in qed_selftest_register()
54 rc = qed_mcp_bist_register_test(p_hwfn, p_ptt); in qed_selftest_register()
55 qed_ptt_release(p_hwfn, p_ptt); in qed_selftest_register()
65 struct qed_hwfn *p_hwfn; in qed_selftest_clock() local
71 p_hwfn = &cdev->hwfns[i]; in qed_selftest_clock()
72 p_ptt = qed_ptt_acquire(p_hwfn); in qed_selftest_clock()
74 DP_ERR(p_hwfn, "failed to acquire ptt\n"); in qed_selftest_clock()
[all …]
H A Dqed_cxt.h38 int qed_cxt_get_cid_info(struct qed_hwfn *p_hwfn,
49 int qed_cxt_get_tid_mem_info(struct qed_hwfn *p_hwfn,
62 u32 qed_cxt_get_proto_cid_count(struct qed_hwfn *p_hwfn,
73 int qed_cxt_set_pf_params(struct qed_hwfn *p_hwfn, u32 rdma_tasks);
83 int qed_cxt_cfg_ilt_compute(struct qed_hwfn *p_hwfn, u32 *last_line);
93 u32 qed_cxt_cfg_ilt_compute_excess(struct qed_hwfn *p_hwfn, u32 used_lines);
102 int qed_cxt_mngr_alloc(struct qed_hwfn *p_hwfn);
111 void qed_cxt_mngr_free(struct qed_hwfn *p_hwfn);
120 int qed_cxt_tables_alloc(struct qed_hwfn *p_hwfn);
127 void qed_cxt_mngr_setup(struct qed_hwfn *p_hwfn);
[all …]
H A Dqed_ooo.c21 *qed_ooo_seek_archipelago(struct qed_hwfn *p_hwfn, in qed_ooo_seek_archipelago() argument
40 static struct qed_ooo_isle *qed_ooo_seek_isle(struct qed_hwfn *p_hwfn, in qed_ooo_seek_isle() argument
48 p_archipelago = qed_ooo_seek_archipelago(p_hwfn, p_ooo_info, cid); in qed_ooo_seek_isle()
50 DP_NOTICE(p_hwfn, in qed_ooo_seek_isle()
64 void qed_ooo_save_history_entry(struct qed_hwfn *p_hwfn, in qed_ooo_save_history_entry() argument
76 int qed_ooo_alloc(struct qed_hwfn *p_hwfn) in qed_ooo_alloc() argument
84 switch (p_hwfn->hw_info.personality) { in qed_ooo_alloc()
94 DP_NOTICE(p_hwfn, in qed_ooo_alloc()
99 max_num_archipelagos = (u16)qed_cxt_get_proto_cid_count(p_hwfn, proto, in qed_ooo_alloc()
102 cid_base = (u16)qed_cxt_get_proto_cid_start(p_hwfn, proto); in qed_ooo_alloc()
[all …]
H A Dqed_fcoe.c86 qed_sp_fcoe_func_start(struct qed_hwfn *p_hwfn, in qed_sp_fcoe_func_start() argument
104 init_data.cid = qed_spq_get_cid(p_hwfn); in qed_sp_fcoe_func_start()
105 init_data.opaque_fid = p_hwfn->hw_info.opaque_fid; in qed_sp_fcoe_func_start()
109 rc = qed_sp_init_request(p_hwfn, &p_ent, in qed_sp_fcoe_func_start()
117 fcoe_pf_params = &p_hwfn->pf_params.fcoe_pf_params; in qed_sp_fcoe_func_start()
120 if (fcoe_pf_params->num_cqs > p_hwfn->hw_info.feat_num[QED_FCOE_CQ]) { in qed_sp_fcoe_func_start()
121 DP_ERR(p_hwfn, in qed_sp_fcoe_func_start()
124 p_hwfn->hw_info.feat_num[QED_FCOE_CQ]); in qed_sp_fcoe_func_start()
133 rc = qed_cxt_acquire_cid(p_hwfn, PROTOCOLID_FCOE, &dummy_cid); in qed_sp_fcoe_func_start()
138 rc = qed_cxt_get_cid_info(p_hwfn, &cxt_info); in qed_sp_fcoe_func_start()
[all …]

12