aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2014-10-01 05:27:38 -0400
committerDave Airlie <airlied@redhat.com>2014-10-01 05:27:38 -0400
commit7a42e83d36d2d0a68622320900dc4e880b1d920a (patch)
tree3671f64e59894284cb7a946d9ab981a1f71e669b
parentc5939a7360a69fc415bcfff6b10ced5227495a48 (diff)
parentbb6178b04f5ef6f62990306713fb6afdf5d8bc56 (diff)
Merge branch 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux into drm-next
fixups for nouveau and fencing * 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux: drm/nouveau: export reservation_object from dmabuf to ttm drm/ttm: add reservation_object as argument to ttm_bo_init drm: Pass dma-buf as argument to gem_prime_import_sg_table drm/nouveau: assign fence_chan->name correctly drm/nouveau: specify if interruptible wait is desired in nouveau_fence_sync drm/nouveau: bump driver patchlevel to 1.2.1
-rw-r--r--drivers/gpu/drm/ast/ast_ttm.c2
-rw-r--r--drivers/gpu/drm/bochs/bochs_mm.c2
-rw-r--r--drivers/gpu/drm/cirrus/cirrus_ttm.c2
-rw-r--r--drivers/gpu/drm/drm_gem_cma_helper.c7
-rw-r--r--drivers/gpu/drm/drm_prime.c2
-rw-r--r--drivers/gpu/drm/mgag200/mgag200_ttm.c2
-rw-r--r--drivers/gpu/drm/msm/msm_drv.h2
-rw-r--r--drivers/gpu/drm/msm/msm_gem_prime.c5
-rw-r--r--drivers/gpu/drm/nouveau/dispnv04/crtc.c2
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_bo.c6
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_bo.h1
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_chan.c2
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_display.c4
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_drm.h4
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_fence.c53
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_fence.h7
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_gem.c4
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_gem.h2
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_prime.c10
-rw-r--r--drivers/gpu/drm/nouveau/nv04_fence.c2
-rw-r--r--drivers/gpu/drm/nouveau/nv10_fence.c2
-rw-r--r--drivers/gpu/drm/nouveau/nv17_fence.c2
-rw-r--r--drivers/gpu/drm/nouveau/nv50_display.c6
-rw-r--r--drivers/gpu/drm/nouveau/nv50_fence.c2
-rw-r--r--drivers/gpu/drm/nouveau/nv84_fence.c6
-rw-r--r--drivers/gpu/drm/qxl/qxl_drv.h2
-rw-r--r--drivers/gpu/drm/qxl/qxl_object.c2
-rw-r--r--drivers/gpu/drm/qxl/qxl_prime.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_drv.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_object.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_prime.c5
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo.c24
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_resource.c2
-rw-r--r--include/drm/drmP.h4
-rw-r--r--include/drm/drm_gem_cma_helper.h3
-rw-r--r--include/drm/ttm/ttm_bo_api.h2
36 files changed, 126 insertions, 63 deletions
diff --git a/drivers/gpu/drm/ast/ast_ttm.c b/drivers/gpu/drm/ast/ast_ttm.c
index c65d432f42c4..08f82eae6939 100644
--- a/drivers/gpu/drm/ast/ast_ttm.c
+++ b/drivers/gpu/drm/ast/ast_ttm.c
@@ -339,7 +339,7 @@ int ast_bo_create(struct drm_device *dev, int size, int align,
339 ret = ttm_bo_init(&ast->ttm.bdev, &astbo->bo, size, 339 ret = ttm_bo_init(&ast->ttm.bdev, &astbo->bo, size,
340 ttm_bo_type_device, &astbo->placement, 340 ttm_bo_type_device, &astbo->placement,
341 align >> PAGE_SHIFT, false, NULL, acc_size, 341 align >> PAGE_SHIFT, false, NULL, acc_size,
342 NULL, ast_bo_ttm_destroy); 342 NULL, NULL, ast_bo_ttm_destroy);
343 if (ret) 343 if (ret)
344 return ret; 344 return ret;
345 345
diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
index 324f5a09a0a1..66286ff518d4 100644
--- a/drivers/gpu/drm/bochs/bochs_mm.c
+++ b/drivers/gpu/drm/bochs/bochs_mm.c
@@ -377,7 +377,7 @@ static int bochs_bo_create(struct drm_device *dev, int size, int align,
377 ret = ttm_bo_init(&bochs->ttm.bdev, &bochsbo->bo, size, 377 ret = ttm_bo_init(&bochs->ttm.bdev, &bochsbo->bo, size,
378 ttm_bo_type_device, &bochsbo->placement, 378 ttm_bo_type_device, &bochsbo->placement,
379 align >> PAGE_SHIFT, false, NULL, acc_size, 379 align >> PAGE_SHIFT, false, NULL, acc_size,
380 NULL, bochs_bo_ttm_destroy); 380 NULL, NULL, bochs_bo_ttm_destroy);
381 if (ret) 381 if (ret)
382 return ret; 382 return ret;
383 383
diff --git a/drivers/gpu/drm/cirrus/cirrus_ttm.c b/drivers/gpu/drm/cirrus/cirrus_ttm.c
index d3c615f9b183..dfffd528517a 100644
--- a/drivers/gpu/drm/cirrus/cirrus_ttm.c
+++ b/drivers/gpu/drm/cirrus/cirrus_ttm.c
@@ -343,7 +343,7 @@ int cirrus_bo_create(struct drm_device *dev, int size, int align,
343 ret = ttm_bo_init(&cirrus->ttm.bdev, &cirrusbo->bo, size, 343 ret = ttm_bo_init(&cirrus->ttm.bdev, &cirrusbo->bo, size,
344 ttm_bo_type_device, &cirrusbo->placement, 344 ttm_bo_type_device, &cirrusbo->placement,
345 align >> PAGE_SHIFT, false, NULL, acc_size, 345 align >> PAGE_SHIFT, false, NULL, acc_size,
346 NULL, cirrus_bo_ttm_destroy); 346 NULL, NULL, cirrus_bo_ttm_destroy);
347 if (ret) 347 if (ret)
348 return ret; 348 return ret;
349 349
diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
index e467e67af6e7..0316310e2cc4 100644
--- a/drivers/gpu/drm/drm_gem_cma_helper.c
+++ b/drivers/gpu/drm/drm_gem_cma_helper.c
@@ -316,7 +316,8 @@ out:
316EXPORT_SYMBOL_GPL(drm_gem_cma_prime_get_sg_table); 316EXPORT_SYMBOL_GPL(drm_gem_cma_prime_get_sg_table);
317 317
318struct drm_gem_object * 318struct drm_gem_object *
319drm_gem_cma_prime_import_sg_table(struct drm_device *dev, size_t size, 319drm_gem_cma_prime_import_sg_table(struct drm_device *dev,
320 struct dma_buf_attachment *attach,
320 struct sg_table *sgt) 321 struct sg_table *sgt)
321{ 322{
322 struct drm_gem_cma_object *cma_obj; 323 struct drm_gem_cma_object *cma_obj;
@@ -325,14 +326,14 @@ drm_gem_cma_prime_import_sg_table(struct drm_device *dev, size_t size,
325 return ERR_PTR(-EINVAL); 326 return ERR_PTR(-EINVAL);
326 327
327 /* Create a CMA GEM buffer. */ 328 /* Create a CMA GEM buffer. */
328 cma_obj = __drm_gem_cma_create(dev, size); 329 cma_obj = __drm_gem_cma_create(dev, attach->dmabuf->size);
329 if (IS_ERR(cma_obj)) 330 if (IS_ERR(cma_obj))
330 return ERR_CAST(cma_obj); 331 return ERR_CAST(cma_obj);
331 332
332 cma_obj->paddr = sg_dma_address(sgt->sgl); 333 cma_obj->paddr = sg_dma_address(sgt->sgl);
333 cma_obj->sgt = sgt; 334 cma_obj->sgt = sgt;
334 335
335 DRM_DEBUG_PRIME("dma_addr = %pad, size = %zu\n", &cma_obj->paddr, size); 336 DRM_DEBUG_PRIME("dma_addr = %pad, size = %zu\n", &cma_obj->paddr, attach->dmabuf->size);
336 337
337 return &cma_obj->base; 338 return &cma_obj->base;
338} 339}
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 7826de9da276..78ca30808422 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -525,7 +525,7 @@ struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev,
525 goto fail_detach; 525 goto fail_detach;
526 } 526 }
527 527
528 obj = dev->driver->gem_prime_import_sg_table(dev, dma_buf->size, sgt); 528 obj = dev->driver->gem_prime_import_sg_table(dev, attach, sgt);
529 if (IS_ERR(obj)) { 529 if (IS_ERR(obj)) {
530 ret = PTR_ERR(obj); 530 ret = PTR_ERR(obj);
531 goto fail_unmap; 531 goto fail_unmap;
diff --git a/drivers/gpu/drm/mgag200/mgag200_ttm.c b/drivers/gpu/drm/mgag200/mgag200_ttm.c
index 8ac70626df6c..d16964ea0ed4 100644
--- a/drivers/gpu/drm/mgag200/mgag200_ttm.c
+++ b/drivers/gpu/drm/mgag200/mgag200_ttm.c
@@ -339,7 +339,7 @@ int mgag200_bo_create(struct drm_device *dev, int size, int align,
339 ret = ttm_bo_init(&mdev->ttm.bdev, &mgabo->bo, size, 339 ret = ttm_bo_init(&mdev->ttm.bdev, &mgabo->bo, size,
340 ttm_bo_type_device, &mgabo->placement, 340 ttm_bo_type_device, &mgabo->placement,
341 align >> PAGE_SHIFT, false, NULL, acc_size, 341 align >> PAGE_SHIFT, false, NULL, acc_size,
342 NULL, mgag200_bo_ttm_destroy); 342 NULL, NULL, mgag200_bo_ttm_destroy);
343 if (ret) 343 if (ret)
344 return ret; 344 return ret;
345 345
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index afaafd42dee7..67f9d0a2332c 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -171,7 +171,7 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj);
171void *msm_gem_prime_vmap(struct drm_gem_object *obj); 171void *msm_gem_prime_vmap(struct drm_gem_object *obj);
172void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr); 172void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
173struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev, 173struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
174 size_t size, struct sg_table *sg); 174 struct dma_buf_attachment *attach, struct sg_table *sg);
175int msm_gem_prime_pin(struct drm_gem_object *obj); 175int msm_gem_prime_pin(struct drm_gem_object *obj);
176void msm_gem_prime_unpin(struct drm_gem_object *obj); 176void msm_gem_prime_unpin(struct drm_gem_object *obj);
177void *msm_gem_vaddr_locked(struct drm_gem_object *obj); 177void *msm_gem_vaddr_locked(struct drm_gem_object *obj);
diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
index d48f9fc5129b..ad772fe36115 100644
--- a/drivers/gpu/drm/msm/msm_gem_prime.c
+++ b/drivers/gpu/drm/msm/msm_gem_prime.c
@@ -18,6 +18,7 @@
18#include "msm_drv.h" 18#include "msm_drv.h"
19#include "msm_gem.h" 19#include "msm_gem.h"
20 20
21#include <linux/dma-buf.h>