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

Commit 69fb704c authored by Sinclair Yeh's avatar Sinclair Yeh Committed by Sasha Levin
Browse files

drm/ttm: Make ttm_bo_mem_compat available



[ Upstream commit 94477bff390aa4612d2332c8abafaae0a13d6923 ]

There are cases where it is desired to see if a proposed placement
is compatible with a buffer object before calling ttm_bo_validate().

Signed-off-by: default avatarSinclair Yeh <syeh@vmware.com>
Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
Cc: <stable@vger.kernel.org>
---
This is the first of a 3-patch series to fix a black screen
issue observed on Ubuntu 16.04 server.

Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
parent 3837836c
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -1000,7 +1000,7 @@ out_unlock:
	return ret;
	return ret;
}
}


static bool ttm_bo_mem_compat(struct ttm_placement *placement,
bool ttm_bo_mem_compat(struct ttm_placement *placement,
		       struct ttm_mem_reg *mem,
		       struct ttm_mem_reg *mem,
		       uint32_t *new_flags)
		       uint32_t *new_flags)
{
{
@@ -1034,6 +1034,7 @@ static bool ttm_bo_mem_compat(struct ttm_placement *placement,


	return false;
	return false;
}
}
EXPORT_SYMBOL(ttm_bo_mem_compat);


int ttm_bo_validate(struct ttm_buffer_object *bo,
int ttm_bo_validate(struct ttm_buffer_object *bo,
			struct ttm_placement *placement,
			struct ttm_placement *placement,
+14 −0
Original line number Original line Diff line number Diff line
@@ -316,6 +316,20 @@ ttm_bo_reference(struct ttm_buffer_object *bo)
 */
 */
extern int ttm_bo_wait(struct ttm_buffer_object *bo, bool lazy,
extern int ttm_bo_wait(struct ttm_buffer_object *bo, bool lazy,
		       bool interruptible, bool no_wait);
		       bool interruptible, bool no_wait);

/**
 * ttm_bo_mem_compat - Check if proposed placement is compatible with a bo
 *
 * @placement:  Return immediately if buffer is busy.
 * @mem:  The struct ttm_mem_reg indicating the region where the bo resides
 * @new_flags: Describes compatible placement found
 *
 * Returns true if the placement is compatible
 */
extern bool ttm_bo_mem_compat(struct ttm_placement *placement,
			      struct ttm_mem_reg *mem,
			      uint32_t *new_flags);

/**
/**
 * ttm_bo_validate
 * ttm_bo_validate
 *
 *