summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkash Goel <akash.goel@intel.com>2014-01-13 16:24:45 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-13 13:48:03 -0800
commit11f367131a70c8ad1e9f3159d0c6ef05989eb648 (patch)
treea5778a15f9355ec347feb7f305c133be1b98ff13
parent98e0694d0e679e7018b6617f48fa04b7b888cef3 (diff)
downloadlwn-11f367131a70c8ad1e9f3159d0c6ef05989eb648.tar.gz
lwn-11f367131a70c8ad1e9f3159d0c6ef05989eb648.zip
drm/i915: Fix the offset issue for the stolen GEM objects
commit ec14ba47791965d2c08e0a681ff44eacbf3c4553 upstream. The 'offset' field of the 'scatterlist' structure was wrongly programmed with the offset value from the base of stolen area, whereas this field indicates the offset from where the interested data starts within the first PAGE pointed to by 'scattterlist' structure. As a result when a new GEM object allocated from stolen area is mapped to GTT, it could lead to an overwrite of GTT entries as the page count calculation will go wrong, refer the function 'sg_page_count'. v2: Modified the commit message. (Chris) Signed-off-by: Akash Goel <akash.goel@intel.com> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71908 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69104 Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/i915/i915_gem_stolen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
index 130d1db27e28..fa2d15b16739 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -222,7 +222,7 @@ i915_pages_create_for_stolen(struct drm_device *dev,
}
sg = st->sgl;
- sg->offset = offset;
+ sg->offset = 0;
sg->length = size;
sg_dma_address(sg) = (dma_addr_t)dev_priv->mm.stolen_base + offset;