On Tue, 2010-10-26 at 20:35 -0700, Nishanth Aravamudan wrote:
> The iommu_table pointer in the pci auxiliary struct of device_node has
> not been used by the iommu ops since the dma refactor of
> 12d04eef927bf61328af2c7cbe756c96f98ac3bf, however this code still uses
> it to find tables for dlpar. By only setting the PCI_DN iommu_table
> pointer on nodes with dma window properties, we will be able to quickly
> find the node for later checks, and can remove the table without looking
> for the the dma window property on dlpar remove.

The answer might well be yes but are we sure this works with busses &
devices that don't have a dma,window ? ie. we always properly look for
parents when assigning pci devices arch_data iommu table ? Did you test
it ? :-) (Best way is to find a card with a P2P bridge on it).

Cheers,
Ben. 

> Signed-off-by: Milton Miller <milt...@bga.com>
> Signed-off-by: Nishanth Aravamudan <n...@us.ibm.com>
> ---
>  arch/powerpc/platforms/pseries/iommu.c |    6 +-----
>  1 files changed, 1 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/iommu.c 
> b/arch/powerpc/platforms/pseries/iommu.c
> index 9184db3..8ab32da 100644
> --- a/arch/powerpc/platforms/pseries/iommu.c
> +++ b/arch/powerpc/platforms/pseries/iommu.c
> @@ -455,9 +455,6 @@ static void pci_dma_bus_setup_pSeriesLP(struct pci_bus 
> *bus)
>               ppci->iommu_table = iommu_init_table(tbl, ppci->phb->node);
>               pr_debug("  created table: %p\n", ppci->iommu_table);
>       }
> -
> -     if (pdn != dn)
> -             PCI_DN(dn)->iommu_table = ppci->iommu_table;
>  }
>  
> @@ -571,8 +568,7 @@ static int iommu_reconfig_notifier(struct notifier_block 
> *nb, unsigned long acti
>  
>       switch (action) {
>       case PSERIES_RECONFIG_REMOVE:
> -             if (pci && pci->iommu_table &&
> -                 of_get_property(np, "ibm,dma-window", NULL))
> +             if (pci && pci->iommu_table)
>                       iommu_free_table(pci->iommu_table, np->full_name);
>               break;
>       default:


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

Reply via email to