[PATCH v10 0/5] PCI: VF resizable BAR
Michał Winiarski
michal.winiarski at intel.com
Mon Jul 14 09:39:38 UTC 2025
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).
Hi Bjorn,
Can you consider applying this series?
Or do you still have some comments?
Thanks,
-Michał
>
> 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(-)
>
> --
> 2.49.0
>
More information about the dri-devel
mailing list