On Tue, 2010-10-26 at 20:35 -0700, Nishanth Aravamudan wrote:
> iommu_table_setparms_lpar needs either the phb or the subbusnumber
> (not both), pass the phb to make it similar to iommu_table_setparms.
> 
> Note: In cases where a caller was passing bus->number previously to
> iommu_table_setparms_lpar() rather than phb->bus->number, this can lead
> to a different value in tbl->it_busno. The only example of this was the
> removed pci_dma_dev_setup_pSeriesLP(), removed in "ppc/iommu: remove
> unneeded pci_dma_dev_setup_pSeriesLP".
> 
> Signed-off-by: Milton Miller <milt...@bga.com>
> Signed-off-by: Nishanth Aravamudan <n...@us.ibm.com>
> ---
>  arch/powerpc/platforms/pseries/iommu.c |    8 +++-----
>  1 files changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/iommu.c 
> b/arch/powerpc/platforms/pseries/iommu.c
> index 9d564b9..45c6865 100644
> --- a/arch/powerpc/platforms/pseries/iommu.c
> +++ b/arch/powerpc/platforms/pseries/iommu.c
> @@ -323,14 +323,13 @@ static void iommu_table_setparms(struct pci_controller 
> *phb,
>  static void iommu_table_setparms_lpar(struct pci_controller *phb,
>                                     struct device_node *dn,
>                                     struct iommu_table *tbl,
> -                                   const void *dma_window,
> -                                   int bussubno)
> +                                   const void *dma_window)
>  {
>       unsigned long offset, size;
>  
> -     tbl->it_busno  = bussubno;
>       of_parse_dma_window(dn, dma_window, &tbl->it_index, &offset, &size);
>  
> +     tbl->it_busno = phb->bus->number;
>       tbl->it_base   = 0;
>       tbl->it_blocksize  = 16;
>       tbl->it_type = TCE_PCI;
> @@ -534,8 +533,7 @@ static void pci_dma_dev_setup_pSeriesLP(struct pci_dev 
> *dev)
>       if (!pci->iommu_table) {
>               tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL,
>                                  pci->phb->node);
> -             iommu_table_setparms_lpar(pci->phb, pdn, tbl, dma_window,
> -                     pci->phb->bus->number);
> +             iommu_table_setparms_lpar(pci->phb, pdn, tbl, dma_window);
>               pci->iommu_table = iommu_init_table(tbl, pci->phb->node);
>               pr_debug("  created table: %p\n", pci->iommu_table);
>       } else {

There's another caller :-) I've fixed that up locally and will push with
the fix.

Cheers,
Ben.


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to