diff options
| author | Dave Airlie <airlied@redhat.com> | 2014-10-01 05:27:38 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2014-10-01 05:27:38 -0400 |
| commit | 7a42e83d36d2d0a68622320900dc4e880b1d920a (patch) | |
| tree | 3671f64e59894284cb7a946d9ab981a1f71e669b | |
| parent | c5939a7360a69fc415bcfff6b10ced5227495a48 (diff) | |
| parent | bb6178b04f5ef6f62990306713fb6afdf5d8bc56 (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
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: | |||
| 316 | EXPORT_SYMBOL_GPL(drm_gem_cma_prime_get_sg_table); | 316 | EXPORT_SYMBOL_GPL(drm_gem_cma_prime_get_sg_table); |
| 317 | 317 | ||
| 318 | struct drm_gem_object * | 318 | struct drm_gem_object * |
| 319 | drm_gem_cma_prime_import_sg_table(struct drm_device *dev, size_t size, | 319 | drm_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); | |||
| 171 | void *msm_gem_prime_vmap(struct drm_gem_object *obj); | 171 | void *msm_gem_prime_vmap(struct drm_gem_object *obj); |
| 172 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr); | 172 | void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr); |
| 173 | struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev, | 173 | struct 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); |
| 175 | int msm_gem_prime_pin(struct drm_gem_object *obj); | 175 | int msm_gem_prime_pin(struct drm_gem_object *obj); |
| 176 | void msm_gem_prime_unpin(struct drm_gem_object *obj); | 176 | void msm_gem_prime_unpin(struct drm_gem_object *obj); |
| 177 | void *msm_gem_vaddr_locked(struct drm_gem_object *obj); | 177 | void *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> | ||
