[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250312225949.969716-1-michal.winiarski@intel.com>
Date: Wed, 12 Mar 2025 23:59:43 +0100
From: Michał Winiarski <michal.winiarski@...el.com>
To: <linux-pci@...r.kernel.org>, <intel-xe@...ts.freedesktop.org>,
<dri-devel@...ts.freedesktop.org>, <linux-kernel@...r.kernel.org>, "Bjorn
Helgaas" <bhelgaas@...gle.com>, Christian König
<christian.koenig@....com>, Krzysztof Wilczyński
<kw@...ux.com>, Ilpo Järvinen
<ilpo.jarvinen@...ux.intel.com>
CC: 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>, Michał Winiarski
<michal.winiarski@...el.com>
Subject: [PATCH v5 0/6] PCI: VF resizable BAR
Hi,
No major logic changes since v4, just a few tweaks to docs, commit
messages and function naming.
v4 can be found here:
https://lore.kernel.org/linux-pci/20241025215038.3125626-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ł
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 (6):
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
drm/xe/pf: Set VF LMEM BAR size
drivers/gpu/drm/xe/regs/xe_bars.h | 1 +
drivers/gpu/drm/xe/xe_pci_sriov.c | 22 +++++
drivers/pci/iov.c | 155 +++++++++++++++++++++++++++---
drivers/pci/pci.c | 10 +-
drivers/pci/pci.h | 28 ++++++
drivers/pci/setup-bus.c | 3 +-
drivers/pci/setup-res.c | 35 ++++++-
include/linux/pci.h | 6 ++
include/uapi/linux/pci_regs.h | 1 +
9 files changed, 243 insertions(+), 18 deletions(-)
--
2.48.1
Powered by blists - more mailing lists