Subject: linux-next: manual merge of the powerpc tree with the powerpc-fixes tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 20 Jul 2018 09:51:38 +1000

Hi all,

Today's linux-next merge of the powerpc tree got a conflict in:

  drivers/vfio/vfio_iommu_spapr_tce.c

between commit:

  1463edca6734 ("vfio/spapr: Use IOMMU pageshift rather than pagesize")

from the powerpc-fixes tree and commit:

  00a5c58d9499 ("KVM: PPC: Make iommu_table::it_userspace big endian")

from the powerpc tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/vfio/vfio_iommu_spapr_tce.c
index 7cd63b0c1a46,11a4c194d6e3..000000000000
--- a/drivers/vfio/vfio_iommu_spapr_tce.c
+++ b/drivers/vfio/vfio_iommu_spapr_tce.c
@@@ -487,11 -449,11 +449,11 @@@ static void tce_iommu_unuse_page_v2(str
  	if (!pua)
  		return;
  
- 	ret = tce_iommu_prereg_ua_to_hpa(container, *pua, tbl->it_page_shift,
- 			&hpa, &mem);
+ 	ret = tce_iommu_prereg_ua_to_hpa(container, be64_to_cpu(*pua),
 -			IOMMU_PAGE_SIZE(tbl), &hpa, &mem);
++			tbl->it_page_shift, &hpa, &mem);
  	if (ret)
- 		pr_debug("%s: tce %lx at #%lx was not cached, ret=%d\n",
- 				__func__, *pua, entry, ret);
+ 		pr_debug("%s: tce %llx at #%lx was not cached, ret=%d\n",
+ 				__func__, be64_to_cpu(*pua), entry, ret);
  	if (mem)
  		mm_iommu_mapped_dec(mem);
  
@@@ -599,19 -561,12 +561,12 @@@ static long tce_iommu_build_v2(struct t
  	unsigned long hpa;
  	enum dma_data_direction dirtmp;
  
- 	if (!tbl->it_userspace) {
- 		ret = tce_iommu_userspace_view_alloc(tbl, container->mm);
- 		if (ret)
- 			return ret;
- 	}
- 
  	for (i = 0; i < pages; ++i) {
  		struct mm_iommu_table_group_mem_t *mem = NULL;
- 		unsigned long *pua = IOMMU_TABLE_USERSPACE_ENTRY(tbl,
- 				entry + i);
+ 		__be64 *pua = IOMMU_TABLE_USERSPACE_ENTRY(tbl, entry + i);
  
  		ret = tce_iommu_prereg_ua_to_hpa(container,
 -				tce, IOMMU_PAGE_SIZE(tbl), &hpa, &mem);
 +				tce, tbl->it_page_shift, &hpa, &mem);
  		if (ret)
  			break;