From: Rex Zhu Date: Wed, 31 Oct 2018 12:21:55 +0000 (+0800) Subject: drm/amdgpu: Add new ring interface preempt_ib X-Git-Tag: v5.15~5873^2~13^2~378 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=692441f2654c80e1452d66aeadf4b00da9ccddc6;p=platform%2Fkernel%2Flinux-starfive.git drm/amdgpu: Add new ring interface preempt_ib Used to trigger preemtption Acked-by: Hawking Zhang Signed-off-by: Rex Zhu Signed-off-by: Jack Xiao Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h index 0f497fa..529ba1b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h @@ -172,6 +172,7 @@ struct amdgpu_ring_funcs { enum drm_sched_priority priority); /* Try to soft recover the ring to make the fence signal */ void (*soft_recovery)(struct amdgpu_ring *ring, unsigned vmid); + int (*preempt_ib)(struct amdgpu_ring *ring); }; struct amdgpu_ring { @@ -250,6 +251,7 @@ struct amdgpu_ring { #define amdgpu_ring_pad_ib(r, ib) ((r)->funcs->pad_ib((r), (ib))) #define amdgpu_ring_init_cond_exec(r) (r)->funcs->init_cond_exec((r)) #define amdgpu_ring_patch_cond_exec(r,o) (r)->funcs->patch_cond_exec((r),(o)) +#define amdgpu_ring_preempt_ib(r) (r)->funcs->preempt_ib(r) int amdgpu_ring_alloc(struct amdgpu_ring *ring, unsigned ndw); void amdgpu_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count);