Merge branch 'drm-next-4.19' of git://people.freedesktop.org/~agd5f/linux into drm-next
More features for 4.19: - Map processes to vmids for debugging GPUVM faults - Raven gfxoff fixes - Initial gfxoff support for vega12 - Use defines for interrupt sources rather than magic numbers - DC aux fixes - Finish DC logging TODO - Add more DC debugfs interfaces for conformance testing - Add CRC support for DCN - Scheduler rework in preparation for load balancing - Unify common smu9 code - Clean up UVD instancing support - ttm cleanups - Misc fixes and cleanups Signed-off-by: Dave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180719194001.3488-1-alexander.deucher@amd.com
This commit is contained in:
@@ -93,6 +93,7 @@ struct drm_sched_entity {
|
||||
* struct drm_sched_rq - queue of entities to be scheduled.
|
||||
*
|
||||
* @lock: to modify the entities list.
|
||||
* @sched: the scheduler to which this rq belongs to.
|
||||
* @entities: list of the entities to be scheduled.
|
||||
* @current_entity: the entity which is to be scheduled.
|
||||
*
|
||||
@@ -102,6 +103,7 @@ struct drm_sched_entity {
|
||||
*/
|
||||
struct drm_sched_rq {
|
||||
spinlock_t lock;
|
||||
struct drm_gpu_scheduler *sched;
|
||||
struct list_head entities;
|
||||
struct drm_sched_entity *current_entity;
|
||||
};
|
||||
@@ -280,9 +282,9 @@ int drm_sched_init(struct drm_gpu_scheduler *sched,
|
||||
const char *name);
|
||||
void drm_sched_fini(struct drm_gpu_scheduler *sched);
|
||||
|
||||
int drm_sched_entity_init(struct drm_gpu_scheduler *sched,
|
||||
struct drm_sched_entity *entity,
|
||||
struct drm_sched_rq *rq,
|
||||
int drm_sched_entity_init(struct drm_sched_entity *entity,
|
||||
struct drm_sched_rq **rq_list,
|
||||
unsigned int num_rq_list,
|
||||
atomic_t *guilty);
|
||||
long drm_sched_entity_flush(struct drm_gpu_scheduler *sched,
|
||||
struct drm_sched_entity *entity, long timeout);
|
||||
|
@@ -283,18 +283,30 @@ struct ttm_operation_ctx {
|
||||
/* when serving page fault or suspend, allow alloc anyway */
|
||||
#define TTM_OPT_FLAG_FORCE_ALLOC 0x2
|
||||
|
||||
/**
|
||||
* ttm_bo_get - reference a struct ttm_buffer_object
|
||||
*
|
||||
* @bo: The buffer object.
|
||||
*/
|
||||
static inline void ttm_bo_get(struct ttm_buffer_object *bo)
|
||||
{
|
||||
kref_get(&bo->kref);
|
||||
}
|
||||
|
||||
/**
|
||||
* ttm_bo_reference - reference a struct ttm_buffer_object
|
||||
*
|
||||
* @bo: The buffer object.
|
||||
*
|
||||
* Returns a refcounted pointer to a buffer object.
|
||||
*
|
||||
* This function is deprecated. Use @ttm_bo_get instead.
|
||||
*/
|
||||
|
||||
static inline struct ttm_buffer_object *
|
||||
ttm_bo_reference(struct ttm_buffer_object *bo)
|
||||
{
|
||||
kref_get(&bo->kref);
|
||||
ttm_bo_get(bo);
|
||||
return bo;
|
||||
}
|
||||
|
||||
@@ -345,12 +357,23 @@ int ttm_bo_validate(struct ttm_buffer_object *bo,
|
||||
struct ttm_placement *placement,
|
||||
struct ttm_operation_ctx *ctx);
|
||||
|
||||
/**
|
||||
* ttm_bo_put
|
||||
*
|
||||
* @bo: The buffer object.
|
||||
*
|
||||
* Unreference a buffer object.
|
||||
*/
|
||||
void ttm_bo_put(struct ttm_buffer_object *bo);
|
||||
|
||||
/**
|
||||
* ttm_bo_unref
|
||||
*
|
||||
* @bo: The buffer object.
|
||||
*
|
||||
* Unreference and clear a pointer to a buffer object.
|
||||
*
|
||||
* This function is deprecated. Use @ttm_bo_put instead.
|
||||
*/
|
||||
void ttm_bo_unref(struct ttm_buffer_object **bo);
|
||||
|
||||
|
Reference in New Issue
Block a user