linux-stable/drivers/gpu/drm/msm
Rob Clark 49ec5b2e5a drm/msm/mdp5: handle SMP block allocations "atomically"
Previously, SMP block allocation was not checked in the plane's
atomic_check() fxn, so we could fail allocation SMP block allocation at
atomic_update() time.  Re-work the block allocation to request blocks
during atomic_check(), but not update the hw until committing the atomic
update.

Since SMP blocks allocated at atomic_check() time, we need to manage the
SMP state as part of mdp5_state (global atomic state).  This actually
ends up significantly simplifying the SMP management, as the SMP module
does not need to manage the intermediate state between assigning new
blocks before setting flush bits and releasing old blocks after vblank.
(The SMP registers and SMP allocation is not double-buffered, so newly
allocated blocks need to be updated in kms->prepare_commit() released
blocks in kms->complete_commit().)

Signed-off-by: Rob Clark <robdclark@gmail.com>
2016-11-27 11:32:34 -05:00
..
adreno drm/msm: support multiple address spaces 2016-11-27 11:23:09 -05:00
dsi drm/msm/dsi: Fix return value check in msm_dsi_host_set_display_mode() 2016-07-16 10:29:28 -04:00
edp drm: msm: Rely on the default ->best_encoder() behavior where appropriate 2016-06-09 08:43:26 +02:00
hdmi drm/msm/hdmi: don't print error when adding i2c adapter fails 2016-09-15 17:21:12 -04:00
mdp drm/msm/mdp5: handle SMP block allocations "atomically" 2016-11-27 11:32:34 -05:00
Kconfig drm/msm: submit support for in-fences 2016-09-15 17:39:49 -04:00
Makefile drm/msm/mdp5: introduce mdp5_hw_pipe 2016-11-27 11:32:20 -05:00
msm_atomic.c drm/msm: subclass drm_atomic_state 2016-11-27 11:32:27 -05:00
msm_debugfs.c drm/msm: add missing header dependencies 2016-10-24 16:28:25 +02:00
msm_debugfs.h drm/msm: move debugfs code to it's own file 2016-05-08 10:16:02 -04:00
msm_drv.c drm/msm: subclass drm_atomic_state 2016-11-27 11:32:27 -05:00
msm_drv.h drm/msm: subclass drm_atomic_state 2016-11-27 11:32:27 -05:00
msm_fb.c drm/msm: Delete unnecessary checks before drm_gem_object_unreference_unlocked() 2016-07-16 10:29:34 -04:00
msm_fbdev.c drm/msm: use DRM_FB_HELPER_DEFAULT_OPS for fb_ops 2016-11-14 07:58:04 +01:00
msm_fence.c dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
msm_fence.h dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
msm_gem.c drm/msm: support multiple address spaces 2016-11-27 11:23:09 -05:00
msm_gem.h drm/msm: support multiple address spaces 2016-11-27 11:23:09 -05:00
msm_gem_prime.c drm/msm: change gem->vmap() to get/put 2016-07-16 10:09:07 -04:00
msm_gem_shrinker.c drm/msm: wire up vmap shrinker 2016-07-16 10:09:07 -04:00
msm_gem_submit.c dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
msm_gem_vma.c drm/msm: support multiple address spaces 2016-11-27 11:23:09 -05:00
msm_gpu.c drm/msm: support multiple address spaces 2016-11-27 11:23:09 -05:00
msm_gpu.h drm/msm: support multiple address spaces 2016-11-27 11:23:09 -05:00
msm_iommu.c drm/msm: Print the correct virtual addresses in map/unmap funcs 2016-07-16 10:08:44 -04:00
msm_kms.h drm/msm: subclass drm_atomic_state 2016-11-27 11:32:27 -05:00
msm_mmu.h drm/msm: make iommu port names const'ier 2016-03-02 16:19:43 -05:00
msm_perf.c gpu: use %pd 2016-08-07 23:38:48 -04:00
msm_rd.c gpu: use %pd 2016-08-07 23:38:48 -04:00
msm_ringbuffer.c drm/msm: change gem->vmap() to get/put 2016-07-16 10:09:07 -04:00
msm_ringbuffer.h drm/msm: add a3xx gpu support 2013-08-24 14:57:18 -04:00
NOTES drm/msm: add mdp5/apq8x74 2014-01-09 14:44:06 -05:00