lkml.org 
[lkml]   [2013]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[180/251] drm/mgag200: Invalidate page tables when pinning a BO
    3.6.11.9-rc1 stable review patch.
    If anyone has any objections, please let me know.

    ------------------

    From: Egbert Eich <eich@suse.com>

    [ Upstream commit ecaac1c866bcda4780a963b3d18cd310d971aea3 ]

    When a BO gets pinned the placement may get changed. If the memory is
    mapped into user space and user space has already accessed the mapped
    range the page tables are set up but now point to the wrong memory.
    Set bo.mdev->dev_mapping in mgag200_bo_create() to make sure that
    ttm_bo_unmap_virtual() called from ttm_bo_handle_move_mem() will take
    care of this.

    v2: Don't call ttm_bo_unmap_virtual() in mgag200_bo_pin(), fix comment.

    Signed-off-by: Egbert Eich <eich@suse.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    drivers/gpu/drm/mgag200/mgag200_ttm.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/gpu/drm/mgag200/mgag200_ttm.c b/drivers/gpu/drm/mgag200/mgag200_ttm.c
    index a707394..95b5377 100644
    --- a/drivers/gpu/drm/mgag200/mgag200_ttm.c
    +++ b/drivers/gpu/drm/mgag200/mgag200_ttm.c
    @@ -347,6 +347,7 @@ int mgag200_bo_create(struct drm_device *dev, int size, int align,

    mgabo->gem.driver_private = NULL;
    mgabo->bo.bdev = &mdev->ttm.bdev;
    + mgabo->bo.bdev->dev_mapping = dev->dev_mapping;

    mgag200_ttm_placement(mgabo, TTM_PL_FLAG_VRAM | TTM_PL_FLAG_SYSTEM);

    --
    1.7.10.4



    \
     
     \ /
      Last update: 2013-09-11 07:41    [W:4.086 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site