[dpdk-dev] [PATCH v4 9/9] ethdev: use embedded rte_device to detach driver
Thomas Monjalon
thomas at monjalon.net
Wed Jun 21 16:33:16 CEST 2017
21/06/2017 01:29, Gaetan Rivet:
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -354,26 +354,14 @@ rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id)
> static int
> rte_eth_dev_is_detachable(uint8_t port_id)
> {
> - uint32_t dev_flags;
> + struct rte_eth_dev *dev;
>
> RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
>
> - switch (rte_eth_devices[port_id].data->kdrv) {
> - case RTE_KDRV_IGB_UIO:
> - case RTE_KDRV_UIO_GENERIC:
> - case RTE_KDRV_NIC_UIO:
> - case RTE_KDRV_NONE:
> - case RTE_KDRV_VFIO:
> - break;
> - default:
> - return -ENOTSUP;
> - }
> - dev_flags = rte_eth_devices[port_id].data->dev_flags;
> - if ((dev_flags & RTE_ETH_DEV_DETACHABLE) &&
> - (!(dev_flags & RTE_ETH_DEV_BONDED_SLAVE)))
> + dev = &rte_eth_devices[port_id];
> + if (dev->data->dev_flags & RTE_ETH_DEV_BONDED_SLAVE)
> return 0;
> - else
> - return 1;
> + return !!dev->device->devargs->bus->unplug;
> }
The changes in rte_eth_dev_is_detachable() deserves a separate commit.
Are you removing RTE_ETH_DEV_DETACHABLE flag?
I think this change cannot be done before implementing unplug in PCI.
More information about the dev
mailing list