Re: [RFC PATCH 6/7 v2] ppc/iommu: pass phb only to iommu_table_setparms_lpar

2010-12-09 Thread Nishanth Aravamudan
On 09.12.2010 [15:24:39 +1100], Benjamin Herrenschmidt wrote:
 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.

Shoot! Thanks for catching that.

-Nish

-- 
Nishanth Aravamudan n...@us.ibm.com
IBM Linux Technology Center
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [RFC PATCH 6/7 v2] ppc/iommu: pass phb only to iommu_table_setparms_lpar

2010-12-08 Thread Benjamin Herrenschmidt
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