All of lore.kernel.org
 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 [PATCH] net/gve: fix meson build failure on non-Linux platforms 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.