From: keith.busch@intel.com (Keith Busch)
Subject: [pci PATCH v5 1/4] pci: Add pci_sriov_configure_simple for PFs that don't manage VF resources
Date: Mon, 12 Mar 2018 12:23:21 -0600 [thread overview]
Message-ID: <20180312182321.GG18494@localhost.localdomain> (raw)
In-Reply-To: <CAKgT0UdWc=Sz-xgd4H3bTDt5d17=-PY8VPWz6A3mAciWV6=97w@mail.gmail.com>
On Mon, Mar 12, 2018@11:09:34AM -0700, Alexander Duyck wrote:
> On Mon, Mar 12, 2018@10:40 AM, Keith Busch <keith.busch@intel.com> wrote:
> > On Mon, Mar 12, 2018@10:21:29AM -0700, Alexander Duyck wrote:
> >> diff --git a/include/linux/pci.h b/include/linux/pci.h
> >> index 024a1beda008..9cab9d0d51dc 100644
> >> --- a/include/linux/pci.h
> >> +++ b/include/linux/pci.h
> >> @@ -1953,6 +1953,7 @@ static inline void pci_mmcfg_late_init(void) { }
> >> int pci_vfs_assigned(struct pci_dev *dev);
> >> int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs);
> >> int pci_sriov_get_totalvfs(struct pci_dev *dev);
> >> +int pci_sriov_configure_simple(struct pci_dev *dev, int nr_virtfn);
> >> resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno);
> >> void pci_vf_drivers_autoprobe(struct pci_dev *dev, bool probe);
> >> #else
> >
> > I recommend stubbing 'pci_sriov_configure_simple' or defining it to
> > NULL in the '#else' section here so you don't need to repeat the "#ifdef
> > CONFIG_PCI_IOV" in each driver wishing to use this function. Otherwise
> > looks fine to me.
>
> My concern with defining it as NULL is that somebody may end up
> calling it in the future directly and that may end up causing issues.
> One thought I have been debating is moving it to a different file. I
> am just not sure where the best place to put something like this would
> be. I could move this function to drivers/pci/pci.c if everyone is
> okay with it and then I could just strip the contents out by wrapping
> them in a #ifdef instead.
Okay, instead of NULL, a stub implementation in the header file may
suffice when CONFIG_PCI_IOV is not defined:
static inline int pci_sriov_configure_simple(struct pci_dev *dev, int nr_virtfn)
{
return -ENOSYS;
}
See pci_iov_virtfn_bus, pci_iov_virtfn_devfn, pci_iov_add_virtfn, or
pci_enable_sriov for other examples.
WARNING: multiple messages have this Message-ID (diff)
From: Keith Busch <keith.busch@intel.com>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
"Duyck, Alexander H" <alexander.h.duyck@intel.com>,
linux-pci@vger.kernel.org, virtio-dev@lists.oasis-open.org,
kvm@vger.kernel.org, Netdev <netdev@vger.kernel.org>,
"Daly, Dan" <dan.daly@intel.com>,
LKML <linux-kernel@vger.kernel.org>,
linux-nvme@lists.infradead.org, netanel@amazon.com,
Maximilian Heyne <mheyne@amazon.de>,
"Wang, Liang-min" <liang-min.wang@intel.com>,
"Rustad, Mark D" <mark.d.rustad@intel.com>,
David Woodhouse <dwmw2@infradead.org>,
Christoph Hellwig <hch@lst.de>,
dwmw@amazon.co.uk
Subject: Re: [pci PATCH v5 1/4] pci: Add pci_sriov_configure_simple for PFs that don't manage VF resources
Date: Mon, 12 Mar 2018 12:23:21 -0600 [thread overview]
Message-ID: <20180312182321.GG18494@localhost.localdomain> (raw)
In-Reply-To: <CAKgT0UdWc=Sz-xgd4H3bTDt5d17=-PY8VPWz6A3mAciWV6=97w@mail.gmail.com>
On Mon, Mar 12, 2018 at 11:09:34AM -0700, Alexander Duyck wrote:
> On Mon, Mar 12, 2018 at 10:40 AM, Keith Busch <keith.busch@intel.com> wrote:
> > On Mon, Mar 12, 2018 at 10:21:29AM -0700, Alexander Duyck wrote:
> >> diff --git a/include/linux/pci.h b/include/linux/pci.h
> >> index 024a1beda008..9cab9d0d51dc 100644
> >> --- a/include/linux/pci.h
> >> +++ b/include/linux/pci.h
> >> @@ -1953,6 +1953,7 @@ static inline void pci_mmcfg_late_init(void) { }
> >> int pci_vfs_assigned(struct pci_dev *dev);
> >> int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs);
> >> int pci_sriov_get_totalvfs(struct pci_dev *dev);
> >> +int pci_sriov_configure_simple(struct pci_dev *dev, int nr_virtfn);
> >> resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno);
> >> void pci_vf_drivers_autoprobe(struct pci_dev *dev, bool probe);
> >> #else
> >
> > I recommend stubbing 'pci_sriov_configure_simple' or defining it to
> > NULL in the '#else' section here so you don't need to repeat the "#ifdef
> > CONFIG_PCI_IOV" in each driver wishing to use this function. Otherwise
> > looks fine to me.
>
> My concern with defining it as NULL is that somebody may end up
> calling it in the future directly and that may end up causing issues.
> One thought I have been debating is moving it to a different file. I
> am just not sure where the best place to put something like this would
> be. I could move this function to drivers/pci/pci.c if everyone is
> okay with it and then I could just strip the contents out by wrapping
> them in a #ifdef instead.
Okay, instead of NULL, a stub implementation in the header file may
suffice when CONFIG_PCI_IOV is not defined:
static inline int pci_sriov_configure_simple(struct pci_dev *dev, int nr_virtfn)
{
return -ENOSYS;
}
See pci_iov_virtfn_bus, pci_iov_virtfn_devfn, pci_iov_add_virtfn, or
pci_enable_sriov for other examples.
next prev parent reply other threads:[~2018-03-12 18:23 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-12 17:20 [pci PATCH v5 0/4] Series short description Alexander Duyck
2018-03-12 17:20 ` [virtio-dev] " Alexander Duyck
2018-03-12 17:20 ` Alexander Duyck
2018-03-12 17:21 ` [pci PATCH v5 1/4] pci: Add pci_sriov_configure_simple for PFs that don't manage VF resources Alexander Duyck
2018-03-12 17:21 ` [virtio-dev] " Alexander Duyck
2018-03-12 17:21 ` Alexander Duyck
2018-03-12 17:40 ` Keith Busch
2018-03-12 17:40 ` Keith Busch
2018-03-12 18:09 ` Alexander Duyck
2018-03-12 18:09 ` [virtio-dev] " Alexander Duyck
2018-03-12 18:09 ` Alexander Duyck
2018-03-12 18:23 ` Keith Busch [this message]
2018-03-12 18:23 ` Keith Busch
2018-03-12 20:17 ` Alexander Duyck
2018-03-12 20:17 ` [virtio-dev] " Alexander Duyck
2018-03-12 20:17 ` Alexander Duyck
2018-03-13 7:44 ` Christoph Hellwig
2018-03-13 7:44 ` Christoph Hellwig
2018-03-12 17:23 ` [pci PATCH v5 2/4] virtio_pci: Add support for unmanaged SR-IOV on virtio_pci devices Alexander Duyck
2018-03-12 17:23 ` [virtio-dev] " Alexander Duyck
2018-03-12 17:23 ` Alexander Duyck
2018-03-12 17:23 ` [pci PATCH v5 3/4] ena: Migrate over to unmanaged SR-IOV support Alexander Duyck
2018-03-12 17:23 ` [virtio-dev] " Alexander Duyck
2018-03-12 17:23 ` Alexander Duyck
2018-03-13 8:12 ` David Woodhouse
2018-03-13 8:12 ` David Woodhouse
2018-03-13 8:16 ` Christoph Hellwig
2018-03-13 8:16 ` Christoph Hellwig
2018-03-13 8:45 ` David Woodhouse
2018-03-13 8:45 ` David Woodhouse
2018-03-13 8:54 ` Christoph Hellwig
2018-03-13 8:54 ` Christoph Hellwig
2018-03-13 9:14 ` David Woodhouse
2018-03-13 9:14 ` David Woodhouse
2018-03-13 14:51 ` Alexander Duyck
2018-03-13 14:51 ` [virtio-dev] " Alexander Duyck
2018-03-13 14:51 ` Alexander Duyck
2018-03-13 15:04 ` David Woodhouse
2018-03-13 15:04 ` David Woodhouse
2018-03-13 16:17 ` Don Dutile
2018-03-13 16:17 ` Don Dutile
2018-03-12 17:23 ` [pci PATCH v5 4/4] nvme: " Alexander Duyck
2018-03-12 17:23 ` [virtio-dev] " Alexander Duyck
2018-03-12 17:23 ` Alexander Duyck
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=20180312182321.GG18494@localhost.localdomain \
--to=keith.busch@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.