drm/nouveau: fix annoying nouveau_fence type issue
nouveau_fence_* functions are not type safe, which could lead to bugs. Additionally every use of nouveau_fence_unref had to cast struct nouveau_fence to void **. Fix it by renaming old functions and creating static inline functions with new prototypes. We still need old functions, because we pass function pointers to ttm. As we are wrapping functions, drop unused "void *arg" parameter where possible. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Cette révision appartient à :

révisé par
Ben Skeggs

Parent
5f80198e43
révision
382d62e524
@@ -238,7 +238,7 @@ validate_fini_list(struct list_head *list, struct nouveau_fence *fence)
|
||||
prev_fence = nvbo->bo.sync_obj;
|
||||
nvbo->bo.sync_obj = nouveau_fence_ref(fence);
|
||||
spin_unlock(&nvbo->bo.bdev->fence_lock);
|
||||
nouveau_fence_unref((void *)&prev_fence);
|
||||
nouveau_fence_unref(&prev_fence);
|
||||
}
|
||||
|
||||
if (unlikely(nvbo->validate_mapped)) {
|
||||
@@ -728,7 +728,7 @@ nouveau_gem_ioctl_pushbuf(struct drm_device *dev, void *data,
|
||||
|
||||
out:
|
||||
validate_fini(&op, fence);
|
||||
nouveau_fence_unref((void**)&fence);
|
||||
nouveau_fence_unref(&fence);
|
||||
kfree(bo);
|
||||
kfree(push);
|
||||
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur