Lines Matching refs:sdev
24 struct sub_device *sdev; in fs_dev_configure() local
29 FOREACH_SUBDEV(sdev, i, dev) { in fs_dev_configure()
34 if (sdev->state != DEV_PROBED && in fs_dev_configure()
35 !(PRIV(dev)->alarm_lock == 0 && sdev->state == DEV_ACTIVE)) in fs_dev_configure()
38 rmv_interrupt = ETH(sdev)->data->dev_flags & in fs_dev_configure()
48 (ETH(sdev)->data->dev_flags & in fs_dev_configure()
58 ret = rte_eth_dev_configure(PORT_ID(sdev), in fs_dev_configure()
63 if (!fs_err(sdev, ret)) in fs_dev_configure()
69 if (rmv_interrupt && sdev->rmv_callback == 0) { in fs_dev_configure()
70 ret = rte_eth_dev_callback_register(PORT_ID(sdev), in fs_dev_configure()
73 sdev); in fs_dev_configure()
76 SUB_ID(sdev)); in fs_dev_configure()
78 sdev->rmv_callback = 1; in fs_dev_configure()
81 if (lsc_interrupt && sdev->lsc_callback == 0) { in fs_dev_configure()
82 ret = rte_eth_dev_callback_register(PORT_ID(sdev), in fs_dev_configure()
88 SUB_ID(sdev)); in fs_dev_configure()
90 sdev->lsc_callback = 1; in fs_dev_configure()
93 sdev->state = DEV_ACTIVE; in fs_dev_configure()
125 struct sub_device *sdev; in fs_dev_start() local
135 FOREACH_SUBDEV(sdev, i, dev) { in fs_dev_start()
136 if (sdev->state != DEV_ACTIVE) in fs_dev_start()
139 ret = rte_eth_dev_start(PORT_ID(sdev)); in fs_dev_start()
141 if (!fs_err(sdev, ret)) in fs_dev_start()
146 ret = failsafe_rx_intr_install_subdevice(sdev); in fs_dev_start()
148 if (!fs_err(sdev, ret)) in fs_dev_start()
150 if (fs_err(sdev, rte_eth_dev_stop(PORT_ID(sdev))) < 0) in fs_dev_start()
152 SUB_ID(sdev)); in fs_dev_start()
156 sdev->state = DEV_STARTED; in fs_dev_start()
185 struct sub_device *sdev; in fs_dev_stop() local
191 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_STARTED) { in fs_dev_stop()
192 ret = rte_eth_dev_stop(PORT_ID(sdev)); in fs_dev_stop()
193 if (fs_err(sdev, ret) < 0) { in fs_dev_stop()
195 PORT_ID(sdev)); in fs_dev_stop()
200 failsafe_rx_intr_uninstall_subdevice(sdev); in fs_dev_stop()
201 sdev->state = DEV_STARTED - 1; in fs_dev_stop()
213 struct sub_device *sdev; in fs_dev_set_link_up() local
218 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_dev_set_link_up()
220 ret = rte_eth_dev_set_link_up(PORT_ID(sdev)); in fs_dev_set_link_up()
221 if ((ret = fs_err(sdev, ret))) { in fs_dev_set_link_up()
235 struct sub_device *sdev; in fs_dev_set_link_down() local
240 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_dev_set_link_down()
242 ret = rte_eth_dev_set_link_down(PORT_ID(sdev)); in fs_dev_set_link_down()
243 if ((ret = fs_err(sdev, ret))) { in fs_dev_set_link_down()
257 struct sub_device *sdev; in fs_rx_queue_stop() local
264 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_rx_queue_stop()
265 uint16_t port_id = ETH(sdev)->data->port_id; in fs_rx_queue_stop()
268 ret = fs_err(sdev, ret); in fs_rx_queue_stop()
285 struct sub_device *sdev; in fs_rx_queue_start() local
290 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_rx_queue_start()
291 uint16_t port_id = ETH(sdev)->data->port_id; in fs_rx_queue_start()
294 ret = fs_err(sdev, ret); in fs_rx_queue_start()
310 struct sub_device *sdev; in fs_tx_queue_stop() local
317 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_tx_queue_stop()
318 uint16_t port_id = ETH(sdev)->data->port_id; in fs_tx_queue_stop()
321 ret = fs_err(sdev, ret); in fs_tx_queue_stop()
338 struct sub_device *sdev; in fs_tx_queue_start() local
343 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_tx_queue_start()
344 uint16_t port_id = ETH(sdev)->data->port_id; in fs_tx_queue_start()
347 ret = fs_err(sdev, ret); in fs_tx_queue_start()
363 struct sub_device *sdev; in fs_rx_queue_release() local
372 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_rx_queue_release()
373 if (ETH(sdev)->data->rx_queues != NULL && in fs_rx_queue_release()
374 ETH(sdev)->data->rx_queues[rxq->qid] != NULL) in fs_rx_queue_release()
375 SUBOPS(sdev, rx_queue_release)(ETH(sdev), rxq->qid); in fs_rx_queue_release()
397 struct sub_device *sdev; in fs_rx_queue_setup() local
414 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_PROBED) { in fs_rx_queue_setup()
415 if (SUBOPS(sdev, rx_queue_start) == NULL) { in fs_rx_queue_setup()
436 FOREACH_SUBDEV(sdev, i, dev) in fs_rx_queue_setup()
444 rxq->sdev = PRIV(dev)->subs; in fs_rx_queue_setup()
452 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_rx_queue_setup()
453 ret = rte_eth_rx_queue_setup(PORT_ID(sdev), in fs_rx_queue_setup()
457 if ((ret = fs_err(sdev, ret))) { in fs_rx_queue_setup()
474 struct sub_device *sdev; in fs_rx_intr_enable() local
496 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_rx_intr_enable()
497 ret = rte_eth_dev_rx_intr_enable(PORT_ID(sdev), idx); in fs_rx_intr_enable()
498 ret = fs_err(sdev, ret); in fs_rx_intr_enable()
513 struct sub_device *sdev; in fs_rx_intr_disable() local
530 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_rx_intr_disable()
531 ret = rte_eth_dev_rx_intr_disable(PORT_ID(sdev), idx); in fs_rx_intr_disable()
532 ret = fs_err(sdev, ret); in fs_rx_intr_disable()
549 struct sub_device *sdev; in fs_tx_queue_release() local
556 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_tx_queue_release()
557 if (ETH(sdev)->data->tx_queues != NULL && in fs_tx_queue_release()
558 ETH(sdev)->data->tx_queues[txq->qid] != NULL) in fs_tx_queue_release()
559 SUBOPS(sdev, tx_queue_release)(ETH(sdev), txq->qid); in fs_tx_queue_release()
573 struct sub_device *sdev; in fs_tx_queue_setup() local
580 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_PROBED) { in fs_tx_queue_setup()
581 if (SUBOPS(sdev, tx_queue_start) == NULL) { in fs_tx_queue_setup()
602 FOREACH_SUBDEV(sdev, i, dev) in fs_tx_queue_setup()
610 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_tx_queue_setup()
611 ret = rte_eth_tx_queue_setup(PORT_ID(sdev), in fs_tx_queue_setup()
615 if ((ret = fs_err(sdev, ret))) { in fs_tx_queue_setup()
648 struct sub_device *sdev; in failsafe_eth_dev_close() local
662 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in failsafe_eth_dev_close()
664 failsafe_eth_dev_unregister_callbacks(sdev); in failsafe_eth_dev_close()
665 err = rte_eth_dev_close(PORT_ID(sdev)); in failsafe_eth_dev_close()
669 PORT_ID(sdev)); in failsafe_eth_dev_close()
671 sdev->state = DEV_ACTIVE - 1; in failsafe_eth_dev_close()
702 struct sub_device *sdev; in fs_promiscuous_enable() local
707 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_promiscuous_enable()
708 ret = rte_eth_promiscuous_enable(PORT_ID(sdev)); in fs_promiscuous_enable()
709 ret = fs_err(sdev, ret); in fs_promiscuous_enable()
712 PORT_ID(sdev)); in fs_promiscuous_enable()
718 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_promiscuous_enable()
719 ret = rte_eth_promiscuous_disable(PORT_ID(sdev)); in fs_promiscuous_enable()
720 ret = fs_err(sdev, ret); in fs_promiscuous_enable()
723 PORT_ID(sdev)); in fs_promiscuous_enable()
734 struct sub_device *sdev; in fs_promiscuous_disable() local
739 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_promiscuous_disable()
740 ret = rte_eth_promiscuous_disable(PORT_ID(sdev)); in fs_promiscuous_disable()
741 ret = fs_err(sdev, ret); in fs_promiscuous_disable()
744 PORT_ID(sdev)); in fs_promiscuous_disable()
750 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_promiscuous_disable()
751 ret = rte_eth_promiscuous_enable(PORT_ID(sdev)); in fs_promiscuous_disable()
752 ret = fs_err(sdev, ret); in fs_promiscuous_disable()
755 PORT_ID(sdev)); in fs_promiscuous_disable()
766 struct sub_device *sdev; in fs_allmulticast_enable() local
771 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_allmulticast_enable()
772 ret = rte_eth_allmulticast_enable(PORT_ID(sdev)); in fs_allmulticast_enable()
773 ret = fs_err(sdev, ret); in fs_allmulticast_enable()
776 PORT_ID(sdev)); in fs_allmulticast_enable()
782 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_allmulticast_enable()
783 ret = rte_eth_allmulticast_disable(PORT_ID(sdev)); in fs_allmulticast_enable()
784 ret = fs_err(sdev, ret); in fs_allmulticast_enable()
787 PORT_ID(sdev)); in fs_allmulticast_enable()
798 struct sub_device *sdev; in fs_allmulticast_disable() local
803 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_allmulticast_disable()
804 ret = rte_eth_allmulticast_disable(PORT_ID(sdev)); in fs_allmulticast_disable()
805 ret = fs_err(sdev, ret); in fs_allmulticast_disable()
808 PORT_ID(sdev)); in fs_allmulticast_disable()
814 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_allmulticast_disable()
815 ret = rte_eth_allmulticast_enable(PORT_ID(sdev)); in fs_allmulticast_disable()
816 ret = fs_err(sdev, ret); in fs_allmulticast_disable()
819 PORT_ID(sdev)); in fs_allmulticast_disable()
831 struct sub_device *sdev; in fs_link_update() local
836 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_link_update()
838 ret = (SUBOPS(sdev, link_update))(ETH(sdev), wait_to_complete); in fs_link_update()
839 if (ret && ret != -1 && sdev->remove == 0 && in fs_link_update()
840 rte_eth_dev_is_removed(PORT_ID(sdev)) == 0) { in fs_link_update()
868 struct sub_device *sdev; in fs_stats_get() local
874 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_stats_get()
875 struct rte_eth_stats *snapshot = &sdev->stats_snapshot.stats; in fs_stats_get()
876 uint64_t *timestamp = &sdev->stats_snapshot.timestamp; in fs_stats_get()
879 ret = rte_eth_stats_get(PORT_ID(sdev), snapshot); in fs_stats_get()
881 if (!fs_err(sdev, ret)) { in fs_stats_get()
902 struct sub_device *sdev; in fs_stats_reset() local
907 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_stats_reset()
908 ret = rte_eth_stats_reset(PORT_ID(sdev)); in fs_stats_reset()
910 if (!fs_err(sdev, ret)) in fs_stats_reset()
918 memset(&sdev->stats_snapshot, 0, sizeof(struct rte_eth_stats)); in fs_stats_reset()
929 struct sub_device *sdev; in __fs_xstats_count() local
934 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in __fs_xstats_count()
935 ret = rte_eth_xstats_get_names(PORT_ID(sdev), NULL, 0); in __fs_xstats_count()
949 struct sub_device *sdev; in __fs_xstats_get_names() local
957 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in __fs_xstats_get_names()
964 r = rte_eth_xstats_get_names(PORT_ID(sdev), in __fs_xstats_get_names()
1008 struct sub_device *sdev; in __fs_xstats_get() local
1021 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in __fs_xstats_get()
1022 ret = rte_eth_xstats_get(PORT_ID(sdev), xstats, n); in __fs_xstats_get()
1059 struct sub_device *sdev; in fs_xstats_reset() local
1064 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_xstats_reset()
1065 r = rte_eth_xstats_reset(PORT_ID(sdev)); in fs_xstats_reset()
1160 struct sub_device *sdev; in fs_dev_infos_get() local
1232 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_PROBED) { in fs_dev_infos_get()
1235 ret = rte_eth_dev_info_get(PORT_ID(sdev), &sub_info); in fs_dev_infos_get()
1236 ret = fs_err(sdev, ret); in fs_dev_infos_get()
1249 struct sub_device *sdev; in fs_dev_supported_ptypes_get() local
1254 sdev = TX_SUBDEV(dev); in fs_dev_supported_ptypes_get()
1255 if (sdev == NULL) { in fs_dev_supported_ptypes_get()
1259 edev = ETH(sdev); in fs_dev_supported_ptypes_get()
1261 if (SUBOPS(sdev, dev_supported_ptypes_get) == NULL) { in fs_dev_supported_ptypes_get()
1272 ret = SUBOPS(sdev, dev_supported_ptypes_get)(edev); in fs_dev_supported_ptypes_get()
1281 struct sub_device *sdev; in fs_mtu_set() local
1286 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_mtu_set()
1288 ret = rte_eth_dev_set_mtu(PORT_ID(sdev), mtu); in fs_mtu_set()
1289 if ((ret = fs_err(sdev, ret))) { in fs_mtu_set()
1303 struct sub_device *sdev; in fs_vlan_filter_set() local
1308 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_vlan_filter_set()
1310 ret = rte_eth_dev_vlan_filter(PORT_ID(sdev), vlan_id, on); in fs_vlan_filter_set()
1311 if ((ret = fs_err(sdev, ret))) { in fs_vlan_filter_set()
1326 struct sub_device *sdev; in fs_flow_ctrl_get() local
1330 sdev = TX_SUBDEV(dev); in fs_flow_ctrl_get()
1331 if (sdev == NULL) { in fs_flow_ctrl_get()
1335 if (SUBOPS(sdev, flow_ctrl_get) == NULL) { in fs_flow_ctrl_get()
1339 ret = SUBOPS(sdev, flow_ctrl_get)(ETH(sdev), fc_conf); in fs_flow_ctrl_get()
1349 struct sub_device *sdev; in fs_flow_ctrl_set() local
1354 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_flow_ctrl_set()
1356 ret = rte_eth_dev_flow_ctrl_set(PORT_ID(sdev), fc_conf); in fs_flow_ctrl_set()
1357 if ((ret = fs_err(sdev, ret))) { in fs_flow_ctrl_set()
1371 struct sub_device *sdev; in fs_mac_addr_remove() local
1378 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) in fs_mac_addr_remove()
1379 rte_eth_dev_mac_addr_remove(PORT_ID(sdev), in fs_mac_addr_remove()
1391 struct sub_device *sdev; in fs_mac_addr_add() local
1397 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_mac_addr_add()
1398 ret = rte_eth_dev_mac_addr_add(PORT_ID(sdev), mac_addr, vmdq); in fs_mac_addr_add()
1399 if ((ret = fs_err(sdev, ret))) { in fs_mac_addr_add()
1418 struct sub_device *sdev; in fs_mac_addr_set() local
1423 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_mac_addr_set()
1424 ret = rte_eth_dev_default_mac_addr_set(PORT_ID(sdev), mac_addr); in fs_mac_addr_set()
1425 ret = fs_err(sdev, ret); in fs_mac_addr_set()
1442 struct sub_device *sdev; in fs_set_mc_addr_list() local
1449 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_set_mc_addr_list()
1450 ret = rte_eth_dev_set_mc_addr_list(PORT_ID(sdev), in fs_set_mc_addr_list()
1474 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_set_mc_addr_list()
1475 int rc = rte_eth_dev_set_mc_addr_list(PORT_ID(sdev), in fs_set_mc_addr_list()
1491 struct sub_device *sdev; in fs_rss_hash_update() local
1496 FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { in fs_rss_hash_update()
1497 ret = rte_eth_dev_rss_hash_update(PORT_ID(sdev), rss_conf); in fs_rss_hash_update()
1498 ret = fs_err(sdev, ret); in fs_rss_hash_update()