drm/i915/buddy: tweak 2big check
authorMatthew Auld <matthew.auld@intel.com>
Fri, 25 Feb 2022 14:55:01 +0000 (14:55 +0000)
committerMatthew Auld <matthew.auld@intel.com>
Mon, 28 Feb 2022 08:47:35 +0000 (08:47 +0000)
Otherwise we get -EINVAL, instead of the more useful -E2BIG if the
allocation doesn't fit within the pfn range, like with mappable lmem.
The hugepages selftest, for example, needs this to know if a smaller
size is needed.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Acked-by: Nirmoy Das <nirmoy.das@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220225145502.331818-6-matthew.auld@intel.com
drivers/gpu/drm/i915/i915_ttm_buddy_manager.c

index 0ac6b2463fd5d32c07c69bfde32c1324af1e99bd..92d49a3c378c7eb51bf93f0f4fee81eb01af6cb5 100644 (file)
@@ -82,7 +82,7 @@ static int i915_ttm_buddy_man_alloc(struct ttm_resource_manager *man,
                        lpfn = pages;
        }
 
-       if (size > mm->size) {
+       if (size > lpfn << PAGE_SHIFT) {
                err = -E2BIG;
                goto err_free_res;
        }