diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2018-08-13 15:59:06 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-08-13 15:59:06 +1000 |
commit | b3124ec2f9970c7374d34b00843d9791fca66afc (patch) | |
tree | ae23bfb84d1bf196f7270bc438472d5329aeee92 /drivers/vfio | |
parent | f7a6947cd49b7ff4e03f1b4f7e7b223003d752ca (diff) | |
parent | cca19f0b684f4ed6aabf6ad07ae3e15e77bfd78a (diff) |
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; |