summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2024-08-13 00:23:26 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2024-08-13 00:23:26 +0000
commitdb8b6f7669a62ce8fce203784491cf71a7d66744 (patch)
tree2d84df66b767c7c0c77975ddcc8c77565410fc0d
parenta5936a047629c8082ae3659272dc9ee7e8666aba (diff)
drm/i915/fbdev: Fix smem_start for LMEMBAR stolen objects
From Ville Syrjala f1ee98cff3d86271491b08315fcdfa4c3f097e1e in mainline linux
-rw-r--r--sys/dev/pci/drm/i915/display/intel_fbdev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/i915/display/intel_fbdev.c b/sys/dev/pci/drm/i915/display/intel_fbdev.c
index 63f6bba7df8..53c428282d2 100644
--- a/sys/dev/pci/drm/i915/display/intel_fbdev.c
+++ b/sys/dev/pci/drm/i915/display/intel_fbdev.c
@@ -295,7 +295,8 @@ static int intelfb_create(struct drm_fb_helper *helper,
/* Use fbdev's framebuffer from lmem for discrete */
info->fix.smem_start =
(unsigned long)(mem->io.start +
- i915_gem_object_get_dma_address(obj, 0));
+ i915_gem_object_get_dma_address(obj, 0) -
+ mem->region.start);
info->fix.smem_len = obj->base.size;
} else {
/* Our framebuffer is the entirety of fbdev's system memory */