[dpdk-dev] [PATCH v4] ethdev: replace bus specific struct with generic dev

David Marchand david.marchand at 6wind.com
Fri Mar 30 17:29:59 CEST 2018


On Fri, Mar 30, 2018 at 5:17 PM, Ferruh Yigit <ferruh.yigit at intel.com> wrote:
> Public struct rte_eth_dev_info has a "struct rte_pci_device" field in it
> although it is common for all ethdev in all buses.
>
> Replacing pci specific struct with generic device struct and updating
> places that are using pci device in a way to get this information from
> generic device.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>

[snip]

> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> index 209796d46..68bdc3103 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -2421,6 +2421,7 @@ rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info)
>         memset(dev_info, 0, sizeof(struct rte_eth_dev_info));
>         dev_info->rx_desc_lim = lim;
>         dev_info->tx_desc_lim = lim;
> +       dev_info->device = dev->device;
>
>         RTE_FUNC_PTR_OR_RET(*dev->dev_ops->dev_infos_get);
>         (*dev->dev_ops->dev_infos_get)(dev, dev_info);

Reviewed-by: David Marchand <david.marchand at 6wind.com>

Just a little comment, do we want the pmd to be able to override this ?

I can see we enforce the driver name by putting it after the call to
.dev_infos_get.
http://dpdk.org/browse/dpdk/tree/lib/librte_ether/rte_ethdev.c#n2399

octeontx pmd seems to try to do something about it:
http://dpdk.org/browse/dpdk/tree/drivers/net/octeontx/octeontx_ethdev.c#n622

Not sure it does something, might be a thing to cleanup.


-- 
David Marchand


More information about the dev mailing list