| 778 | } |
| 779 | |
| 780 | int |
| 781 | rte_bbdev_info_get(uint16_t dev_id, struct rte_bbdev_info *dev_info) |
| 782 | { |
| 783 | struct rte_bbdev *dev = get_dev(dev_id); |
| 784 | VALID_DEV_OR_RET_ERR(dev, dev_id); |
| 785 | |
| 786 | VALID_FUNC_OR_RET_ERR(dev->dev_ops->info_get, dev_id); |
| 787 | |
| 788 | if (dev_info == NULL) { |
| 789 | rte_bbdev_log(ERR, "NULL dev info structure"); |
| 790 | return -EINVAL; |
| 791 | } |
| 792 | |
| 793 | /* Copy data maintained by device interface layer */ |
| 794 | memset(dev_info, 0, sizeof(*dev_info)); |
| 795 | dev_info->dev_name = dev->data->name; |
| 796 | dev_info->num_queues = dev->data->num_queues; |
| 797 | dev_info->device = dev->device; |
| 798 | dev_info->socket_id = dev->data->socket_id; |
| 799 | dev_info->started = dev->data->started; |
| 800 | |
| 801 | /* Copy data maintained by device driver layer */ |
| 802 | dev->dev_ops->info_get(dev, &dev_info->drv); |
| 803 | |
| 804 | rte_bbdev_log_debug("Retrieved info of device %u", dev_id); |
| 805 | return 0; |
| 806 | } |
| 807 | |
| 808 | int |
| 809 | rte_bbdev_queue_info_get(uint16_t dev_id, uint16_t queue_id, |