[Intel-gfx] [PATCH 1/7] drm/i915: Fix the offset issue for the stolen GEM objects
Jesse Barnes
jbarnes at virtuousgeek.org
Tue Jan 28 01:30:41 CET 2014
On Mon, 13 Jan 2014 16:24:45 +0530
akash.goel at intel.com wrote:
> From: Akash Goel <akash.goel at intel.com>
>
> 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 at intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
> index fed87ec..1a24e84 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;
Let's get this upstream and cc stable.
Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
--
Jesse Barnes, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list