[PATCH 0/6] RFC: drm/msm: separate iova allocation and mapping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Currently in the msm driver iova addresses are mapped in the IOMMU at
allocation time and stay there for the life of the buffer. This may not
be desirable for long lived user space buffers that could be temporarily
swapped or moved.

This first set of patches breaks up the allocation and mapping into
distinct steps and adds reference counting for pinning and unpinning
the memory. Future code can use this information to manipulate the
memory when it isn't in use.

Jordan Crouse (6):
  drm/msm: Add a common function to free kernel buffer objects
  drm/msm: Remove sgt from the mmu unmap function
  drm/msm: Split msm_gem_get_iova into two steps
  drm/msm: Clean up and enhance the output of the 'gem' debugfs node
  drm/msm: Add msm_gem_get_and_pin_iova()
  drm/msm: Count how many times iova memory is pinned

 drivers/gpu/drm/msm/adreno/a5xx_debugfs.c |   6 +-
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c     |  22 +--
 drivers/gpu/drm/msm/adreno/a5xx_power.c   |  13 +-
 drivers/gpu/drm/msm/adreno/a5xx_preempt.c |  14 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c     |   3 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.c   |   3 +-
 drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c |   6 +-
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c  |   4 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c |   4 +-
 drivers/gpu/drm/msm/dsi/dsi_host.c        |   4 +-
 drivers/gpu/drm/msm/msm_drv.c             |   4 +
 drivers/gpu/drm/msm/msm_drv.h             |  16 ++-
 drivers/gpu/drm/msm/msm_fb.c              |   4 +-
 drivers/gpu/drm/msm/msm_fbdev.c           |   2 +-
 drivers/gpu/drm/msm/msm_gem.c             | 162 ++++++++++++++++------
 drivers/gpu/drm/msm/msm_gem.h             |   2 +
 drivers/gpu/drm/msm/msm_gem_submit.c      |   4 +-
 drivers/gpu/drm/msm/msm_gem_vma.c         |  95 +++++++++----
 drivers/gpu/drm/msm/msm_gpu.c             |  16 +--
 drivers/gpu/drm/msm/msm_iommu.c           |   3 +-
 drivers/gpu/drm/msm/msm_mmu.h             |   3 +-
 drivers/gpu/drm/msm/msm_ringbuffer.c      |   7 +-
 22 files changed, 242 insertions(+), 155 deletions(-)

-- 
2.18.0




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux