Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e22238ea authored by Thomas Hellstrom's avatar Thomas Hellstrom Committed by Dave Airlie
Browse files

drm/ttm: Fix a bug occuring when validating a buffer object in a range.



If the buffer object was already in the requested memory type, but
outside of the requested range it was never moved into the requested range.

Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 775c6709
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1020,6 +1020,12 @@ static int ttm_bo_mem_compat(struct ttm_placement *placement,
			     struct ttm_mem_reg *mem)
{
	int i;
	struct drm_mm_node *node = mem->mm_node;

	if (node && placement->lpfn != 0 &&
	    (node->start < placement->fpfn ||
	     node->start + node->size > placement->lpfn))
		return -1;

	for (i = 0; i < placement->num_placement; i++) {
		if ((placement->placement[i] & mem->placement &