diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_job.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_job.h | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h index babc0af751c2..ab7b150e5d50 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h @@ -50,6 +50,7 @@ struct amdgpu_job {  	struct amdgpu_sync	sync;  	struct amdgpu_sync	sched_sync;  	struct dma_fence	hw_fence; +	struct dma_fence	*gang_submit;  	uint32_t		preamble_status;  	uint32_t                preemption_status;  	bool                    vm_needs_flush; @@ -72,11 +73,20 @@ struct amdgpu_job {  	struct amdgpu_ib	ibs[];  }; +static inline struct amdgpu_ring *amdgpu_job_ring(struct amdgpu_job *job) +{ +	return to_amdgpu_ring(job->base.entity->rq->sched); +} +  int amdgpu_job_alloc(struct amdgpu_device *adev, unsigned num_ibs,  		     struct amdgpu_job **job, struct amdgpu_vm *vm);  int amdgpu_job_alloc_with_ib(struct amdgpu_device *adev, unsigned size,  		enum amdgpu_ib_pool_type pool, struct amdgpu_job **job); +void amdgpu_job_set_resources(struct amdgpu_job *job, struct amdgpu_bo *gds, +			      struct amdgpu_bo *gws, struct amdgpu_bo *oa);  void amdgpu_job_free_resources(struct amdgpu_job *job); +void amdgpu_job_set_gang_leader(struct amdgpu_job *job, +				struct amdgpu_job *leader);  void amdgpu_job_free(struct amdgpu_job *job);  int amdgpu_job_submit(struct amdgpu_job *job, struct drm_sched_entity *entity,  		      void *owner, struct dma_fence **f);  |