----- Original Message ----- > If ttm_bo_move_memcpy was instructed to move a non-populated ttm to > io memory, it would first populate the ttm, then move the data and then > destroy the ttm. That's stupid. However, some drivers might have relied on > this to clear io memory from old stuff. So instead of a NOP, which would > be the most efficient, just clear the destination. > > Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Jakob Bornecrantz <jakob@xxxxxxxxxx> Cheers, Jakob. > --- > drivers/gpu/drm/ttm/ttm_bo_util.c | 7 +++++-- > 1 file 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 4834c46..15b86a9 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. > -- > 1.7.10.4 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel