Re: [PATCH] drm/ttm: call driver move_notify() when doing system->tt bo moves

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewed-by: Thomas Hellstrom <thomas@xxxxxxxxxxxx>


Ben Skeggs wrote:
> From: Ben Skeggs <bskeggs@xxxxxxxxxx>
>
> 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 <bskeggs@xxxxxxxxxx>
> ---
>  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@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux