Re: [PATCH V10 03/12] powerpc/pci: Cache VF index in pci_dn

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/26/2015 02:15 PM, Wei Yang wrote:
The patch caches the VF index in pci_dn, which can be used to calculate
VF's bus, device and function number. Those information helps to locate
the VF's PCI device instance when doing hotplug during EEH recovery if
necessary.


The patch itself does not make much sense and quite small, I'd merge it into the one which makes use of this new vf_index.


Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Acked-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
---
  arch/powerpc/include/asm/pci-bridge.h | 1 +
  arch/powerpc/kernel/pci_dn.c          | 4 +++-
  2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h
index b3a226b..3d7e537 100644
--- a/arch/powerpc/include/asm/pci-bridge.h
+++ b/arch/powerpc/include/asm/pci-bridge.h
@@ -210,6 +210,7 @@ struct pci_dn {
  #define IODA_INVALID_PE		(-1)
  #ifdef CONFIG_PPC_POWERNV
  	int	pe_number;
+	int     vf_index;		/* VF index in the PF */
  #ifdef CONFIG_PCI_IOV
  	u16     vfs_expanded;		/* number of VFs IOV BAR expanded */
  	u16     num_vfs;		/* number of VFs enabled*/
diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c
index b3b4df9..f771130 100644
--- a/arch/powerpc/kernel/pci_dn.c
+++ b/arch/powerpc/kernel/pci_dn.c
@@ -139,6 +139,7 @@ struct pci_dn *pci_get_pdn(struct pci_dev *pdev)
  #ifdef CONFIG_PCI_IOV
  static struct pci_dn *add_one_dev_pci_data(struct pci_dn *parent,
  					   struct pci_dev *pdev,
+					   int vf_index,
  					   int busno, int devfn)
  {
  	struct pci_dn *pdn;
@@ -157,6 +158,7 @@ static struct pci_dn *add_one_dev_pci_data(struct pci_dn *parent,
  	pdn->parent = parent;
  	pdn->busno = busno;
  	pdn->devfn = devfn;
+	pdn->vf_index = vf_index;
  #ifdef CONFIG_PPC_POWERNV
  	pdn->pe_number = IODA_INVALID_PE;
  #endif
@@ -196,7 +198,7 @@ struct pci_dn *add_dev_pci_data(struct pci_dev *pdev)
  		return NULL;

  	for (i = 0; i < pci_sriov_get_totalvfs(pdev); i++) {
-		pdn = add_one_dev_pci_data(parent, NULL,
+		pdn = add_one_dev_pci_data(parent, NULL, i,
  					   pci_iov_virtfn_bus(pdev, i),
  					   pci_iov_virtfn_devfn(pdev, i));
  		if (!pdn) {



--
Alexey
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux