From: "Burakov, Anatoly" <anatoly.burakov@intel.com>
To: Alejandro Lucero <alejandro.lucero@netronome.com>, dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v2] bus/pci: use device driver name instead of handler type
Date: Fri, 26 Oct 2018 15:03:39 +0100 [thread overview]
Message-ID: <073701fc-1189-19f8-a635-4e92e52f948b@intel.com> (raw)
In-Reply-To: <1540464568-42054-1-git-send-email-alejandro.lucero@netronome.com>
On 25-Oct-18 11:49 AM, Alejandro Lucero wrote:
> Invoking the right pci read/write functions is based on interrupt
> handler type. However, this is not configured for secondary processes
> precluding to use those functions.
>
> This patch fixes the issue using the driver name the device is bound
> to instead.
>
> Fixes: 632b2d1deeed ("eal: provide functions to access PCI config")
>
> v2:
> - Use #ifdef for VFIO functions
>
> Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
> ---
> drivers/bus/pci/linux/pci.c | 32 ++++++++++++++------------------
> 1 file changed, 14 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c
> index 5cf78d7..59a2086 100644
> --- a/drivers/bus/pci/linux/pci.c
> +++ b/drivers/bus/pci/linux/pci.c
> @@ -673,23 +673,21 @@ enum rte_iova_mode
> int rte_pci_read_config(const struct rte_pci_device *device,
> void *buf, size_t len, off_t offset)
> {
> + char devname[RTE_DEV_NAME_MAX_LEN] = {0};
Probably "" instead of {0} is better. Same in other case.
Otherwise, LGTM
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
> const struct rte_intr_handle *intr_handle = &device->intr_handle;
>
> - switch (intr_handle->type) {
> - case RTE_INTR_HANDLE_UIO:
> - case RTE_INTR_HANDLE_UIO_INTX:
> + switch (device->kdrv) {
> + case RTE_KDRV_IGB_UIO:
> return pci_uio_read_config(intr_handle, buf, len, offset);
> -
> #ifdef VFIO_PRESENT
> - case RTE_INTR_HANDLE_VFIO_MSIX:
> - case RTE_INTR_HANDLE_VFIO_MSI:
> - case RTE_INTR_HANDLE_VFIO_LEGACY:
> + case RTE_KDRV_VFIO:
> return pci_vfio_read_config(intr_handle, buf, len, offset);
> #endif
> default:
> + rte_pci_device_name(&device->addr, devname,
> + RTE_DEV_NAME_MAX_LEN);
> RTE_LOG(ERR, EAL,
> - "Unknown handle type of fd %d\n",
> - intr_handle->fd);
> + "Unknown driver type for %s\n", devname);
> return -1;
> }
> }
> @@ -698,23 +696,21 @@ int rte_pci_read_config(const struct rte_pci_device *device,
> int rte_pci_write_config(const struct rte_pci_device *device,
> const void *buf, size_t len, off_t offset)
> {
> + char devname[RTE_DEV_NAME_MAX_LEN] = {0};
> const struct rte_intr_handle *intr_handle = &device->intr_handle;
>
> - switch (intr_handle->type) {
> - case RTE_INTR_HANDLE_UIO:
> - case RTE_INTR_HANDLE_UIO_INTX:
> + switch (device->kdrv) {
> + case RTE_KDRV_IGB_UIO:
> return pci_uio_write_config(intr_handle, buf, len, offset);
> -
> #ifdef VFIO_PRESENT
> - case RTE_INTR_HANDLE_VFIO_MSIX:
> - case RTE_INTR_HANDLE_VFIO_MSI:
> - case RTE_INTR_HANDLE_VFIO_LEGACY:
> + case RTE_KDRV_VFIO:
> return pci_vfio_write_config(intr_handle, buf, len, offset);
> #endif
> default:
> + rte_pci_device_name(&device->addr, devname,
> + RTE_DEV_NAME_MAX_LEN);
> RTE_LOG(ERR, EAL,
> - "Unknown handle type of fd %d\n",
> - intr_handle->fd);
> + "Unknown driver type for %s\n", devname);
> return -1;
> }
> }
>
--
Thanks,
Anatoly
next prev parent reply other threads:[~2018-10-26 14:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-25 10:49 Alejandro Lucero
2018-10-26 14:03 ` Burakov, Anatoly [this message]
2018-10-29 0:05 ` Thomas Monjalon
-- strict thread matches above, loose matches on Subject: below --
2018-10-25 10:48 Alejandro Lucero
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=073701fc-1189-19f8-a635-4e92e52f948b@intel.com \
--to=anatoly.burakov@intel.com \
--cc=alejandro.lucero@netronome.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).