drm/amdgpu: add owner for sched fence
Signed-off-by: Chunming Zhou <david1.zhou@amd.com> Reviewed-by: Christian K?nig <christian.koenig@amd.com>
This commit is contained in:

committed by
Alex Deucher

parent
c14692f0a7
commit
84f76ea6b0
@@ -232,7 +232,8 @@ static bool amd_sched_entity_in(struct amd_sched_job *job)
|
||||
int amd_sched_entity_push_job(struct amd_sched_job *sched_job)
|
||||
{
|
||||
struct amd_sched_entity *entity = sched_job->s_entity;
|
||||
struct amd_sched_fence *fence = amd_sched_fence_create(entity);
|
||||
struct amd_sched_fence *fence = amd_sched_fence_create(
|
||||
entity, sched_job->owner);
|
||||
int r;
|
||||
|
||||
if (!fence)
|
||||
|
@@ -65,6 +65,7 @@ struct amd_sched_fence {
|
||||
struct fence base;
|
||||
struct amd_gpu_scheduler *scheduler;
|
||||
spinlock_t lock;
|
||||
void *owner;
|
||||
};
|
||||
|
||||
struct amd_sched_job {
|
||||
@@ -72,6 +73,7 @@ struct amd_sched_job {
|
||||
struct amd_gpu_scheduler *sched;
|
||||
struct amd_sched_entity *s_entity;
|
||||
struct amd_sched_fence *s_fence;
|
||||
void *owner;
|
||||
};
|
||||
|
||||
extern const struct fence_ops amd_sched_fence_ops;
|
||||
@@ -126,7 +128,7 @@ int amd_sched_entity_fini(struct amd_gpu_scheduler *sched,
|
||||
int amd_sched_entity_push_job(struct amd_sched_job *sched_job);
|
||||
|
||||
struct amd_sched_fence *amd_sched_fence_create(
|
||||
struct amd_sched_entity *s_entity);
|
||||
struct amd_sched_entity *s_entity, void *owner);
|
||||
void amd_sched_fence_signal(struct amd_sched_fence *fence);
|
||||
|
||||
|
||||
|
@@ -27,7 +27,7 @@
|
||||
#include <drm/drmP.h>
|
||||
#include "gpu_scheduler.h"
|
||||
|
||||
struct amd_sched_fence *amd_sched_fence_create(struct amd_sched_entity *s_entity)
|
||||
struct amd_sched_fence *amd_sched_fence_create(struct amd_sched_entity *s_entity, void *owner)
|
||||
{
|
||||
struct amd_sched_fence *fence = NULL;
|
||||
unsigned seq;
|
||||
@@ -35,7 +35,7 @@ struct amd_sched_fence *amd_sched_fence_create(struct amd_sched_entity *s_entity
|
||||
fence = kzalloc(sizeof(struct amd_sched_fence), GFP_KERNEL);
|
||||
if (fence == NULL)
|
||||
return NULL;
|
||||
|
||||
fence->owner = owner;
|
||||
fence->scheduler = s_entity->scheduler;
|
||||
spin_lock_init(&fence->lock);
|
||||
|
||||
|
Reference in New Issue
Block a user