DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@amd.com>
To: David Marchand <david.marchand@redhat.com>,
	Junfeng Guo <junfeng.guo@intel.com>
Cc: qi.z.zhang@intel.com, jingjing.wu@intel.com,
	beilei.xing@intel.com, dev@dpdk.org, xiaoyun.li@intel.com,
	awogbemila@google.com, bruce.richardson@intel.com,
	hemant.agrawal@nxp.com, stephen@networkplumber.org,
	chenbo.xia@intel.com, helin.zhang@intel.com
Subject: Re: [PATCH] net/gve: fix meson build failure on non-Linux platforms
Date: Wed, 26 Oct 2022 11:01:05 +0100	[thread overview]
Message-ID: <77e5b7c9-15a2-cf8e-4bb5-41fb9ec06ce9@amd.com> (raw)
In-Reply-To: <CAJFAV8wkyyohtu8WJEK66hutcj5DOu+gzRbsjVZjYR4+yu-6LA@mail.gmail.com>

On 10/26/2022 10:33 AM, David Marchand wrote:
> On Wed, Oct 26, 2022 at 11:10 AM Ferruh Yigit <ferruh.yigit@amd.com> wrote:
>>>> diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethdev.c
>>>> index b0f7b98daa..e968317737 100644
>>>> --- a/drivers/net/gve/gve_ethdev.c
>>>> +++ b/drivers/net/gve/gve_ethdev.c
>>>> @@ -1,12 +1,24 @@
>>>>    /* SPDX-License-Identifier: BSD-3-Clause
>>>>     * Copyright(C) 2022 Intel Corporation
>>>>     */
>>>> -#include <linux/pci_regs.h>
>>>>
>>>>    #include "gve_ethdev.h"
>>>>    #include "base/gve_adminq.h"
>>>>    #include "base/gve_register.h"
>>>>
>>>> +/*
>>>> + * Following macros are derived from linux/pci_regs.h, however,
>>>> + * we can't simply include that header here, as there is no such
>>>> + * file for non-Linux platform.
>>>> + */
>>>> +#define PCI_CFG_SPACE_SIZE     256
>>>> +#define PCI_CAPABILITY_LIST    0x34    /* Offset of first capability list entry */
>>>> +#define PCI_STD_HEADER_SIZEOF  64
>>>> +#define PCI_CAP_SIZEOF         4
>>>> +#define PCI_CAP_ID_MSIX                0x11    /* MSI-X */
>>>> +#define PCI_MSIX_FLAGS         2       /* Message Control */
>>>> +#define PCI_MSIX_FLAGS_QSIZE   0x07FF  /* Table size */
>>>

@Junfeng,

Can you please move these defines to 'gve_ethdev.h'?
Beginning of 'gve_ethdev.c' seems too unrelated for PCI defines.

>>> No, don't introduce such defines in a driver.
>>> We have a PCI library, that provides some defines.
>>> So fix your driver to use them.
>>>
> 
> After chat with Ferruh, I am ok if we take this compilation fix for
> now and unblock the CI..
> 

ack

> 
>>
>> I can see 'bnx2x' driver is using some flags from 'dev/pci/pcireg.h'
>> header for FreeBSD, unfortunately macro names are not same so a #ifdef
>> is required. Also I don't know it has all macros or if the header is
>> available in all versions etc..
>>
>> Other option can be to define them all for DPDK in common pci header? As
>> far as I can see we don't have all defined right now.
>>
> 
> If there are some missing definitions we can add them in the pci header indeed.
> Those are constants, defined in the PCIE standard.
> 
> I can post a cleanup later, but I would be happy if someone else handles it.
> 

@Junfeng,

Can you have bandwidth for this cleanup?

Task is to define PCI macros in common pci header, ('bus_pci_driver.h' I 
guess ?), and update drivers to use new common ones, remove local 
definition from drivers.

DPDK macros can use Linux macro names with RTE_ prefix and with a define 
guard, as done in following:
https://elixir.bootlin.com/dpdk/v22.07/source/drivers/bus/pci/linux/pci_init.h#L50


  reply	other threads:[~2022-10-26 10:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-26  8:42 Junfeng Guo
2022-10-26  8:51 ` David Marchand
2022-10-26  9:10   ` Ferruh Yigit
2022-10-26  9:33     ` David Marchand
2022-10-26 10:01       ` Ferruh Yigit [this message]
2022-10-26 10:24         ` Guo, Junfeng
2022-10-26 10:05 ` Gao, DaxueX
2022-10-26 10:23 ` [PATCH v2] " Junfeng Guo
2022-10-26 11:11   ` Ferruh Yigit
2022-10-27  3:08   ` Gao, DaxueX

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=77e5b7c9-15a2-cf8e-4bb5-41fb9ec06ce9@amd.com \
    --to=ferruh.yigit@amd.com \
    --cc=awogbemila@google.com \
    --cc=beilei.xing@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=chenbo.xia@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=helin.zhang@intel.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=jingjing.wu@intel.com \
    --cc=junfeng.guo@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=stephen@networkplumber.org \
    --cc=xiaoyun.li@intel.com \
    /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).