Reviewed-by: Thomas Hellstrom <tho...@shipmail.org>

Ben Skeggs wrote:
> From: Ben Skeggs <bske...@redhat.com>
>
> Nouveau doesn't have enough information at ttm_backend_func.bind() time
> to implement things like tiled GART, or to keep a buffer at a constant
> address in the GPU virtual address space no matter where in physical
> memory it's placed.
>
> To resolve this, nouveau will handle binding of all buffers to the GPU
> itself from the move_notify() hook.  This commit ensures it's called
> for all buffer moves.
>
> Talked to Dave about the impact on radeon, which uses move_notify, it
> doesn't look like anything should break there.
>
> Signed-off-by: Ben Skeggs <bske...@redhat.com>
> ---
>  drivers/gpu/drm/ttm/ttm_bo.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index af61fc2..0b6a55a 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -406,11 +406,12 @@ static int ttm_bo_handle_move_mem(struct
> ttm_buffer_object *bo,
>               }
>
>               if (bo->mem.mem_type == TTM_PL_SYSTEM) {
> +                     if (bdev->driver->move_notify)
> +                             bdev->driver->move_notify(bo, mem);
>                       bo->mem = *mem;
>                       mem->mm_node = NULL;
>                       goto moved;
>               }
> -
>       }
>
>       if (bdev->driver->move_notify)
> --
> 1.7.4
>
>


_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to