summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/nouveau/nouveau_mm.c6
-rw-r--r--src/gallium/drivers/nouveau/nouveau_mm.h3
-rw-r--r--src/gallium/drivers/nv50/nv50_buffer.c2
-rw-r--r--src/gallium/drivers/nv50/nv50_query.c2
4 files changed, 11 insertions, 2 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_mm.c b/src/gallium/drivers/nouveau/nouveau_mm.c
index 1c4bb61af88..332b8dc02e3 100644
--- a/src/gallium/drivers/nouveau/nouveau_mm.c
+++ b/src/gallium/drivers/nouveau/nouveau_mm.c
@@ -222,6 +222,12 @@ nouveau_mm_free(struct nouveau_mm_allocation *alloc)
FREE(alloc);
}
+void
+nouveau_mm_free_work(void *data)
+{
+ nouveau_mm_free(data);
+}
+
struct nouveau_mman *
nouveau_mm_create(struct nouveau_device *dev, uint32_t domain,
uint32_t storage_type)
diff --git a/src/gallium/drivers/nouveau/nouveau_mm.h b/src/gallium/drivers/nouveau/nouveau_mm.h
index 23e50d4ae54..5b57c8ba4f2 100644
--- a/src/gallium/drivers/nouveau/nouveau_mm.h
+++ b/src/gallium/drivers/nouveau/nouveau_mm.h
@@ -26,4 +26,7 @@ nouveau_mm_allocate(struct nouveau_mman *, uint32_t size,
extern void
nouveau_mm_free(struct nouveau_mm_allocation *);
+extern void
+nouveau_mm_free_work(void *);
+
#endif // __NOUVEAU_MM_H__
diff --git a/src/gallium/drivers/nv50/nv50_buffer.c b/src/gallium/drivers/nv50/nv50_buffer.c
index f808adb0f62..7b2b47a1e05 100644
--- a/src/gallium/drivers/nv50/nv50_buffer.c
+++ b/src/gallium/drivers/nv50/nv50_buffer.c
@@ -52,7 +52,7 @@ nv50_buffer_allocate(struct nv50_screen *screen, struct nv50_resource *buf,
static INLINE void
release_allocation(struct nouveau_mm_allocation **mm, struct nouveau_fence *fence)
{
- nouveau_fence_work(fence, nouveau_mm_free, *mm);
+ nouveau_fence_work(fence, nouveau_mm_free_work, *mm);
(*mm) = NULL;
}
diff --git a/src/gallium/drivers/nv50/nv50_query.c b/src/gallium/drivers/nv50/nv50_query.c
index 8a2bca6850a..2803626d18c 100644
--- a/src/gallium/drivers/nv50/nv50_query.c
+++ b/src/gallium/drivers/nv50/nv50_query.c
@@ -64,7 +64,7 @@ nv50_query_allocate(struct nv50_context *nv50, struct nv50_query *q, int size)
if (q->ready)
nouveau_mm_free(q->mm);
else
- nouveau_fence_work(screen->base.fence.current, nouveau_mm_free, q->mm);
+ nouveau_fence_work(screen->base.fence.current, nouveau_mm_free_work, q->mm);
}
}
if (size) {