[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250714200553.GA2418827@bhelgaas>
Date: Mon, 14 Jul 2025 15:05:53 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Michał Winiarski <michal.winiarski@...el.com>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org, intel-xe@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org,
Christian König <christian.koenig@....com>,
Krzysztof Wilczyński <kw@...ux.com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@...el.com>,
Michal Wajdeczko <michal.wajdeczko@...el.com>,
Lucas De Marchi <lucas.demarchi@...el.com>,
Thomas Hellström <thomas.hellstrom@...ux.intel.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Matt Roper <matthew.d.roper@...el.com>
Subject: Re: [PATCH v10 0/5] PCI: VF resizable BAR
On Wed, Jul 02, 2025 at 11:35:17AM +0200, Michał Winiarski wrote:
> Hi,
>
> The series is now reviewed, and it looks like there's no further
> feedback.
> To limit it to PCI subsystem, I removed the last patch in the series, as
> it contained changes in drm/xe driver (it can still be found in v9 for
> reference, and I expect that this single patch will go through DRM tree
> anyways).
>
> v9 can be found here:
> https://lore.kernel.org/linux-pci/20250527120637.665506-1-michal.winiarski@intel.com/
>
> For regular BAR, drivers can use pci_resize_resource to resize it to the
> desired size provided that it is supported by the hardware, which the
> driver can query using pci_rebar_get_possible_sizes.
> This series expands the API to work with IOV BAR as well.
> It also adds the additional API for drivers to change the VF BAR size
> without resizing the entire underlying reservation (within the original
> resource boundary).
>
> Thanks,
> -Michał
>
> v9 -> v10:
> - Remove last patch with drm/xe changes
>
> v8 -> v9:
> - Use u64 as do_div() dividend (LKP)
> - Introduce a helper to access cached vf_rebar_cap (LKP)
>
> v7 -> v8:
> - Update variable ordering and missing includes (Ilpo)
>
> v6 -> v7:
> - Eliminate the loop in pci_iov_vf_bar_get_sizes() (Ilpo)
> - Use helper variable for indexes (Ilpo)
> - Kerneldoc formatting (Ilpo)
> - Refer to latest PCI spec (Ilpo)
> - Commit message wording (Ilpo)
>
> v5 -> v6:
> - Rebased on latest pci/next
> - Cache the VF resizable BAR capability position to avoid multiple
> lookups (Ilpo)
> - Use pci_resource_n helper (Ilpo)
>
> v4 -> v5:
> - Rename pci_resource_to/from_iov helpers and add WARN if called without
> CONFIG_PCI_IOV (Ilpo)
> - Reword kerneldoc for pci_iov_vf_bar_get_sizes (Bjorn)
> - Reword commit message for VF BAR size check, extract the additional
> size check to separate conditional (Bjorn)
>
> v3 -> v4:
> - Change the approach to extending the BAR (Christian)
> - Tidy the commit messages, use 80 line limit where necessary (Bjorn)
> - Add kerneldocs to exported functions (Bjorn)
> - Add pci_resource_to_iov() / pci_resource_from_iov() helpers (Ilpo)
> - Use FIELD_GET(), tidy whitespace (Ilpo)
>
> v2 -> v3:
> - Extract introducing pci_resource_is_iov to separate commit and
> use it elsewhere in PCI subsystem (Christian)
> - Extract restoring VF rebar state to separate commit (Christian)
> - Reorganize memory decoding check (Christian)
> - Don't use dev_WARN (Ilpo)
> - Fix build without CONFIG_PCI_IOV (CI)
>
> v1 -> v2:
> - Add pci_iov_resource_extend() and usage in Xe driver
> - Reduce the number of ifdefs (Christian)
> - Drop patch 2/2 from v1 (Christian)
> - Add a helper to avoid upsetting static analysis tools (Krzysztof)
>
> Michał Winiarski (5):
> PCI/IOV: Restore VF resizable BAR state after reset
> PCI: Add a helper to convert between VF BAR number and IOV resource
> PCI: Allow IOV resources to be resized in pci_resize_resource()
> PCI/IOV: Check that VF BAR fits within the reservation
> PCI: Allow drivers to control VF BAR size
>
> drivers/pci/iov.c | 153 +++++++++++++++++++++++++++++++---
> drivers/pci/pci.c | 8 +-
> drivers/pci/pci.h | 39 +++++++++
> drivers/pci/setup-bus.c | 3 +-
> drivers/pci/setup-res.c | 35 ++++++--
> include/linux/pci.h | 6 ++
> include/uapi/linux/pci_regs.h | 9 ++
> 7 files changed, 235 insertions(+), 18 deletions(-)
Applied to pci/resources for v6.17, thanks for the reminder!
Powered by blists - more mailing lists