On Thu, Apr 25, 2013 at 06:52:37AM +1000, Benjamin Herrenschmidt wrote: > >> diff --git a/arch/powerpc/include/asm/iommu.h >> b/arch/powerpc/include/asm/iommu.h >> index cbfe678..0db308e 100644 >> --- a/arch/powerpc/include/asm/iommu.h >> +++ b/arch/powerpc/include/asm/iommu.h >> @@ -76,6 +76,7 @@ struct iommu_table { >> struct iommu_pool large_pool; >> struct iommu_pool pools[IOMMU_NR_POOLS]; >> unsigned long *it_map; /* A simple allocation bitmap for now */ >> + void *sysdata; >> }; > >You should be able to avoid adding that field by using the container_of >trick to get to the PE and moving the iommu ops for ioda into pci-ioda.c >instead of sharing them with the non-ioda stuff. >
Yep. I will introduce one function pnv_pci_ioda_tce_invalidate() to pci-ioda.c and jump to IODA1/IODA2 cases there. By the way, I will introduce one addtional field "struct pnv_phb *phb" to "struct pnv_ioda_pe". Thanks, Gavin _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev