From: "Guo, Junfeng" <junfeng.guo@intel.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>,
David Marchand <david.marchand@redhat.com>
Cc: "Zhang, Qi Z" <qi.z.zhang@intel.com>,
"Wu, Jingjing" <jingjing.wu@intel.com>,
"Xing, Beilei" <beilei.xing@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>,
"Li, Xiaoyun" <xiaoyun.li@intel.com>,
"awogbemila@google.com" <awogbemila@google.com>,
"Richardson, Bruce" <bruce.richardson@intel.com>,
"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
"stephen@networkplumber.org" <stephen@networkplumber.org>,
"Xia, Chenbo" <chenbo.xia@intel.com>,
"Zhang, Helin" <helin.zhang@intel.com>
Subject: RE: [PATCH] net/gve: fix meson build failure on non-Linux platforms
Date: Wed, 26 Oct 2022 10:24:47 +0000 [thread overview]
Message-ID: <DM6PR11MB372342EBB661D3504AB2A936E7309@DM6PR11MB3723.namprd11.prod.outlook.com> (raw)
In-Reply-To: <77e5b7c9-15a2-cf8e-4bb5-41fb9ec06ce9@amd.com>
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@amd.com>
> Sent: Wednesday, October 26, 2022 18:01
> To: David Marchand <david.marchand@redhat.com>; Guo, Junfeng
> <junfeng.guo@intel.com>
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> dev@dpdk.org; Li, Xiaoyun <xiaoyun.li@intel.com>;
> awogbemila@google.com; Richardson, Bruce
> <bruce.richardson@intel.com>; hemant.agrawal@nxp.com;
> stephen@networkplumber.org; Xia, Chenbo <chenbo.xia@intel.com>;
> Zhang, Helin <helin.zhang@intel.com>
> Subject: Re: [PATCH] net/gve: fix meson build failure on non-Linux
> platforms
>
> 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.
Sure, will update this in v2. Thanks!
>
> >>> 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.
Yes, the task makes sense and is quite clear.
How about doing this cleanup later, maybe next week with a new patch?
Quite busy this week due to RC2...
Thanks! :)
>
> 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_i
> nit.h#L50
I'll try with this, thanks for the comments!
next prev parent reply other threads:[~2022-10-26 10:25 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
2022-10-26 10:24 ` Guo, Junfeng [this message]
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=DM6PR11MB372342EBB661D3504AB2A936E7309@DM6PR11MB3723.namprd11.prod.outlook.com \
--to=junfeng.guo@intel.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=ferruh.yigit@amd.com \
--cc=helin.zhang@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=jingjing.wu@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).