From: Michael Ellerman Date: Mon, 13 Aug 2018 05:59:06 +0000 (+1000) Subject: Merge branch 'fixes' into next X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b3124ec2f9970c7374d34b00843d9791fca66afc;p=openwrt%2Fstaging%2Fblogic.git Merge branch 'fixes' into next Merge our fixes branch from the 4.18 cycle to resolve some minor conflicts. --- b3124ec2f9970c7374d34b00843d9791fca66afc diff --cc arch/powerpc/kvm/book3s_64_vio_hv.c index 757976b3f640,5b298f5a1a14..506a4d400458 --- a/arch/powerpc/kvm/book3s_64_vio_hv.c +++ b/arch/powerpc/kvm/book3s_64_vio_hv.c @@@ -275,9 -279,14 +275,10 @@@ static long kvmppc_rm_tce_iommu_do_map( if (!mem) return H_TOO_HARD; - if (WARN_ON_ONCE_RM(mm_iommu_ua_to_hpa_rm(mem, ua, &hpa))) + if (WARN_ON_ONCE_RM(mm_iommu_ua_to_hpa_rm(mem, ua, tbl->it_page_shift, + &hpa))) return H_HARDWARE; - pua = (void *) vmalloc_to_phys(pua); - if (WARN_ON_ONCE_RM(!pua)) - return H_HARDWARE; - if (WARN_ON_ONCE_RM(mm_iommu_mapped_inc(mem))) return H_CLOSED; diff --cc drivers/vfio/vfio_iommu_spapr_tce.c index 11a4c194d6e3,7cd63b0c1a46..96721b154454 --- a/drivers/vfio/vfio_iommu_spapr_tce.c +++ b/drivers/vfio/vfio_iommu_spapr_tce.c @@@ -449,11 -487,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); @@@ -561,12 -599,19 +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;