Thread (122 messages) 122 messages, 8 authors, 2016-02-03

Re: [PATCH v2 6/7] eal: pci: export pci_map_device

From: Yuanhan Liu <hidden>
Date: 2016-01-12 08:39:46

On Tue, Jan 12, 2016 at 09:31:05AM +0100, David Marchand wrote:
On Tue, Jan 12, 2016 at 7:59 AM, Yuanhan Liu [off-list ref]
wrote:

    Normally we could set RTE_PCI_DRV_NEED_MAPPING flag so that eal will
    invoke pci_map_device internally for us. From that point view, there
    is no need to export pci_map_device.

    However, for virtio pmd driver, which is designed to work without
    binding UIO (or something similar first), pci_map_device() will fail,
    which ends up with virtio pmd driver being skipped. Therefore, we can
    not set RTE_PCI_DRV_NEED_MAPPING blindly at virtio pmd driver.

    Therefore, this patch exports pci_map_device, and let virtio pmd
    call it when necessary.


Well, if you introduce map function, I suppose, for hotplug, you would need
unmap.
Good remind. Thanks. I will export pci_unmap_device as well.
[snip]


    diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/
    common/include/rte_pci.h
    index 334c12e..e9e1725 100644
    --- a/lib/librte_eal/common/include/rte_pci.h
    +++ b/lib/librte_eal/common/include/rte_pci.h
    @@ -485,6 +485,17 @@ int rte_eal_pci_read_config(const struct
    rte_pci_device *device,
      */
     int rte_eal_pci_write_config(const struct rte_pci_device *device,
                                 const void *buf, size_t len, off_t offset);
    +/**
    + * Map this device
    + *
    + * This function is private to EAL.
    + *
    + * @return
    + *   0 on success, negative on error and positive if no driver
    + *   is found for the device.
    + */
    +int rte_eal_pci_map_device(struct rte_pci_device *dev);
    +


If you export it, then this can not be marked as private anymore.
Oops, a silly C&P error. Will fix it.
Description could be better (I agree it was not that great before).
And a little comment on when to call: driver should not set
RTE_PCI_DRV_NEED_MAPPING flag if it wants to use it.
Good suggestion.
The rest looks good to me.
Thanks.

	--yliu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help