[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 13/15] pcie: Add helpers to the SR/IOV API
From: |
Knut Omang |
Subject: |
Re: [PATCH 13/15] pcie: Add helpers to the SR/IOV API |
Date: |
Tue, 26 Oct 2021 18:57:45 +0200 |
User-agent: |
Evolution 3.38.4 (3.38.4-1.fc33) |
On Thu, 2021-10-07 at 18:24 +0200, Lukasz Maniak wrote:
> From: Łukasz Gieryk <lukasz.gieryk@linux.intel.com>
>
> Two convenience functions for retrieving:
> - the total number of VFs,
> - the PCIDevice object of the N-th VF.
>
> Signed-off-by: Łukasz Gieryk <lukasz.gieryk@linux.intel.com>
> ---
> hw/pci/pcie_sriov.c | 14 ++++++++++++++
> include/hw/pci/pcie_sriov.h | 8 ++++++++
> 2 files changed, 22 insertions(+)
>
> diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c
> index cac2aee061..5a8e92d5ab 100644
> --- a/hw/pci/pcie_sriov.c
> +++ b/hw/pci/pcie_sriov.c
> @@ -292,8 +292,22 @@ uint16_t pcie_sriov_vf_number(PCIDevice *dev)
> return dev->exp.sriov_vf.vf_number;
> }
>
> +uint16_t pcie_sriov_vf_number_total(PCIDevice *dev)
> +{
> + assert(!pci_is_vf(dev));
> + return dev->exp.sriov_pf.num_vfs;
> +}
>
> PCIDevice *pcie_sriov_get_pf(PCIDevice *dev)
> {
> return dev->exp.sriov_vf.pf;
> }
> +
> +PCIDevice *pcie_sriov_get_vf_at_index(PCIDevice *dev, int n)
> +{
> + assert(!pci_is_vf(dev));
> + if (n < dev->exp.sriov_pf.num_vfs) {
> + return dev->exp.sriov_pf.vf[n];
> + }
> + return NULL;
> +}
> diff --git a/include/hw/pci/pcie_sriov.h b/include/hw/pci/pcie_sriov.h
> index 9ab48b79c0..d1f39b7223 100644
> --- a/include/hw/pci/pcie_sriov.h
> +++ b/include/hw/pci/pcie_sriov.h
> @@ -65,9 +65,17 @@ void pcie_sriov_pf_disable_vfs(PCIDevice *dev);
> /* Get logical VF number of a VF - only valid for VFs */
> uint16_t pcie_sriov_vf_number(PCIDevice *dev);
>
> +/* Get the total number of VFs - only valid for PF */
> +uint16_t pcie_sriov_vf_number_total(PCIDevice *dev);
> +
> /* Get the physical function that owns this VF.
> * Returns NULL if dev is not a virtual function
> */
> PCIDevice *pcie_sriov_get_pf(PCIDevice *dev);
>
> +/* Get the n-th VF of this physical function - only valid for PF.
> + * Returns NULL if index is invalid
> + */
> +PCIDevice *pcie_sriov_get_vf_at_index(PCIDevice *dev, int n);
> +
> #endif /* QEMU_PCIE_SRIOV_H */
These look like natural improvements to me, thanks!
Reviewed-by: Knut Omang <knuto@ifi.uio.no>
- [PATCH 00/15] hw/nvme: SR-IOV with Virtualization Enhancements, Lukasz Maniak, 2021/10/07
- [PATCH 02/15] pcie: Add support for Single Root I/O Virtualization (SR/IOV), Lukasz Maniak, 2021/10/07
- [PATCH 12/15] hw/nvme: Initialize capability structures for primary/secondary controllers, Lukasz Maniak, 2021/10/07
- [PATCH 13/15] pcie: Add helpers to the SR/IOV API, Lukasz Maniak, 2021/10/07
- Re: [PATCH 13/15] pcie: Add helpers to the SR/IOV API,
Knut Omang <=
- [PATCH 15/15] docs: Add documentation for SR-IOV and Virtualization Enhancements, Lukasz Maniak, 2021/10/07
- [PATCH 06/15] hw/nvme: Add support for Primary Controller Capabilities, Lukasz Maniak, 2021/10/07
- [PATCH 07/15] hw/nvme: Add support for Secondary Controller List, Lukasz Maniak, 2021/10/07
- [PATCH 09/15] hw/nvme: Implement the Function Level Reset, Lukasz Maniak, 2021/10/07
- [PATCH 11/15] hw/nvme: Calculate BAR atributes in a function, Lukasz Maniak, 2021/10/07
- [PATCH 01/15] pcie: Set default and supported MaxReadReq to 512, Lukasz Maniak, 2021/10/07