MCPcopy Create free account
hub / github.com/F-Stack/f-stack / rte_bbdev_close

Function rte_bbdev_close

dpdk/lib/bbdev/rte_bbdev.c:603–646  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

601}
602
603int
604rte_bbdev_close(uint16_t dev_id)
605{
606 int ret;
607 uint16_t i;
608 struct rte_bbdev *dev = get_dev(dev_id);
609 VALID_DEV_OR_RET_ERR(dev, dev_id);
610
611 VALID_DEV_OPS_OR_RET_ERR(dev, dev_id);
612
613 if (dev->data->started) {
614 ret = rte_bbdev_stop(dev_id);
615 if (ret < 0) {
616 rte_bbdev_log(ERR, "Device %u stop failed", dev_id);
617 return ret;
618 }
619 }
620
621 /* Free memory used by queues */
622 for (i = 0; i < dev->data->num_queues; i++) {
623 ret = dev->dev_ops->queue_release(dev, i);
624 if (ret < 0) {
625 rte_bbdev_log(ERR, "Device %u queue %u release failed",
626 dev_id, i);
627 return ret;
628 }
629 }
630 rte_free(dev->data->queues);
631
632 if (dev->dev_ops->close) {
633 ret = dev->dev_ops->close(dev);
634 if (ret < 0) {
635 rte_bbdev_log(ERR, "Device %u close failed", dev_id);
636 return ret;
637 }
638 }
639
640 /* Clear configuration */
641 dev->data->queues = NULL;
642 dev->data->num_queues = 0;
643
644 rte_bbdev_log_debug("Closed device %u", dev_id);
645 return 0;
646}
647
648int
649rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id)

Callers 5

fpga_5gnr_fec_removeFunction · 0.85
fpga_lte_fec_removeFunction · 0.85
acc_pci_removeFunction · 0.85
ut_teardownFunction · 0.85

Calls 4

get_devFunction · 0.85
rte_bbdev_stopFunction · 0.85
rte_freeFunction · 0.85
closeMethod · 0.45

Tested by 2

ut_teardownFunction · 0.68