On 2021-12-14 12:03 p.m., Andrey Grodzovsky wrote:
-
- if (job != NULL) {
- /* mark this fence has a parent job */
- set_bit(AMDGPU_FENCE_FLAG_EMBED_IN_JOB_BIT, &fence->flags);
+ if (job)
+ dma_fence_init(fence, &amdgpu_job_fence_ops,
+ &ring->fence_drv.lock,
+ adev->fence_context + ring->idx, seq);
+ else
+ dma_fence_init(fence, &amdgpu_fence_ops,
+ &ring->fence_drv.lock,
+ adev->fence_context + ring->idx, seq);
}
It's probably me missing something but why can't we just move setting
of AMDGPU_FENCE_FLAG_EMBED_IN_JOB_BIT
to before dma_fence_init here or even into amdgpu_job_alloc instead of
all the refactoring ?
Andrey
My bad, I see now that dma_fence_init just overrides flags to 0 and
immediately call the trace .
But why then can't we add dma_fence_init_with_flags wrapper to dma-fence ?
Andrey