diff options
| author | Gustavo Padovan <gustavo.padovan@collabora.com> | 2018-06-20 12:22:22 -0400 |
|---|---|---|
| committer | Gustavo Padovan <gustavo.padovan@collabora.com> | 2018-06-20 12:22:22 -0400 |
| commit | d98c71dadc2d0debdb80beb5a478baf1e6f98758 (patch) | |
| tree | bf873c28d3acced1814f8b2dba4ae69d2ed77333 /drivers/gpu/drm/tegra/gem.c | |
| parent | d67b6a2065076d763c7df626b8c54f16038ad862 (diff) | |
| parent | daf0678c2036c918f01e4aa6035629d2debc2f30 (diff) | |
Merge drm-upstream/drm-next into drm-misc-next
We got a few conflicts in drm_atomic.c after merging the DRM writeback support,
now we need a backmerge to unlock develop development on drm-misc-next.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
Diffstat (limited to 'drivers/gpu/drm/tegra/gem.c')
| -rw-r--r-- | drivers/gpu/drm/tegra/gem.c | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c index d7661702c11c..4f80100ff5f3 100644 --- a/drivers/gpu/drm/tegra/gem.c +++ b/drivers/gpu/drm/tegra/gem.c | |||
| @@ -422,14 +422,13 @@ int tegra_bo_dumb_create(struct drm_file *file, struct drm_device *drm, | |||
| 422 | return 0; | 422 | return 0; |
| 423 | } | 423 | } |
| 424 | 424 | ||
| 425 | static int tegra_bo_fault(struct vm_fault *vmf) | 425 | static vm_fault_t tegra_bo_fault(struct vm_fault *vmf) |
| 426 | { | 426 | { |
| 427 | struct vm_area_struct *vma = vmf->vma; | 427 | struct vm_area_struct *vma = vmf->vma; |
| 428 | struct drm_gem_object *gem = vma->vm_private_data; | 428 | struct drm_gem_object *gem = vma->vm_private_data; |
| 429 | struct tegra_bo *bo = to_tegra_bo(gem); | 429 | struct tegra_bo *bo = to_tegra_bo(gem); |
| 430 | struct page *page; | 430 | struct page *page; |
| 431 | pgoff_t offset; | 431 | pgoff_t offset; |
| 432 | int err; | ||
| 433 | 432 | ||
| 434 | if (!bo->pages) | 433 | if (!bo->pages) |
| 435 | return VM_FAULT_SIGBUS; | 434 | return VM_FAULT_SIGBUS; |
| @@ -437,20 +436,7 @@ static int tegra_bo_fault(struct vm_fault *vmf) | |||
| 437 | offset = (vmf->address - vma->vm_start) >> PAGE_SHIFT; | 436 | offset = (vmf->address - vma->vm_start) >> PAGE_SHIFT; |
| 438 | page = bo->pages[offset]; | 437 | page = bo->pages[offset]; |
| 439 | 438 | ||
| 440 | err = vm_insert_page(vma, vmf->address, page); | 439 | return vmf_insert_page(vma, vmf->address, page); |
| 441 | switch (err) { | ||
| 442 | case -EAGAIN: | ||
| 443 | case 0: | ||
| 444 | case -ERESTARTSYS: | ||
| 445 | case -EINTR: | ||
| 446 | case -EBUSY: | ||
| 447 | return VM_FAULT_NOPAGE; | ||
| 448 | |||
| 449 | case -ENOMEM: | ||
| 450 | return VM_FAULT_OOM; | ||
| 451 | } | ||
| 452 | |||
| 453 | return VM_FAULT_SIGBUS; | ||
| 454 | } | 440 | } |
| 455 | 441 | ||
| 456 | const struct vm_operations_struct tegra_bo_vm_ops = { | 442 | const struct vm_operations_struct tegra_bo_vm_ops = { |
| @@ -649,6 +635,8 @@ struct dma_buf *tegra_gem_prime_export(struct drm_device *drm, | |||
| 649 | { | 635 | { |
| 650 | DEFINE_DMA_BUF_EXPORT_INFO(exp_info); | 636 | DEFINE_DMA_BUF_EXPORT_INFO(exp_info); |
| 651 | 637 | ||
| 638 | exp_info.exp_name = KBUILD_MODNAME; | ||
| 639 | exp_info.owner = drm->driver->fops->owner; | ||
| 652 | exp_info.ops = &tegra_gem_prime_dmabuf_ops; | 640 | exp_info.ops = &tegra_gem_prime_dmabuf_ops; |
| 653 | exp_info.size = gem->size; | 641 | exp_info.size = gem->size; |
| 654 | exp_info.flags = flags; | 642 | exp_info.flags = flags; |
