Am 17.07.2018 um 09:16 schrieb Zhou, David(ChunMing):
Acked-by: Chunming Zhou <[email protected]>, but I think it isn't a nice 
evaluation although there is comment in code.

Yeah, I didn't thought about the possibility that we need to free the job before it is submitted (in other words before the scheduler is determined).

Alternatively we could provide the adev manually to amdgpu_job_free() and amdgpu_job_free_resources().

Regards,
Christian.



-----Original Message-----
From: amd-gfx [mailto:[email protected]] On Behalf Of 
Christian K?nig
Sent: Tuesday, July 17, 2018 3:05 PM
To: [email protected]
Subject: [PATCH] drm/amdgpu: always initialize job->base.sched

Otherwise we can't clean up the job if we run into an error before it is pushed 
to the scheduler.

Signed-off-by: Christian König <[email protected]>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index 024efb7ea6d6..42a4764d728e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -54,6 +54,11 @@ int amdgpu_job_alloc(struct amdgpu_device *adev, unsigned 
num_ibs,
        if (!*job)
                return -ENOMEM;
+ /*
+        * Initialize the scheduler to at least some ring so that we always
+        * have a pointer to adev.
+        */
+       (*job)->base.sched = &adev->rings[0]->sched;
        (*job)->vm = vm;
        (*job)->ibs = (void *)&(*job)[1];
        (*job)->num_ibs = num_ibs;
--
2.14.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to