diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | 6 |
3 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 58fe9fab8192..dbe061bf88cc 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -1277,6 +1277,8 @@ struct amdgpu_job { | |||
1277 | struct amdgpu_user_fence uf; | 1277 | struct amdgpu_user_fence uf; |
1278 | int (*free_job)(struct amdgpu_job *job); | 1278 | int (*free_job)(struct amdgpu_job *job); |
1279 | }; | 1279 | }; |
1280 | #define to_amdgpu_job(sched_job) \ | ||
1281 | container_of((sched_job), struct amdgpu_job, base) | ||
1280 | 1282 | ||
1281 | static inline u32 amdgpu_get_ib_value(struct amdgpu_cs_parser *p, uint32_t ib_idx, int idx) | 1283 | static inline u32 amdgpu_get_ib_value(struct amdgpu_cs_parser *p, uint32_t ib_idx, int idx) |
1282 | { | 1284 | { |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 4c1698861c42..546968a83b08 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |||
@@ -863,7 +863,7 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp) | |||
863 | 863 | ||
864 | job->free_job = amdgpu_cs_free_job; | 864 | job->free_job = amdgpu_cs_free_job; |
865 | mutex_lock(&job->job_lock); | 865 | mutex_lock(&job->job_lock); |
866 | r = amd_sched_entity_push_job((struct amd_sched_job *)job); | 866 | r = amd_sched_entity_push_job(&job->base); |
867 | if (r) { | 867 | if (r) { |
868 | mutex_unlock(&job->job_lock); | 868 | mutex_unlock(&job->job_lock); |
869 | amdgpu_cs_free_job(job); | 869 | amdgpu_cs_free_job(job); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c index af1a3dabd190..58408da122c5 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | |||
@@ -29,7 +29,7 @@ | |||
29 | 29 | ||
30 | static struct fence *amdgpu_sched_dependency(struct amd_sched_job *sched_job) | 30 | static struct fence *amdgpu_sched_dependency(struct amd_sched_job *sched_job) |
31 | { | 31 | { |
32 | struct amdgpu_job *job = (struct amdgpu_job *)sched_job; | 32 | struct amdgpu_job *job = to_amdgpu_job(sched_job); |
33 | return amdgpu_sync_get_fence(&job->ibs->sync); | 33 | return amdgpu_sync_get_fence(&job->ibs->sync); |
34 | } | 34 | } |
35 | 35 | ||
@@ -43,7 +43,7 @@ static struct fence *amdgpu_sched_run_job(struct amd_sched_job *sched_job) | |||
43 | DRM_ERROR("job is null\n"); | 43 | DRM_ERROR("job is null\n"); |
44 | return NULL; | 44 | return NULL; |
45 | } | 45 | } |
46 | job = (struct amdgpu_job *)sched_job; | 46 | job = to_amdgpu_job(sched_job); |
47 | mutex_lock(&job->job_lock); | 47 | mutex_lock(&job->job_lock); |
48 | r = amdgpu_ib_schedule(job->adev, | 48 | r = amdgpu_ib_schedule(job->adev, |
49 | job->num_ibs, | 49 | job->num_ibs, |
@@ -94,7 +94,7 @@ int amdgpu_sched_ib_submit_kernel_helper(struct amdgpu_device *adev, | |||
94 | mutex_init(&job->job_lock); | 94 | mutex_init(&job->job_lock); |
95 | job->free_job = free_job; | 95 | job->free_job = free_job; |
96 | mutex_lock(&job->job_lock); | 96 | mutex_lock(&job->job_lock); |
97 | r = amd_sched_entity_push_job((struct amd_sched_job *)job); | 97 | r = amd_sched_entity_push_job(&job->base); |
98 | if (r) { | 98 | if (r) { |
99 | mutex_unlock(&job->job_lock); | 99 | mutex_unlock(&job->job_lock); |
100 | kfree(job); | 100 | kfree(job); |