Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2017
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
  2. index 91e17ae..03a5b76 100644
  3. --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c
  4. +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
  5. @@ -17,6 +17,7 @@
  6. #include <linux/component.h>
  7. #include <linux/of_platform.h>
  8. #include <drm/drm_of.h>
  9. +#include <drm/drm_gem_cma_helper.h>
  10.  
  11. #include "etnaviv_cmdbuf.h"
  12. #include "etnaviv_drv.h"
  13. @@ -489,7 +490,7 @@ static struct drm_driver etnaviv_drm_driver = {
  14. DRIVER_RENDER,
  15. .open = etnaviv_open,
  16. .postclose = etnaviv_postclose,
  17. - .gem_free_object_unlocked = etnaviv_gem_free_object,
  18. + .gem_free_object_unlocked = drm_gem_cma_free_object,
  19. .gem_vm_ops = &vm_ops,
  20. .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
  21. .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
  22. diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.h b/drivers/gpu/drm/etnaviv/etnaviv_drv.h
  23. index 058389f..376bc41 100644
  24. --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.h
  25. +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.h
  26. @@ -89,7 +89,6 @@ void *etnaviv_gem_vmap(struct drm_gem_object *obj);
  27. int etnaviv_gem_cpu_prep(struct drm_gem_object *obj, u32 op,
  28. struct timespec *timeout);
  29. int etnaviv_gem_cpu_fini(struct drm_gem_object *obj);
  30. -void etnaviv_gem_free_object(struct drm_gem_object *obj);
  31. int etnaviv_gem_new_handle(struct drm_device *dev, struct drm_file *file,
  32. u32 size, u32 flags, u32 *handle);
  33. struct drm_gem_object *etnaviv_gem_new_locked(struct drm_device *dev,
  34. diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
  35. index fd56f92..dccb51a 100644
  36. --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
  37. +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
  38. @@ -544,38 +544,6 @@ static const struct etnaviv_gem_ops etnaviv_gem_shmem_ops = {
  39. .mmap = etnaviv_gem_mmap_obj,
  40. };
  41.  
  42. -void etnaviv_gem_free_object(struct drm_gem_object *obj)
  43. -{
  44. - struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
  45. - struct etnaviv_vram_mapping *mapping, *tmp;
  46. -
  47. - /* object should not be active */
  48. - WARN_ON(is_active(etnaviv_obj));
  49. -
  50. - list_del(&etnaviv_obj->gem_node);
  51. -
  52. - list_for_each_entry_safe(mapping, tmp, &etnaviv_obj->vram_list,
  53. - obj_node) {
  54. - struct etnaviv_iommu *mmu = mapping->mmu;
  55. -
  56. - WARN_ON(mapping->use);
  57. -
  58. - if (mmu)
  59. - etnaviv_iommu_unmap_gem(mmu, mapping);
  60. -
  61. - list_del(&mapping->obj_node);
  62. - kfree(mapping);
  63. - }
  64. -
  65. - drm_gem_free_mmap_offset(obj);
  66. - etnaviv_obj->ops->release(etnaviv_obj);
  67. - if (etnaviv_obj->resv == &etnaviv_obj->_resv)
  68. - reservation_object_fini(&etnaviv_obj->_resv);
  69. - drm_gem_object_release(obj);
  70. -
  71. - kfree(etnaviv_obj);
  72. -}
  73. -
  74. int etnaviv_gem_obj_add(struct drm_device *dev, struct drm_gem_object *obj)
  75. {
  76. struct etnaviv_drm_private *priv = dev->dev_private;
  77. --
  78. 2.7.4
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement