| /linux/drivers/net/ethernet/huawei/hinic3/ |
| H A D | hinic3_hw_comm.h | 9 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 D | hinic3_nic_cfg.h | 12 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 D | hinic3_eqs.h | 48 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 D | hinic3_hwif.h | 10 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 D | hinic3_hw_cfg.h | 10 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 D | hinic3_cmdq.h | 119 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 D | hinic3_hwdev.c | 48 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 D | hinic3_hw_cfg.c | 13 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 D | hinic3_nic_cfg.c | 16 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 D | hinic3_hw_comm.c | 12 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 D | hinic3_mbox.h | 10 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 D | hinic3_mgmt.h | 12 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 D | hinic3_hwif.c | 96 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 D | hinic3_hwdev.h | 43 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 D | hinic3_mbox.c | 85 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 D | hinic3_rss.c | 24 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 D | hinic3_wq.c | 14 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 D | hinic3_cmdq.c | 119 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 D | hinic3_queue_common.h | 11 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 D | hinic3_eqs.c | 106 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 D | hinic3_queue_common.c | 23 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 D | hinic3_nic_io.c | 211 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 D | hinic3_mgmt.c | 154 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 D | hinic3_lld.c | 35 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 D | hinic3_wq.h | 76 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);
|