[dpdk-dev] [PATCH] bus/pci: use device driver name instead of handler type
Burakov, Anatoly
anatoly.burakov at intel.com
Thu Oct 25 11:29:06 CEST 2018
On 25-Oct-18 7:00 AM, Alejandro Lucero wrote:
> On Thu, Oct 25, 2018 at 6:30 AM Alejandro Lucero <
> alejandro.lucero at netronome.com> wrote:
>
>>
>>
>> On Thu, Oct 25, 2018 at 12:11 AM Thomas Monjalon <thomas at monjalon.net>
>> wrote:
>>
>>> Hi,
>>>
>>> 19/10/2018 18:43, Alejandro Lucero:
>>>> --- a/drivers/bus/pci/linux/pci.c
>>>> +++ b/drivers/bus/pci/linux/pci.c
>>>> + char devname[RTE_DEV_NAME_MAX_LEN] = {0};
>>>
>>> I think "" would be more appropriate than {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_read_config(intr_handle, buf, len, offset);
>>>> -
>>>> -#ifdef VFIO_PRESENT
>>>
>>> Why this #ifdef is removed?
>>>
>>>
>> Because it is not needed. VFIO is present if the kdrv field tells us so.
>>
>
> And at this point it is clear VFIO is present if that is the case.
> Otherwise this code is not executed.
Actually, i think Thomas is right here. The #ifdef shouldn't be removed,
because if this is not defined, the function is simply not present - see
pci_init.h, VFIO-related functions are only declared if VFIO_PRESENT is
defined.
>
>
>>
>>
>>>> - 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;
>>>> }
>>>
>>>
>>>
>>>
>
--
Thanks,
Anatoly
More information about the dev
mailing list