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@xxxxxxxxx/ > > 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!