Lines Matching refs:vdev

81 void *vnic_dev_priv(struct vnic_dev *vdev)  in vnic_dev_priv()  argument
83 return vdev->priv; in vnic_dev_priv()
86 void vnic_register_cbacks(struct vnic_dev *vdev, in vnic_register_cbacks() argument
93 vdev->alloc_consistent = alloc_consistent; in vnic_register_cbacks()
94 vdev->free_consistent = free_consistent; in vnic_register_cbacks()
97 void vnic_register_lock(struct vnic_dev *vdev, void (*lock)(void *priv), in vnic_register_lock() argument
100 vdev->lock = lock; in vnic_register_lock()
101 vdev->unlock = unlock; in vnic_register_lock()
102 vdev->locked = 0; in vnic_register_lock()
105 static int vnic_dev_discover_res(struct vnic_dev *vdev, in vnic_dev_discover_res() argument
187 vdev->res[type].count = count; in vnic_dev_discover_res()
188 vdev->res[type].vaddr = (char __iomem *)bar[bar_num].vaddr + in vnic_dev_discover_res()
190 vdev->res[type].bus_addr = bar[bar_num].bus_addr + bar_offset; in vnic_dev_discover_res()
196 unsigned int vnic_dev_get_res_count(struct vnic_dev *vdev, in vnic_dev_get_res_count() argument
199 return vdev->res[type].count; in vnic_dev_get_res_count()
202 void __iomem *vnic_dev_get_res(struct vnic_dev *vdev, enum vnic_res_type type, in vnic_dev_get_res() argument
205 if (!vdev->res[type].vaddr) in vnic_dev_get_res()
213 return (char __iomem *)vdev->res[type].vaddr + in vnic_dev_get_res()
216 return (char __iomem *)vdev->res[type].vaddr; in vnic_dev_get_res()
252 int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, in vnic_dev_alloc_desc_ring() argument
262 alloc_addr = vdev->alloc_consistent(vdev->priv, in vnic_dev_alloc_desc_ring()
274 vdev->free_consistent(vdev->priv, in vnic_dev_alloc_desc_ring()
294 void vnic_dev_free_desc_ring(__rte_unused struct vnic_dev *vdev, in vnic_dev_free_desc_ring() argument
298 vdev->free_consistent(vdev->priv, in vnic_dev_free_desc_ring()
306 static int _vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, in _vnic_dev_cmd() argument
309 struct vnic_devcmd __iomem *devcmd = vdev->devcmd; in _vnic_dev_cmd()
328 writeq(vdev->args[i], &devcmd->args[i]); in _vnic_dev_cmd()
362 vdev->args[i] = readq(&devcmd->args[i]); in _vnic_dev_cmd()
373 static int vnic_dev_cmd_proxy(struct vnic_dev *vdev, in vnic_dev_cmd_proxy() argument
388 memset(vdev->args, 0, sizeof(vdev->args)); in vnic_dev_cmd_proxy()
390 vdev->args[0] = vdev->proxy_index; in vnic_dev_cmd_proxy()
391 vdev->args[1] = cmd; in vnic_dev_cmd_proxy()
392 memcpy(&vdev->args[2], args, nargs * sizeof(args[0])); in vnic_dev_cmd_proxy()
394 err = _vnic_dev_cmd(vdev, proxy_cmd, wait); in vnic_dev_cmd_proxy()
398 status = (uint32_t)vdev->args[0]; in vnic_dev_cmd_proxy()
400 err = (int)vdev->args[1]; in vnic_dev_cmd_proxy()
407 memcpy(args, &vdev->args[1], nargs * sizeof(args[0])); in vnic_dev_cmd_proxy()
412 static int vnic_dev_cmd_no_proxy(struct vnic_dev *vdev, in vnic_dev_cmd_no_proxy() argument
421 memset(vdev->args, 0, sizeof(vdev->args)); in vnic_dev_cmd_no_proxy()
422 memcpy(vdev->args, args, nargs * sizeof(args[0])); in vnic_dev_cmd_no_proxy()
424 err = _vnic_dev_cmd(vdev, cmd, wait); in vnic_dev_cmd_no_proxy()
426 memcpy(args, vdev->args, nargs * sizeof(args[0])); in vnic_dev_cmd_no_proxy()
431 void vnic_dev_cmd_proxy_by_index_start(struct vnic_dev *vdev, uint16_t index) in vnic_dev_cmd_proxy_by_index_start() argument
433 vdev->proxy = PROXY_BY_INDEX; in vnic_dev_cmd_proxy_by_index_start()
434 vdev->proxy_index = index; in vnic_dev_cmd_proxy_by_index_start()
437 void vnic_dev_cmd_proxy_end(struct vnic_dev *vdev) in vnic_dev_cmd_proxy_end() argument
439 vdev->proxy = PROXY_NONE; in vnic_dev_cmd_proxy_end()
440 vdev->proxy_index = 0; in vnic_dev_cmd_proxy_end()
443 int vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, in vnic_dev_cmd() argument
452 if (vdev->pf_vdev) { in vnic_dev_cmd()
454 vf_idx = vdev->vf_id; in vnic_dev_cmd()
456 vdev = vdev->pf_vdev; in vnic_dev_cmd()
458 if (vdev->lock) in vnic_dev_cmd()
459 vdev->lock(vdev->priv); in vnic_dev_cmd()
462 vnic_dev_cmd_proxy_by_index_start(vdev, vf_idx); in vnic_dev_cmd()
466 memset(vdev->args, 0, sizeof(vdev->args)); in vnic_dev_cmd()
468 switch (vdev->proxy) { in vnic_dev_cmd()
470 err = vnic_dev_cmd_proxy(vdev, CMD_PROXY_BY_INDEX, cmd, in vnic_dev_cmd()
474 err = vnic_dev_cmd_proxy(vdev, CMD_PROXY_BY_BDF, cmd, in vnic_dev_cmd()
479 err = vnic_dev_cmd_no_proxy(vdev, cmd, args, 2, wait); in vnic_dev_cmd()
484 vnic_dev_cmd_proxy_end(vdev); in vnic_dev_cmd()
485 if (vdev->unlock) in vnic_dev_cmd()
486 vdev->unlock(vdev->priv); in vnic_dev_cmd()
495 int vnic_dev_cmd_args(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, in vnic_dev_cmd_args() argument
503 if (vdev->pf_vdev) { in vnic_dev_cmd_args()
505 vf_idx = vdev->vf_id; in vnic_dev_cmd_args()
506 vdev = vdev->pf_vdev; in vnic_dev_cmd_args()
508 if (vdev->lock) in vnic_dev_cmd_args()
509 vdev->lock(vdev->priv); in vnic_dev_cmd_args()
511 vnic_dev_cmd_proxy_by_index_start(vdev, vf_idx); in vnic_dev_cmd_args()
513 switch (vdev->proxy) { in vnic_dev_cmd_args()
515 err = vnic_dev_cmd_proxy(vdev, CMD_PROXY_BY_INDEX, cmd, in vnic_dev_cmd_args()
519 err = vnic_dev_cmd_proxy(vdev, CMD_PROXY_BY_BDF, cmd, in vnic_dev_cmd_args()
524 err = vnic_dev_cmd_no_proxy(vdev, cmd, args, nargs, wait); in vnic_dev_cmd_args()
529 vnic_dev_cmd_proxy_end(vdev); in vnic_dev_cmd_args()
530 if (vdev->unlock) in vnic_dev_cmd_args()
531 vdev->unlock(vdev->priv); in vnic_dev_cmd_args()
535 int vnic_dev_fw_info(struct vnic_dev *vdev, in vnic_dev_fw_info() argument
544 if (!vdev->fw_info) { in vnic_dev_fw_info()
547 vdev->fw_info = vdev->alloc_consistent(vdev->priv, in vnic_dev_fw_info()
549 &vdev->fw_info_pa, (uint8_t *)name); in vnic_dev_fw_info()
550 if (!vdev->fw_info) in vnic_dev_fw_info()
552 a0 = vdev->fw_info_pa; in vnic_dev_fw_info()
554 err = vnic_dev_cmd(vdev, CMD_MCPU_FW_INFO, in vnic_dev_fw_info()
557 *fw_info = vdev->fw_info; in vnic_dev_fw_info()
561 static int vnic_dev_advanced_filters_cap(struct vnic_dev *vdev, uint64_t *args, in vnic_dev_advanced_filters_cap() argument
567 return vnic_dev_cmd_args(vdev, CMD_CAPABILITY, args, nargs, 1000); in vnic_dev_advanced_filters_cap()
570 int vnic_dev_capable_adv_filters(struct vnic_dev *vdev) in vnic_dev_capable_adv_filters() argument
576 err = vnic_dev_cmd(vdev, CMD_CAPABILITY, &a0, &a1, wait); in vnic_dev_capable_adv_filters()
582 int vnic_dev_flowman_cmd(struct vnic_dev *vdev, uint64_t *args, int nargs) in vnic_dev_flowman_cmd() argument
586 return vnic_dev_cmd_args(vdev, CMD_FLOW_MANAGER_OP, args, nargs, wait); in vnic_dev_flowman_cmd()
589 static int vnic_dev_flowman_enable(struct vnic_dev *vdev, uint32_t *mode, in vnic_dev_flowman_enable() argument
598 if (!vnic_dev_capable_adv_filters(vdev)) in vnic_dev_flowman_enable()
601 if (!vnic_dev_capable(vdev, CMD_FLOW_MANAGER_OP)) in vnic_dev_flowman_enable()
605 if (vnic_dev_flowman_cmd(vdev, args, 1)) in vnic_dev_flowman_enable()
612 if (vnic_dev_flowman_cmd(vdev, args, 2)) in vnic_dev_flowman_enable()
615 if (!vdev->flowman_info) { in vnic_dev_flowman_enable()
618 vdev->flowman_info = vdev->alloc_consistent(vdev->priv, in vnic_dev_flowman_enable()
620 &vdev->flowman_info_pa, (uint8_t *)name); in vnic_dev_flowman_enable()
621 if (!vdev->flowman_info) in vnic_dev_flowman_enable()
625 args[1] = vdev->flowman_info_pa; in vnic_dev_flowman_enable()
627 if (vnic_dev_flowman_cmd(vdev, args, 3)) in vnic_dev_flowman_enable()
639 if ((vdev->flowman_info->fm_op_mask & ops) != ops) in vnic_dev_flowman_enable()
661 int vnic_dev_capable_filter_mode(struct vnic_dev *vdev, uint32_t *mode, in vnic_dev_capable_filter_mode() argument
669 if (vnic_dev_flowman_enable(vdev, mode, filter_actions)) in vnic_dev_capable_filter_mode()
672 err = vnic_dev_advanced_filters_cap(vdev, args, 4); in vnic_dev_capable_filter_mode()
685 err = vnic_dev_cmd_args(vdev, CMD_CAPABILITY, args, 2, 1000); in vnic_dev_capable_filter_mode()
717 void vnic_dev_capable_udp_rss_weak(struct vnic_dev *vdev, bool *cfg_chk, in vnic_dev_capable_udp_rss_weak() argument
726 err = vnic_dev_cmd(vdev, CMD_CAPABILITY, &a0, &a1, wait); in vnic_dev_capable_udp_rss_weak()
733 int vnic_dev_capable(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd) in vnic_dev_capable() argument
739 err = vnic_dev_cmd(vdev, CMD_CAPABILITY, &a0, &a1, wait); in vnic_dev_capable()
744 int vnic_dev_spec(struct vnic_dev *vdev, unsigned int offset, size_t size, in vnic_dev_spec() argument
754 err = vnic_dev_cmd(vdev, CMD_DEV_SPEC, &a0, &a1, wait); in vnic_dev_spec()
777 int vnic_dev_stats_clear(struct vnic_dev *vdev) in vnic_dev_stats_clear() argument
782 return vnic_dev_cmd(vdev, CMD_STATS_CLEAR, &a0, &a1, wait); in vnic_dev_stats_clear()
785 int vnic_dev_stats_dump(struct vnic_dev *vdev, struct vnic_stats **stats) in vnic_dev_stats_dump() argument
790 if (!vdev->stats) in vnic_dev_stats_dump()
793 *stats = vdev->stats; in vnic_dev_stats_dump()
794 a0 = vdev->stats_pa; in vnic_dev_stats_dump()
797 return vnic_dev_cmd(vdev, CMD_STATS_DUMP, &a0, &a1, wait); in vnic_dev_stats_dump()
800 int vnic_dev_close(struct vnic_dev *vdev) in vnic_dev_close() argument
805 return vnic_dev_cmd(vdev, CMD_CLOSE, &a0, &a1, wait); in vnic_dev_close()
808 int vnic_dev_enable_wait(struct vnic_dev *vdev) in vnic_dev_enable_wait() argument
813 if (vnic_dev_capable(vdev, CMD_ENABLE_WAIT)) in vnic_dev_enable_wait()
814 return vnic_dev_cmd(vdev, CMD_ENABLE_WAIT, &a0, &a1, wait); in vnic_dev_enable_wait()
816 return vnic_dev_cmd(vdev, CMD_ENABLE, &a0, &a1, wait); in vnic_dev_enable_wait()
819 int vnic_dev_disable(struct vnic_dev *vdev) in vnic_dev_disable() argument
824 return vnic_dev_cmd(vdev, CMD_DISABLE, &a0, &a1, wait); in vnic_dev_disable()
827 int vnic_dev_open(struct vnic_dev *vdev, int arg) in vnic_dev_open() argument
832 return vnic_dev_cmd(vdev, CMD_OPEN, &a0, &a1, wait); in vnic_dev_open()
835 int vnic_dev_open_done(struct vnic_dev *vdev, int *done) in vnic_dev_open_done() argument
843 err = vnic_dev_cmd(vdev, CMD_OPEN_STATUS, &a0, &a1, wait); in vnic_dev_open_done()
852 int vnic_dev_get_mac_addr(struct vnic_dev *vdev, uint8_t *mac_addr) in vnic_dev_get_mac_addr() argument
861 err = vnic_dev_cmd(vdev, CMD_GET_MAC_ADDR, &a0, &a1, wait); in vnic_dev_get_mac_addr()
871 int vnic_dev_packet_filter(struct vnic_dev *vdev, int directed, int multicast, in vnic_dev_packet_filter() argument
884 err = vnic_dev_cmd(vdev, CMD_PACKET_FILTER, &a0, &a1, wait); in vnic_dev_packet_filter()
891 int vnic_dev_add_addr(struct vnic_dev *vdev, uint8_t *addr) in vnic_dev_add_addr() argument
901 err = vnic_dev_cmd(vdev, CMD_ADDR_ADD, &a0, &a1, wait); in vnic_dev_add_addr()
910 int vnic_dev_del_addr(struct vnic_dev *vdev, uint8_t *addr) in vnic_dev_del_addr() argument
920 err = vnic_dev_cmd(vdev, CMD_ADDR_DEL, &a0, &a1, wait); in vnic_dev_del_addr()
929 int vnic_dev_set_ig_vlan_rewrite_mode(struct vnic_dev *vdev, in vnic_dev_set_ig_vlan_rewrite_mode() argument
935 if (vnic_dev_capable(vdev, CMD_IG_VLAN_REWRITE_MODE)) in vnic_dev_set_ig_vlan_rewrite_mode()
936 return vnic_dev_cmd(vdev, CMD_IG_VLAN_REWRITE_MODE, in vnic_dev_set_ig_vlan_rewrite_mode()
942 void vnic_dev_set_reset_flag(struct vnic_dev *vdev, int state) in vnic_dev_set_reset_flag() argument
944 vdev->in_reset = state; in vnic_dev_set_reset_flag()
947 static inline int vnic_dev_in_reset(struct vnic_dev *vdev) in vnic_dev_in_reset() argument
949 return vdev->in_reset; in vnic_dev_in_reset()
952 int vnic_dev_notify_setcmd(struct vnic_dev *vdev, in vnic_dev_notify_setcmd() argument
960 if (!vnic_dev_in_reset(vdev)) { in vnic_dev_notify_setcmd()
961 vdev->notify = notify_addr; in vnic_dev_notify_setcmd()
962 vdev->notify_pa = notify_pa; in vnic_dev_notify_setcmd()
969 r = vnic_dev_cmd(vdev, CMD_NOTIFY, &a0, &a1, wait); in vnic_dev_notify_setcmd()
970 if (!vnic_dev_in_reset(vdev)) in vnic_dev_notify_setcmd()
971 vdev->notify_sz = (r == 0) ? (uint32_t)a1 : 0; in vnic_dev_notify_setcmd()
976 int vnic_dev_notify_set(struct vnic_dev *vdev, uint16_t intr) in vnic_dev_notify_set() argument
983 if (vdev->notify || vdev->notify_pa) { in vnic_dev_notify_set()
984 return vnic_dev_notify_setcmd(vdev, vdev->notify, in vnic_dev_notify_set()
985 vdev->notify_pa, intr); in vnic_dev_notify_set()
987 if (!vnic_dev_in_reset(vdev)) { in vnic_dev_notify_set()
990 notify_addr = vdev->alloc_consistent(vdev->priv, in vnic_dev_notify_set()
997 return vnic_dev_notify_setcmd(vdev, notify_addr, notify_pa, intr); in vnic_dev_notify_set()
1000 int vnic_dev_notify_unsetcmd(struct vnic_dev *vdev) in vnic_dev_notify_unsetcmd() argument
1010 err = vnic_dev_cmd(vdev, CMD_NOTIFY, &a0, &a1, wait); in vnic_dev_notify_unsetcmd()
1011 if (!vnic_dev_in_reset(vdev)) { in vnic_dev_notify_unsetcmd()
1012 vdev->notify = NULL; in vnic_dev_notify_unsetcmd()
1013 vdev->notify_pa = 0; in vnic_dev_notify_unsetcmd()
1014 vdev->notify_sz = 0; in vnic_dev_notify_unsetcmd()
1020 int vnic_dev_notify_unset(struct vnic_dev *vdev) in vnic_dev_notify_unset() argument
1022 if (vdev->notify && !vnic_dev_in_reset(vdev)) { in vnic_dev_notify_unset()
1023 vdev->free_consistent(vdev->priv, in vnic_dev_notify_unset()
1025 vdev->notify, in vnic_dev_notify_unset()
1026 vdev->notify_pa); in vnic_dev_notify_unset()
1029 return vnic_dev_notify_unsetcmd(vdev); in vnic_dev_notify_unset()
1032 static int vnic_dev_notify_ready(struct vnic_dev *vdev) in vnic_dev_notify_ready() argument
1035 unsigned int nwords = vdev->notify_sz / 4; in vnic_dev_notify_ready()
1039 if (!vdev->notify || !vdev->notify_sz) in vnic_dev_notify_ready()
1044 rte_memcpy(&vdev->notify_copy, vdev->notify, vdev->notify_sz); in vnic_dev_notify_ready()
1045 words = (uint32_t *)&vdev->notify_copy; in vnic_dev_notify_ready()
1053 int vnic_dev_init(struct vnic_dev *vdev, int arg) in vnic_dev_init() argument
1059 if (vnic_dev_capable(vdev, CMD_INIT)) in vnic_dev_init()
1060 r = vnic_dev_cmd(vdev, CMD_INIT, &a0, &a1, wait); in vnic_dev_init()
1062 vnic_dev_cmd(vdev, CMD_INIT_v1, &a0, &a1, wait); in vnic_dev_init()
1067 vnic_dev_cmd(vdev, CMD_GET_MAC_ADDR, &a0, &a1, wait); in vnic_dev_init()
1068 vnic_dev_cmd(vdev, CMD_ADDR_ADD, &a0, &a1, wait); in vnic_dev_init()
1074 void vnic_dev_intr_coal_timer_info_default(struct vnic_dev *vdev) in vnic_dev_intr_coal_timer_info_default() argument
1077 vdev->intr_coal_timer_info.mul = 2; in vnic_dev_intr_coal_timer_info_default()
1078 vdev->intr_coal_timer_info.div = 3; in vnic_dev_intr_coal_timer_info_default()
1079 vdev->intr_coal_timer_info.max_usec = in vnic_dev_intr_coal_timer_info_default()
1080 vnic_dev_intr_coal_timer_hw_to_usec(vdev, 0xffff); in vnic_dev_intr_coal_timer_info_default()
1083 int vnic_dev_link_status(struct vnic_dev *vdev) in vnic_dev_link_status() argument
1085 if (!vnic_dev_notify_ready(vdev)) in vnic_dev_link_status()
1088 return vdev->notify_copy.link_state; in vnic_dev_link_status()
1091 uint32_t vnic_dev_port_speed(struct vnic_dev *vdev) in vnic_dev_port_speed() argument
1093 if (!vnic_dev_notify_ready(vdev)) in vnic_dev_port_speed()
1096 return vdev->notify_copy.port_speed; in vnic_dev_port_speed()
1099 uint32_t vnic_dev_mtu(struct vnic_dev *vdev) in vnic_dev_mtu() argument
1101 if (!vnic_dev_notify_ready(vdev)) in vnic_dev_mtu()
1104 return vdev->notify_copy.mtu; in vnic_dev_mtu()
1107 uint32_t vnic_dev_uif(struct vnic_dev *vdev) in vnic_dev_uif() argument
1109 if (!vnic_dev_notify_ready(vdev)) in vnic_dev_uif()
1112 return vdev->notify_copy.uif; in vnic_dev_uif()
1115 uint32_t vnic_dev_intr_coal_timer_usec_to_hw(struct vnic_dev *vdev, in vnic_dev_intr_coal_timer_usec_to_hw() argument
1118 return (usec * vdev->intr_coal_timer_info.mul) / in vnic_dev_intr_coal_timer_usec_to_hw()
1119 vdev->intr_coal_timer_info.div; in vnic_dev_intr_coal_timer_usec_to_hw()
1122 uint32_t vnic_dev_intr_coal_timer_hw_to_usec(struct vnic_dev *vdev, in vnic_dev_intr_coal_timer_hw_to_usec() argument
1125 return (hw_cycles * vdev->intr_coal_timer_info.div) / in vnic_dev_intr_coal_timer_hw_to_usec()
1126 vdev->intr_coal_timer_info.mul; in vnic_dev_intr_coal_timer_hw_to_usec()
1129 uint32_t vnic_dev_get_intr_coal_timer_max(struct vnic_dev *vdev) in vnic_dev_get_intr_coal_timer_max() argument
1131 return vdev->intr_coal_timer_info.max_usec; in vnic_dev_get_intr_coal_timer_max()
1134 int vnic_dev_alloc_stats_mem(struct vnic_dev *vdev) in vnic_dev_alloc_stats_mem() argument
1140 vdev->stats = vdev->alloc_consistent(vdev->priv, in vnic_dev_alloc_stats_mem()
1142 &vdev->stats_pa, (uint8_t *)name); in vnic_dev_alloc_stats_mem()
1143 return vdev->stats == NULL ? -ENOMEM : 0; in vnic_dev_alloc_stats_mem()
1146 void vnic_dev_unregister(struct vnic_dev *vdev) in vnic_dev_unregister() argument
1148 if (vdev) { in vnic_dev_unregister()
1149 if (vdev->notify) in vnic_dev_unregister()
1150 vdev->free_consistent(vdev->priv, in vnic_dev_unregister()
1152 vdev->notify, in vnic_dev_unregister()
1153 vdev->notify_pa); in vnic_dev_unregister()
1154 if (vdev->stats) in vnic_dev_unregister()
1155 vdev->free_consistent(vdev->priv, in vnic_dev_unregister()
1157 vdev->stats, vdev->stats_pa); in vnic_dev_unregister()
1158 if (vdev->flowman_info) in vnic_dev_unregister()
1159 vdev->free_consistent(vdev->priv, in vnic_dev_unregister()
1161 vdev->flowman_info, vdev->flowman_info_pa); in vnic_dev_unregister()
1162 if (vdev->fw_info) in vnic_dev_unregister()
1163 vdev->free_consistent(vdev->priv, in vnic_dev_unregister()
1165 vdev->fw_info, vdev->fw_info_pa); in vnic_dev_unregister()
1166 rte_free(vdev); in vnic_dev_unregister()
1170 struct vnic_dev *vnic_dev_register(struct vnic_dev *vdev, in vnic_dev_register() argument
1174 if (!vdev) { in vnic_dev_register()
1178 vdev = (struct vnic_dev *)rte_zmalloc_socket(name, in vnic_dev_register()
1182 if (!vdev) in vnic_dev_register()
1186 vdev->priv = priv; in vnic_dev_register()
1187 vdev->pdev = pdev; in vnic_dev_register()
1189 if (vnic_dev_discover_res(vdev, bar, num_bars)) in vnic_dev_register()
1192 vdev->devcmd = vnic_dev_get_res(vdev, RES_TYPE_DEVCMD, 0); in vnic_dev_register()
1193 if (!vdev->devcmd) in vnic_dev_register()
1196 return vdev; in vnic_dev_register()
1199 vnic_dev_unregister(vdev); in vnic_dev_register()
1206 struct vnic_dev *vdev; in vnic_vf_rep_register() local
1208 vdev = (struct vnic_dev *)rte_zmalloc("enic-vf-rep-vdev", in vnic_vf_rep_register()
1210 if (!vdev) in vnic_vf_rep_register()
1212 vdev->priv = priv; in vnic_vf_rep_register()
1213 vdev->pf_vdev = pf_vdev; in vnic_vf_rep_register()
1214 vdev->vf_id = vf_id; in vnic_vf_rep_register()
1215 vdev->alloc_consistent = pf_vdev->alloc_consistent; in vnic_vf_rep_register()
1216 vdev->free_consistent = pf_vdev->free_consistent; in vnic_vf_rep_register()
1217 return vdev; in vnic_vf_rep_register()
1235 int vnic_dev_classifier(struct vnic_dev *vdev, uint8_t cmd, uint16_t *entry, in vnic_dev_classifier() argument
1260 tlv_va = vdev->alloc_consistent(vdev->priv, in vnic_dev_classifier()
1279 ret = vnic_dev_cmd(vdev, dev_cmd, &a0, &a1, wait); in vnic_dev_classifier()
1281 vdev->free_consistent(vdev->priv, tlv_size, tlv_va, tlv_pa); in vnic_dev_classifier()
1284 ret = vnic_dev_cmd(vdev, CMD_DEL_FILTER, &a0, &a1, wait); in vnic_dev_classifier()
1290 int vnic_dev_overlay_offload_ctrl(struct vnic_dev *vdev, uint8_t overlay, in vnic_dev_overlay_offload_ctrl() argument
1297 return vnic_dev_cmd(vdev, CMD_OVERLAY_OFFLOAD_CTRL, &a0, &a1, wait); in vnic_dev_overlay_offload_ctrl()
1300 int vnic_dev_overlay_offload_cfg(struct vnic_dev *vdev, uint8_t overlay, in vnic_dev_overlay_offload_cfg() argument
1307 return vnic_dev_cmd(vdev, CMD_OVERLAY_OFFLOAD_CFG, &a0, &a1, wait); in vnic_dev_overlay_offload_cfg()
1310 int vnic_dev_capable_vxlan(struct vnic_dev *vdev) in vnic_dev_capable_vxlan() argument
1317 ret = vnic_dev_cmd(vdev, CMD_GET_SUPP_FEATURE_VER, &a0, &a1, wait); in vnic_dev_capable_vxlan()
1324 int vnic_dev_capable_geneve(struct vnic_dev *vdev) in vnic_dev_capable_geneve() argument
1331 ret = vnic_dev_cmd(vdev, CMD_GET_SUPP_FEATURE_VER, &a0, &a1, wait); in vnic_dev_capable_geneve()
1335 uint64_t vnic_dev_capable_cq_entry_size(struct vnic_dev *vdev) in vnic_dev_capable_cq_entry_size() argument
1342 ret = vnic_dev_cmd(vdev, CMD_CAPABILITY, &a0, &a1, wait); in vnic_dev_capable_cq_entry_size()
1349 int vnic_dev_set_cq_entry_size(struct vnic_dev *vdev, uint32_t rq_idx, in vnic_dev_set_cq_entry_size() argument
1356 return vnic_dev_cmd(vdev, CMD_CQ_ENTRY_SIZE_SET, &a0, &a1, wait); in vnic_dev_set_cq_entry_size()