Raja Zidane f9213ab12c common/mlx5: share DevX queue pair operations
Currently drivers using QP (vDPA, crypto and compress, regex soon)
manage their memory, creation, modification and destruction of the QP,
in almost identical code.
Move QP memory management, creation and destruction to common.
Add common function to change QP state to RTS.
Add user_index attribute to QP creation.
It's for better code maintenance and reuse.

Signed-off-by: Raja Zidane <rzidane@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
2021-10-05 18:15:40 +02:00

156 lines
3.9 KiB
Plaintext

INTERNAL {
global:
haswell_broadwell_cpu;
mlx5_auxiliary_get_child_name; # WINDOWS_NO_EXPORT
mlx5_class_driver_register;
mlx5_common_init;
mlx5_common_verbs_reg_mr; # WINDOWS_NO_EXPORT
mlx5_common_verbs_dereg_mr; # WINDOWS_NO_EXPORT
mlx5_create_mr_ext;
mlx5_dev_is_pci;
mlx5_dev_to_pci_str;
mlx5_devx_alloc_uar; # WINDOWS_NO_EXPORT
mlx5_devx_cmd_alloc_pd;
mlx5_devx_cmd_create_conn_track_offload_obj;
mlx5_devx_cmd_create_cq;
mlx5_devx_cmd_create_credential_obj;
mlx5_devx_cmd_create_crypto_login_obj;
mlx5_devx_cmd_create_dek_obj;
mlx5_devx_cmd_create_flex_parser;
mlx5_devx_cmd_create_flow_hit_aso_obj;
mlx5_devx_cmd_create_flow_meter_aso_obj;
mlx5_devx_cmd_create_geneve_tlv_option;
mlx5_devx_cmd_create_import_kek_obj;
mlx5_devx_cmd_create_qp;
mlx5_devx_cmd_create_rq;
mlx5_devx_cmd_create_rqt;
mlx5_devx_cmd_create_sq;
mlx5_devx_cmd_create_td;
mlx5_devx_cmd_create_tir;
mlx5_devx_cmd_create_tis;
mlx5_devx_cmd_create_virtio_q_counters; # WINDOWS_NO_EXPORT
mlx5_devx_cmd_create_virtq;
mlx5_devx_cmd_destroy;
mlx5_devx_cmd_flow_counter_alloc;
mlx5_devx_cmd_flow_counter_query;
mlx5_devx_cmd_flow_dump;
mlx5_devx_cmd_flow_single_dump;
mlx5_devx_cmd_mkey_create;
mlx5_devx_cmd_modify_qp_state;
mlx5_devx_cmd_modify_rq;
mlx5_devx_cmd_modify_rqt;
mlx5_devx_cmd_modify_sq;
mlx5_devx_cmd_modify_tir;
mlx5_devx_cmd_modify_virtq;
mlx5_devx_cmd_qp_query_tis_td;
mlx5_devx_cmd_query_hca_attr;
mlx5_devx_cmd_query_parse_samples;
mlx5_devx_cmd_query_virtio_q_counters; # WINDOWS_NO_EXPORT
mlx5_devx_cmd_query_virtq;
mlx5_devx_cmd_queue_counter_alloc; # WINDOWS_NO_EXPORT
mlx5_devx_cmd_queue_counter_query; # WINDOWS_NO_EXPORT
mlx5_devx_cmd_register_read;
mlx5_devx_cmd_register_write;
mlx5_devx_cmd_wq_query; # WINDOWS_NO_EXPORT
mlx5_devx_cq_create;
mlx5_devx_cq_destroy;
mlx5_devx_get_out_command_status;
mlx5_devx_qp2rts;
mlx5_devx_qp_create;
mlx5_devx_qp_destroy;
mlx5_devx_rq_create;
mlx5_devx_rq_destroy;
mlx5_devx_sq_create;
mlx5_devx_sq_destroy;
mlx5_free;
mlx5_get_ifname_sysfs; # WINDOWS_NO_EXPORT
mlx5_get_pci_addr; # WINDOWS_NO_EXPORT
mlx5_glue;
mlx5_list_create;
mlx5_list_register;
mlx5_list_unregister;
mlx5_list_lookup;
mlx5_list_get_entry_num;
mlx5_list_destroy;
mlx5_hlist_create;
mlx5_hlist_lookup;
mlx5_hlist_register;
mlx5_hlist_unregister;
mlx5_hlist_destroy;
mlx5_malloc;
mlx5_malloc_mem_select;
mlx5_memory_stat_dump; # WINDOWS_NO_EXPORT
mlx5_mp_init_primary; # WINDOWS_NO_EXPORT
mlx5_mp_init_secondary; # WINDOWS_NO_EXPORT
mlx5_mp_req_mr_create; # WINDOWS_NO_EXPORT
mlx5_mp_req_queue_state_modify;
mlx5_mp_req_verbs_cmd_fd; # WINDOWS_NO_EXPORT
mlx5_mp_uninit_primary; # WINDOWS_NO_EXPORT
mlx5_mp_uninit_secondary; # WINDOWS_NO_EXPORT
mlx5_mr_addr2mr_bh;
mlx5_mr_btree_dump;
mlx5_mr_btree_free;
mlx5_mr_btree_init;
mlx5_mr_create_primary;
mlx5_mr_dump_cache;
mlx5_mr_flush_local_cache;
mlx5_mr_free;
mlx5_mr_insert_cache;
mlx5_mr_lookup_cache;
mlx5_mr_lookup_list;
mlx5_free_mr_by_addr;
mlx5_mr_rebuild_cache;
mlx5_mr_release_cache;
mlx5_nl_allmulti; # WINDOWS_NO_EXPORT
mlx5_nl_devlink_family_id_get; # WINDOWS_NO_EXPORT
mlx5_nl_driver_reload; # WINDOWS_NO_EXPORT
mlx5_nl_enable_roce_get; # WINDOWS_NO_EXPORT
mlx5_nl_enable_roce_set; # WINDOWS_NO_EXPORT
mlx5_nl_ifindex; # WINDOWS_NO_EXPORT
mlx5_nl_init; # WINDOWS_NO_EXPORT
mlx5_nl_mac_addr_add; # WINDOWS_NO_EXPORT
mlx5_nl_mac_addr_flush; # WINDOWS_NO_EXPORT
mlx5_nl_mac_addr_remove; # WINDOWS_NO_EXPORT
mlx5_nl_mac_addr_sync; # WINDOWS_NO_EXPORT
mlx5_nl_portnum; # WINDOWS_NO_EXPORT
mlx5_nl_promisc; # WINDOWS_NO_EXPORT
mlx5_nl_switch_info; # WINDOWS_NO_EXPORT
mlx5_nl_vf_mac_addr_modify; # WINDOWS_NO_EXPORT
mlx5_nl_vlan_vmwa_create; # WINDOWS_NO_EXPORT
mlx5_nl_vlan_vmwa_delete; # WINDOWS_NO_EXPORT
mlx5_os_alloc_pd;
mlx5_os_dealloc_pd;
mlx5_os_dereg_mr;
mlx5_os_get_ibv_dev; # WINDOWS_NO_EXPORT
mlx5_os_reg_mr;
mlx5_os_umem_dereg;
mlx5_os_umem_reg;
mlx5_realloc;
mlx5_translate_port_name; # WINDOWS_NO_EXPORT
};