diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2018-08-13 07:59:06 +0200 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-08-13 07:59:06 +0200 |
commit | b3124ec2f9970c7374d34b00843d9791fca66afc (patch) | |
tree | ae23bfb84d1bf196f7270bc438472d5329aeee92 /drivers/vfio | |
parent | powerpc/uaccess: Enable get_user(u64, *p) on 32-bit (diff) | |
parent | powerpc/64s/radix: Fix missing global invalidations when removing copro (diff) | |
download | linux-b3124ec2f9970c7374d34b00843d9791fca66afc.tar.xz linux-b3124ec2f9970c7374d34b00843d9791fca66afc.zip |
Merge branch 'fixes' into next
Merge our fixes branch from the 4.18 cycle to resolve some minor
conflicts.
Diffstat (limited to 'drivers/vfio')
-rw-r--r-- | drivers/vfio/vfio_iommu_spapr_tce.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/vfio/vfio_iommu_spapr_tce.c b/drivers/vfio/vfio_iommu_spapr_tce.c index 11a4c194d6e3..96721b154454 100644 --- a/drivers/vfio/vfio_iommu_spapr_tce.c +++ b/drivers/vfio/vfio_iommu_spapr_tce.c @@ -419,17 +419,17 @@ static void tce_iommu_unuse_page(struct tce_container *container, } static int tce_iommu_prereg_ua_to_hpa(struct tce_container *container, - unsigned long tce, unsigned long size, + unsigned long tce, unsigned long shift, unsigned long *phpa, struct mm_iommu_table_group_mem_t **pmem) { long ret = 0; struct mm_iommu_table_group_mem_t *mem; - mem = mm_iommu_lookup(container->mm, tce, size); + mem = mm_iommu_lookup(container->mm, tce, 1ULL << shift); if (!mem) return -EINVAL; - ret = mm_iommu_ua_to_hpa(mem, tce, phpa); + ret = mm_iommu_ua_to_hpa(mem, tce, shift, phpa); if (ret) return -EINVAL; @@ -450,7 +450,7 @@ static void tce_iommu_unuse_page_v2(struct tce_container *container, return; 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 %llx at #%lx was not cached, ret=%d\n", __func__, be64_to_cpu(*pua), entry, ret); @@ -566,7 +566,7 @@ static long tce_iommu_build_v2(struct tce_container *container, __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; |