Home
last modified time | relevance | path

Searched refs:hinic3_hwdev (Results 1 – 25 of 31) sorted by relevance

12

/linux/drivers/net/ethernet/huawei/hinic3/
H A Dhinic3_hw_comm.h9 struct hinic3_hwdev;
24 int hinic3_set_interrupt_cfg_direct(struct hinic3_hwdev *hwdev,
26 int hinic3_set_interrupt_cfg(struct hinic3_hwdev *hwdev,
28 int hinic3_func_reset(struct hinic3_hwdev *hwdev, u16 func_id, u64 reset_flag);
30 int hinic3_get_comm_features(struct hinic3_hwdev *hwdev, u64 *s_feature,
32 int hinic3_set_comm_features(struct hinic3_hwdev *hwdev, u64 *s_feature,
34 int hinic3_get_global_attr(struct hinic3_hwdev *hwdev,
36 int hinic3_set_func_svc_used_state(struct hinic3_hwdev *hwdev, u16 svc_type,
38 int hinic3_set_dma_attr_tbl(struct hinic3_hwdev *hwdev, u8 entry_idx, u8 st,
41 int hinic3_set_wq_page_size(struct hinic3_hwdev *hwdev, u16 func_idx,
[all …]
H A Dhinic3_nic_cfg.h12 struct hinic3_hwdev;
78 int hinic3_set_rx_lro_state(struct hinic3_hwdev *hwdev, u8 lro_en,
80 int hinic3_set_rx_vlan_offload(struct hinic3_hwdev *hwdev, u8 en);
81 int hinic3_set_vlan_filter(struct hinic3_hwdev *hwdev, u32 vlan_filter_ctrl);
86 int hinic3_get_default_mac(struct hinic3_hwdev *hwdev, u8 *mac_addr);
87 int hinic3_set_mac(struct hinic3_hwdev *hwdev, const u8 *mac_addr, u16 vlan_id,
89 int hinic3_del_mac(struct hinic3_hwdev *hwdev, const u8 *mac_addr, u16 vlan_id,
91 int hinic3_update_mac(struct hinic3_hwdev *hwdev, const u8 *old_mac,
94 int hinic3_set_ci_table(struct hinic3_hwdev *hwdev,
96 int hinic3_flush_qps_res(struct hinic3_hwdev *hwdev);
[all …]
H A Dhinic3_eqs.h48 struct hinic3_hwdev *hwdev;
73 typedef void (*hinic3_aeq_event_cb)(struct hinic3_hwdev *hwdev, u8 *data,
77 struct hinic3_hwdev *hwdev;
91 typedef void (*hinic3_ceq_event_cb)(struct hinic3_hwdev *hwdev,
95 struct hinic3_hwdev *hwdev;
105 int hinic3_aeqs_init(struct hinic3_hwdev *hwdev, u16 num_aeqs,
107 void hinic3_aeqs_free(struct hinic3_hwdev *hwdev);
108 int hinic3_aeq_register_cb(struct hinic3_hwdev *hwdev,
111 void hinic3_aeq_unregister_cb(struct hinic3_hwdev *hwdev,
113 int hinic3_ceqs_init(struct hinic3_hwdev *hwdev, u16 num_ceqs,
[all …]
H A Dhinic3_hwif.h10 struct hinic3_hwdev;
90 int hinic3_alloc_db_addr(struct hinic3_hwdev *hwdev, void __iomem **db_base,
92 void hinic3_free_db_addr(struct hinic3_hwdev *hwdev, const u8 __iomem *db_base);
98 int hinic3_init_hwif(struct hinic3_hwdev *hwdev);
99 void hinic3_free_hwif(struct hinic3_hwdev *hwdev);
101 void hinic3_set_msix_state(struct hinic3_hwdev *hwdev, u16 msix_idx,
103 void hinic3_msix_intr_clear_resend_bit(struct hinic3_hwdev *hwdev, u16 msix_idx,
105 void hinic3_set_msix_auto_mask_state(struct hinic3_hwdev *hwdev, u16 msix_idx,
108 u16 hinic3_global_func_id(struct hinic3_hwdev *hwdev);
109 u8 hinic3_pf_id_of_vf(struct hinic3_hwdev *hwdev);
[all …]
H A Dhinic3_hw_cfg.h10 struct hinic3_hwdev;
45 int hinic3_init_cfg_mgmt(struct hinic3_hwdev *hwdev);
46 void hinic3_free_cfg_mgmt(struct hinic3_hwdev *hwdev);
48 int hinic3_alloc_irqs(struct hinic3_hwdev *hwdev, u16 num,
50 void hinic3_free_irq(struct hinic3_hwdev *hwdev, u32 irq_id);
52 int hinic3_init_capability(struct hinic3_hwdev *hwdev);
53 bool hinic3_support_nic(struct hinic3_hwdev *hwdev);
54 u16 hinic3_func_max_qnum(struct hinic3_hwdev *hwdev);
55 u8 hinic3_physical_port_id(struct hinic3_hwdev *hwdev);
H A Dhinic3_cmdq.h119 struct hinic3_hwdev *hwdev;
123 struct hinic3_hwdev *hwdev;
141 int hinic3_cmdqs_init(struct hinic3_hwdev *hwdev);
142 void hinic3_cmdqs_free(struct hinic3_hwdev *hwdev);
144 struct hinic3_cmd_buf *hinic3_alloc_cmd_buf(struct hinic3_hwdev *hwdev);
145 void hinic3_free_cmd_buf(struct hinic3_hwdev *hwdev,
147 void hinic3_cmdq_ceq_handler(struct hinic3_hwdev *hwdev, __le32 ceqe_data);
149 int hinic3_cmdq_direct_resp(struct hinic3_hwdev *hwdev, u8 mod, u8 cmd,
152 void hinic3_cmdq_flush_sync_cmd(struct hinic3_hwdev *hwdev);
153 int hinic3_reinit_cmdq_ctxts(struct hinic3_hwdev *hwdev);
H A Dhinic3_hwdev.c48 static int hinic3_comm_aeqs_init(struct hinic3_hwdev *hwdev) in hinic3_comm_aeqs_init()
89 static int hinic3_comm_ceqs_init(struct hinic3_hwdev *hwdev) in hinic3_comm_ceqs_init()
132 static int hinic3_comm_mbox_init(struct hinic3_hwdev *hwdev) in hinic3_comm_mbox_init()
150 static void hinic3_comm_mbox_free(struct hinic3_hwdev *hwdev) in hinic3_comm_mbox_free()
160 static int init_aeqs_msix_attr(struct hinic3_hwdev *hwdev) in init_aeqs_msix_attr()
187 static int init_ceqs_msix_attr(struct hinic3_hwdev *hwdev) in init_ceqs_msix_attr()
214 static int hinic3_comm_pf_to_mgmt_init(struct hinic3_hwdev *hwdev) in hinic3_comm_pf_to_mgmt_init()
230 static void hinic3_comm_pf_to_mgmt_free(struct hinic3_hwdev *hwdev) in hinic3_comm_pf_to_mgmt_free()
244 static int init_basic_mgmt_channel(struct hinic3_hwdev *hwdev) in init_basic_mgmt_channel()
276 static void free_base_mgmt_channel(struct hinic3_hwdev *hwdev) in free_base_mgmt_channel()
[all …]
H A Dhinic3_hw_cfg.c13 static void hinic3_parse_pub_res_cap(struct hinic3_hwdev *hwdev, in hinic3_parse_pub_res_cap()
22 static void hinic3_parse_l2nic_res_cap(struct hinic3_hwdev *hwdev, in hinic3_parse_l2nic_res_cap()
33 static void hinic3_parse_dev_cap(struct hinic3_hwdev *hwdev, in hinic3_parse_dev_cap()
47 static int get_cap_from_fw(struct hinic3_hwdev *hwdev, in get_cap_from_fw()
72 static int hinic3_init_irq_info(struct hinic3_hwdev *hwdev) in hinic3_init_irq_info()
99 static int hinic3_init_irq_alloc_info(struct hinic3_hwdev *hwdev) in hinic3_init_irq_alloc_info()
127 int hinic3_init_cfg_mgmt(struct hinic3_hwdev *hwdev) in hinic3_init_cfg_mgmt()
163 void hinic3_free_cfg_mgmt(struct hinic3_hwdev *hwdev) in hinic3_free_cfg_mgmt()
173 int hinic3_alloc_irqs(struct hinic3_hwdev *hwdev, u16 num, in hinic3_alloc_irqs()
198 void hinic3_free_irq(struct hinic3_hwdev *hwdev, u32 irq_id) in hinic3_free_irq()
[all …]
H A Dhinic3_nic_cfg.c16 static int hinic3_feature_nego(struct hinic3_hwdev *hwdev, u8 opcode, in hinic3_feature_nego()
65 static int hinic3_set_rx_lro(struct hinic3_hwdev *hwdev, u8 ipv4_en, u8 ipv6_en, in hinic3_set_rx_lro()
94 static int hinic3_set_rx_lro_timer(struct hinic3_hwdev *hwdev, u32 timer_value) in hinic3_set_rx_lro_timer()
120 int hinic3_set_rx_lro_state(struct hinic3_hwdev *hwdev, u8 lro_en, in hinic3_set_rx_lro_state()
145 int hinic3_set_rx_vlan_offload(struct hinic3_hwdev *hwdev, u8 en) in hinic3_set_rx_vlan_offload()
170 int hinic3_set_vlan_filter(struct hinic3_hwdev *hwdev, u32 vlan_filter_ctrl) in hinic3_set_vlan_filter()
200 static int hinic3_set_function_table(struct hinic3_hwdev *hwdev, u32 cfg_bitmap, in hinic3_set_function_table()
247 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_set_port_mtu()
255 static bool hinic3_check_vf_set_by_pf(struct hinic3_hwdev *hwdev, in hinic3_check_vf_set_by_pf()
261 static int hinic3_check_mac_info(struct hinic3_hwdev *hwdev, u8 status, in hinic3_check_mac_info()
[all …]
H A Dhinic3_hw_comm.c12 static int hinic3_get_interrupt_cfg(struct hinic3_hwdev *hwdev, in hinic3_get_interrupt_cfg()
42 int hinic3_set_interrupt_cfg_direct(struct hinic3_hwdev *hwdev, in hinic3_set_interrupt_cfg_direct()
73 int hinic3_set_interrupt_cfg(struct hinic3_hwdev *hwdev, in hinic3_set_interrupt_cfg()
97 int hinic3_func_reset(struct hinic3_hwdev *hwdev, u16 func_id, u64 reset_flag) in hinic3_func_reset()
120 static int hinic3_comm_features_nego(struct hinic3_hwdev *hwdev, u8 opcode, in hinic3_comm_features_nego()
151 int hinic3_get_comm_features(struct hinic3_hwdev *hwdev, u64 *s_feature, in hinic3_get_comm_features()
158 int hinic3_set_comm_features(struct hinic3_hwdev *hwdev, u64 *s_feature, in hinic3_set_comm_features()
165 int hinic3_get_global_attr(struct hinic3_hwdev *hwdev, in hinic3_get_global_attr()
188 int hinic3_set_func_svc_used_state(struct hinic3_hwdev *hwdev, u16 svc_type, in hinic3_set_func_svc_used_state()
215 int hinic3_set_dma_attr_tbl(struct hinic3_hwdev *hwdev, u8 entry_idx, u8 st, in hinic3_set_dma_attr_tbl()
[all …]
H A Dhinic3_mbox.h10 struct hinic3_hwdev;
114 struct hinic3_hwdev *hwdev;
131 void hinic3_mbox_func_aeqe_handler(struct hinic3_hwdev *hwdev, u8 *header,
133 int hinic3_init_mbox(struct hinic3_hwdev *hwdev);
134 void hinic3_free_mbox(struct hinic3_hwdev *hwdev);
136 int hinic3_send_mbox_to_mgmt(struct hinic3_hwdev *hwdev, u8 mod, u16 cmd,
138 void hinic3_response_mbox_to_mgmt(struct hinic3_hwdev *hwdev, u8 mod, u16 cmd,
140 int hinic3_send_mbox_to_mgmt_no_ack(struct hinic3_hwdev *hwdev, u8 mod, u16 cmd,
H A Dhinic3_mgmt.h12 struct hinic3_hwdev;
38 struct hinic3_hwdev *hwdev;
62 int hinic3_pf_to_mgmt_init(struct hinic3_hwdev *hwdev);
63 void hinic3_pf_to_mgmt_free(struct hinic3_hwdev *hwdev);
64 void hinic3_flush_mgmt_workq(struct hinic3_hwdev *hwdev);
65 void hinic3_mgmt_msg_aeqe_handler(struct hinic3_hwdev *hwdev,
H A Dhinic3_hwif.c96 struct hinic3_hwdev *hwdev = priv_data; in check_hwif_ready_handler()
105 static int wait_hwif_ready(struct hinic3_hwdev *hwdev) in wait_hwif_ready()
135 static int init_hwif_attr(struct hinic3_hwdev *hwdev) in init_hwif_attr()
206 static void hinic3_set_ppf(struct hinic3_hwdev *hwdev) in hinic3_set_ppf()
284 void hinic3_free_db_addr(struct hinic3_hwdev *hwdev, const u8 __iomem *db_base) in hinic3_free_db_addr()
297 int hinic3_alloc_db_addr(struct hinic3_hwdev *hwdev, void __iomem **db_base, in hinic3_alloc_db_addr()
320 void hinic3_set_msix_state(struct hinic3_hwdev *hwdev, u16 msix_idx, in hinic3_set_msix_state()
341 static void disable_all_msix(struct hinic3_hwdev *hwdev) in disable_all_msix()
350 void hinic3_msix_intr_clear_resend_bit(struct hinic3_hwdev *hwdev, u16 msix_idx, in hinic3_msix_intr_clear_resend_bit()
365 void hinic3_set_msix_auto_mask_state(struct hinic3_hwdev *hwdev, u16 msix_idx, in hinic3_set_msix_auto_mask_state()
[all …]
H A Dhinic3_hwdev.h43 struct hinic3_hwdev *hwdev;
59 struct hinic3_hwdev { struct
90 struct hinic3_hwdev *hwdev; argument
98 void hinic3_free_hwdev(struct hinic3_hwdev *hwdev);
100 void hinic3_set_api_stop(struct hinic3_hwdev *hwdev);
H A Dhinic3_mbox.c85 struct hinic3_hwdev *hwdev = mbox->hwdev; in get_mbox_msg_desc()
190 void hinic3_mbox_func_aeqe_handler(struct hinic3_hwdev *hwdev, u8 *header, in hinic3_mbox_func_aeqe_handler()
212 static int init_mbox_dma_queue(struct hinic3_hwdev *hwdev, in init_mbox_dma_queue()
231 static void uninit_mbox_dma_queue(struct hinic3_hwdev *hwdev, in uninit_mbox_dma_queue()
317 static int hinic3_init_func_mbox_msg_channel(struct hinic3_hwdev *hwdev) in hinic3_init_func_mbox_msg_channel()
340 static void hinic3_uninit_func_mbox_msg_channel(struct hinic3_hwdev *hwdev) in hinic3_uninit_func_mbox_msg_channel()
359 struct hinic3_hwdev *hwdev = mbox->hwdev; in alloc_mbox_wb_status()
382 struct hinic3_hwdev *hwdev = mbox->hwdev; in free_mbox_wb_status()
393 static int hinic3_mbox_pre_init(struct hinic3_hwdev *hwdev, in hinic3_mbox_pre_init()
410 int hinic3_init_mbox(struct hinic3_hwdev *hwdev) in hinic3_init_mbox()
[all …]
H A Dhinic3_rss.c24 static int hinic3_rss_cfg(struct hinic3_hwdev *hwdev, u8 rss_en, u16 num_qps) in hinic3_rss_cfg()
95 static int hinic3_rss_set_indir_tbl(struct hinic3_hwdev *hwdev, in hinic3_rss_set_indir_tbl()
132 static int hinic3_set_rss_type(struct hinic3_hwdev *hwdev, in hinic3_set_rss_type()
168 static int hinic3_rss_cfg_hash_type(struct hinic3_hwdev *hwdev, u8 opcode, in hinic3_rss_cfg_hash_type()
200 static int hinic3_rss_set_hash_type(struct hinic3_hwdev *hwdev, in hinic3_rss_set_hash_type()
223 static int hinic3_rss_cfg_hash_key(struct hinic3_hwdev *hwdev, u8 opcode, in hinic3_rss_cfg_hash_key()
253 static int hinic3_rss_set_hash_key(struct hinic3_hwdev *hwdev, u8 *key) in hinic3_rss_set_hash_key()
306 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_try_to_enable_rss()
H A Dhinic3_wq.c14 static int wq_init_wq_block(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq) in wq_init_wq_block()
45 static int wq_alloc_pages(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq) in wq_alloc_pages()
62 static void wq_free_pages(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq) in wq_free_pages()
73 int hinic3_wq_create(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq, in hinic3_wq_create()
96 void hinic3_wq_destroy(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq) in hinic3_wq_destroy()
H A Dhinic3_cmdq.c119 struct hinic3_cmd_buf *hinic3_alloc_cmd_buf(struct hinic3_hwdev *hwdev) in hinic3_alloc_cmd_buf()
148 void hinic3_free_cmd_buf(struct hinic3_hwdev *hwdev, in hinic3_free_cmd_buf()
163 struct hinic3_hwdev *hwdev) in cmdq_clear_cmd_buf()
232 void hinic3_cmdq_ceq_handler(struct hinic3_hwdev *hwdev, __le32 ceqe_data) in hinic3_cmdq_ceq_handler()
560 int hinic3_cmdq_direct_resp(struct hinic3_hwdev *hwdev, u8 mod, u8 cmd, in hinic3_cmdq_direct_resp()
579 static void cmdq_init_queue_ctxt(struct hinic3_hwdev *hwdev, u8 cmdq_id, in cmdq_init_queue_ctxt()
606 static int init_cmdq(struct hinic3_cmdq *cmdq, struct hinic3_hwdev *hwdev, in init_cmdq()
626 static int hinic3_set_cmdq_ctxt(struct hinic3_hwdev *hwdev, u8 cmdq_id) in hinic3_set_cmdq_ctxt()
650 static int hinic3_set_cmdq_ctxts(struct hinic3_hwdev *hwdev) in hinic3_set_cmdq_ctxts()
668 static int create_cmdq_wq(struct hinic3_hwdev *hwdev, in create_cmdq_wq()
[all …]
H A Dhinic3_queue_common.h11 struct hinic3_hwdev;
26 int hinic3_queue_pages_alloc(struct hinic3_hwdev *hwdev,
28 void hinic3_queue_pages_free(struct hinic3_hwdev *hwdev,
H A Dhinic3_eqs.c106 int hinic3_aeq_register_cb(struct hinic3_hwdev *hwdev, in hinic3_aeq_register_cb()
119 void hinic3_aeq_unregister_cb(struct hinic3_hwdev *hwdev, in hinic3_aeq_unregister_cb()
131 int hinic3_ceq_register_cb(struct hinic3_hwdev *hwdev, in hinic3_ceq_register_cb()
144 void hinic3_ceq_unregister_cb(struct hinic3_hwdev *hwdev, in hinic3_ceq_unregister_cb()
185 struct hinic3_hwdev *hwdev = ceqs->hwdev; in ceq_event_handler()
209 struct hinic3_hwdev *hwdev = aeqs->hwdev; in aeq_event_handler()
336 struct hinic3_hwdev *hwdev; in aeq_interrupt()
366 static int hinic3_set_ceq_ctrl_reg(struct hinic3_hwdev *hwdev, u16 q_id, in hinic3_set_ceq_ctrl_reg()
560 static int init_eq(struct hinic3_eq *eq, struct hinic3_hwdev *hwdev, u16 q_id, in init_eq()
644 int hinic3_aeqs_init(struct hinic3_hwdev *hwdev, u16 num_aeqs, in hinic3_aeqs_init()
[all …]
H A Dhinic3_queue_common.c23 static void __queue_pages_free(struct hinic3_hwdev *hwdev, in __queue_pages_free()
35 void hinic3_queue_pages_free(struct hinic3_hwdev *hwdev, in hinic3_queue_pages_free()
41 int hinic3_queue_pages_alloc(struct hinic3_hwdev *hwdev, in hinic3_queue_pages_alloc()
H A Dhinic3_nic_io.c211 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_init_nic_io()
268 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_init_nicio_res()
306 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_free_nicio_res()
316 static int hinic3_create_sq(struct hinic3_hwdev *hwdev, in hinic3_create_sq()
339 static int hinic3_create_rq(struct hinic3_hwdev *hwdev, in hinic3_create_rq()
360 static int hinic3_create_qp(struct hinic3_hwdev *hwdev, in hinic3_create_qp()
389 static void hinic3_destroy_qp(struct hinic3_hwdev *hwdev, in hinic3_destroy_qp()
402 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_alloc_qps()
454 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_free_qps()
654 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in init_sq_ctxts()
[all …]
H A Dhinic3_mgmt.c154 struct hinic3_hwdev *hwdev = pf_to_mgmt->hwdev; in hinic3_recv_mgmt_msg_handler()
250 int hinic3_pf_to_mgmt_init(struct hinic3_hwdev *hwdev) in hinic3_pf_to_mgmt_init()
285 void hinic3_pf_to_mgmt_free(struct hinic3_hwdev *hwdev) in hinic3_pf_to_mgmt_free()
298 void hinic3_flush_mgmt_workq(struct hinic3_hwdev *hwdev) in hinic3_flush_mgmt_workq()
307 void hinic3_mgmt_msg_aeqe_handler(struct hinic3_hwdev *hwdev, u8 *header, in hinic3_mgmt_msg_aeqe_handler()
H A Dhinic3_lld.c35 static bool hinic3_adev_svc_supported(struct hinic3_hwdev *hwdev, in hinic3_adev_svc_supported()
56 static struct hinic3_adev *hinic3_add_one_adev(struct hinic3_hwdev *hwdev, in hinic3_add_one_adev()
94 static void hinic3_del_one_adev(struct hinic3_hwdev *hwdev, in hinic3_del_one_adev()
115 static int hinic3_attach_aux_devices(struct hinic3_hwdev *hwdev) in hinic3_attach_aux_devices()
148 static void hinic3_detach_aux_devices(struct hinic3_hwdev *hwdev) in hinic3_detach_aux_devices()
161 struct hinic3_hwdev *hinic3_adev_get_hwdev(struct auxiliary_device *adev) in hinic3_adev_get_hwdev()
H A Dhinic3_wq.h76 int hinic3_wq_create(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq,
78 void hinic3_wq_destroy(struct hinic3_hwdev *hwdev, struct hinic3_wq *wq);

12