[PATCH v3 4/5] PCI/IOV: Allow extending VF BAR within original resource boundary
Bjorn Helgaas
helgaas at kernel.org
Thu Oct 10 22:27:35 UTC 2024
On Thu, Oct 10, 2024 at 12:32:02PM +0200, Michał Winiarski wrote:
> VF MMIO resource reservation, either created by system firmware and
> inherited by Linux PCI subsystem or created by the subsystem itself,
> contains enough space to fit the BAR of all SR-IOV Virtual Functions
> that can potentially be created (total VFs supported by the device).
It's *possible* that this is true, but there's no guarantee that
firmware has assigned enough space for all BARs of all possible VFs.
> This can be leveraged when the device is exposing lower than optimal BAR
> size as a default, allowing access to the entire resource when lower
> number of VFs are created.
> It is achieved by dynamically resizing the BAR to largest possible value
> that allows to fit all newly created VFs within the original resource
> boundary.
Add blank lines between paragraphs.
This log doesn't actually say what the patch does. It describes a
possible configuration and ways that it may be used, and even *how*
something might be done, but something along the lines of the subject
line should be included in the commit log.
> +static void pci_iov_resource_do_extend(struct pci_dev *dev, int resno, u16 num_vfs)
Please wrap to fit in 80 columns like the rest of the file.
> +int pci_iov_resource_extend(struct pci_dev *dev, int resno, bool enable)
Please add kerneldoc here to help users of this exported function.
> @@ -480,6 +560,11 @@ static ssize_t sriov_numvfs_store(struct device *dev,
> goto exit;
> }
>
> + for (i = 0; i < PCI_SRIOV_NUM_BARS; i++) {
> + if (pdev->sriov->rebar_extend[i])
> + pci_iov_resource_do_extend(pdev, i + PCI_IOV_RESOURCES, num_vfs);
Wrap to fit in 80 columns.
Bjorn
More information about the dri-devel
mailing list