diff options
authorAkash Goel <>2014-01-13 16:24:45 +0530
committerDaniel Vetter <>2014-01-28 09:04:42 +0100
commitec14ba47791965d2c08e0a681ff44eacbf3c4553 (patch)
parent372fbb8e3927fc76b0f842d8eb8a798a71d8960f (diff)
drm/i915: Fix the offset issue for the stolen GEM objectsdrm-intel-fixes-2014-01-28
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 <> Reviewed-by: Jesse Barnes <> Cc: Bugzilla: Bugzilla: Signed-off-by: Daniel Vetter <>
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 fed87ec1721..1a24e84f231 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -250,7 +250,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;