Since we are actually mapping the object and not the vma, when dealing
with LMEM, we should be careful and use the obj->base.size here, since
the vma could have all kinds of funny padding constraints.

Signed-off-by: Matthew Auld <matthew.a...@intel.com>
Cc: Stanislav Lisovskiy <stanislav.lisovs...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_fbdev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c 
b/drivers/gpu/drm/i915/display/intel_fbdev.c
index 2cd62a187df3..3167ae334684 100644
--- a/drivers/gpu/drm/i915/display/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
@@ -290,7 +290,10 @@ static int intelfb_create(struct drm_fb_helper *helper,
                goto out_unpin;
        }
        info->screen_base = vaddr;
-       info->screen_size = vma->node.size;
+       if (i915_gem_object_is_lmem(obj))
+               info->screen_size = vma->obj->base.size;
+       else
+               info->screen_size = vma->node.size;
 
        drm_fb_helper_fill_info(info, &ifbdev->helper, sizes);
 
-- 
2.34.1

Reply via email to