bus/pci: use given name as generic name
authorGaetan Rivet <gaetan.rivet@6wind.com>
Sat, 15 Jul 2017 17:56:39 +0000 (19:56 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 19 Jul 2017 21:40:28 +0000 (00:40 +0300)
commit23eaa9059ec24e95e32361f333ed0686f82bea74
tree119b77caf163b24351b0cb5e40a4d221baeaa9fa
parent7e8b2665014614c3dda9ec7f4bc32c33f8864a27
bus/pci: use given name as generic name

When an application requests the use of a PCI device, it can currently
interchangeably use either the longform DomBDF format (0000:00:00.0) or
the shorter BDF format (00:00.0).

When a device is inserted via the hotplug API, it must first be scanned
and then will be identified by its name using `find_device`. The name of
the device must match the name given by the user to be found and then
probed.

A new function sets the expected name for a scanned PCI device. It was
previously generated from parsing the PCI address. This canonical name
is superseded when an rte_devargs exists describing the device. In such
case, the device takes the given name found within the rte_devargs.

As the rte_devargs is linked to the rte_pci_device during scanning, it
can be avoided during the probe. Additionally, this fixes the issue of
the rte_devargs lookup not being done within rte_pci_probe_one.

Fixes: beec692c5157 ("eal: add name field to generic device")
Cc: stable@dpdk.org
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
lib/librte_eal/bsdapp/eal/eal_pci.c
lib/librte_eal/common/eal_common_pci.c
lib/librte_eal/common/eal_private.h
lib/librte_eal/linuxapp/eal/eal_pci.c