diff options
author | Dave Airlie <airlied@redhat.com> | 2013-11-21 18:46:56 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-11-21 18:46:56 +1000 |
commit | 27946e97108de281e0e9310965ac9a83a4aaa6fe (patch) | |
tree | bc0b2f03c5f25683128a0e2fec3f3a8bced0500e /drivers/gpu/drm/ttm/ttm_bo_util.c | |
parent | 28adb3026d01da3f6acded3cec817e1a3ba37f44 (diff) | |
parent | c58f009e01c918717379c206a63baa66f56a77f9 (diff) |
Merge branch 'ttm-fixes-3.13' of git://people.freedesktop.org/~thomash/linux into drm-fixes
The set_need_resched() removal fix and yet another fix in
ttm_bo_move_memcpy().
* 'ttm-fixes-3.13' of git://people.freedesktop.org/~thomash/linux:
drm/ttm: Remove set_need_resched from the ttm fault handler
drm/ttm: Don't move non-existing data
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_bo_util.c')
-rw-r--r-- | drivers/gpu/drm/ttm/ttm_bo_util.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c index 4834c463c38..15b86a94949 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_util.c +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c @@ -350,10 +350,13 @@ int ttm_bo_move_memcpy(struct ttm_buffer_object *bo, goto out2; /* - * Move nonexistent data. NOP. + * Don't move nonexistent data. Clear destination instead. */ - if (old_iomap == NULL && ttm == NULL) + if (old_iomap == NULL && + (ttm == NULL || ttm->state == tt_unpopulated)) { + memset_io(new_iomap, 0, new_mem->num_pages*PAGE_SIZE); goto out2; + } /* * TTM might be null for moves within the same region. |