dma-buf/drivers: make reserving a shared slot mandatory v4
Audit all the users of dma_resv_add_excl_fence() and make sure they reserve a shared slot also when only trying to add an exclusive fence. This is the next step towards handling the exclusive fence like a shared one. v2: fix missed case in amdgpu v3: and two more radeon, rename function v4: add one more case to TTM, fix i915 after rebase Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20220406075132.3263-2-christian.koenig@amd.com
This commit is contained in:
parent
20b734c112
commit
c8d4c18bfb
30 changed files with 184 additions and 122 deletions
|
|
@ -117,7 +117,7 @@ struct dma_resv {
|
|||
* A new fence is added by calling dma_resv_add_shared_fence(). Since
|
||||
* this often needs to be done past the point of no return in command
|
||||
* submission it cannot fail, and therefore sufficient slots need to be
|
||||
* reserved by calling dma_resv_reserve_shared().
|
||||
* reserved by calling dma_resv_reserve_fences().
|
||||
*
|
||||
* Note that actual semantics of what an exclusive or shared fence mean
|
||||
* is defined by the user, for reservation objects shared across drivers
|
||||
|
|
@ -413,7 +413,7 @@ static inline void dma_resv_unlock(struct dma_resv *obj)
|
|||
|
||||
void dma_resv_init(struct dma_resv *obj);
|
||||
void dma_resv_fini(struct dma_resv *obj);
|
||||
int dma_resv_reserve_shared(struct dma_resv *obj, unsigned int num_fences);
|
||||
int dma_resv_reserve_fences(struct dma_resv *obj, unsigned int num_fences);
|
||||
void dma_resv_add_shared_fence(struct dma_resv *obj, struct dma_fence *fence);
|
||||
void dma_resv_replace_fences(struct dma_resv *obj, uint64_t context,
|
||||
struct dma_fence *fence);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue