On Fri, Oct 09, 2015 at 10:46:52AM +0800, Wei Yang wrote: >The alignment of IOV BAR on PowerNV platform is the total size of the IOV >BAR. No matter whether the IOV BAR is extended with number of >roundup_pow_of_two(total_vfs) or number of max PE number (256), the total >size could be calculated by (vfs_expanded * VF_BAR_size). > >This patch simplifies the pnv_pci_iov_resource_alignment() by removing the >first case. > >Signed-off-by: Wei Yang <weiy...@linux.vnet.ibm.com> >Reviewed-by: Gavin Shan <gws...@linux.vnet.ibm.com> >Acked-by: Alexey Kardashevskiy <a...@ozlabs.ru> >--- > arch/powerpc/platforms/powernv/pci-ioda.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-) > >diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c >b/arch/powerpc/platforms/powernv/pci-ioda.c >index 8c031b5..7da476b 100644 >--- a/arch/powerpc/platforms/powernv/pci-ioda.c >+++ b/arch/powerpc/platforms/powernv/pci-ioda.c >@@ -2988,17 +2988,21 @@ static resource_size_t >pnv_pci_iov_resource_alignment(struct pci_dev *pdev, > int resno) > { > struct pci_dn *pdn = pci_get_pdn(pdev); >- resource_size_t align, iov_align; >- >- iov_align = resource_size(&pdev->resource[resno]); >- if (iov_align) >- return iov_align; >+ resource_size_t align; > >+ /* >+ * On PowerNV platform, IOV BAR is mapped by M64 BAR to enable the >+ * SR-IOV. While from hardware perspective, the range mapped by M64 >+ * BAR should be size aligned. >+ * >+ * This function returns the total IOV BAR size if M64 BAR is in >+ * Shared PE mode or just the individual size if not. >+ */
s/the invidial size/VF BAR size > align = pci_iov_resource_size(pdev, resno); >- if (pdn->vfs_expanded) >- return pdn->vfs_expanded * align; >+ if (!pdn->vfs_expanded) >+ return align; > >- return align; >+ return pdn->vfs_expanded * align; There is no difference before/after the changes. why this change is needed? > } > #endif /* CONFIG_PCI_IOV */ > >-- >2.5.0 > _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev