linux_dsm_epyc7002/drivers/gpu/drm/msm
Archit Taneja d68fe15b18 drm/msm/mdp5: Use runtime PM get/put API instead of toggling clocks
mdp5_enable/disable calls are scattered all around in the MDP5 code.
Use the pm_runtime_get/put calls here instead, and populate the
runtime PM suspend/resume ops to manage the clocks.

About the overall design: MDP5 is a child of the top level MDSS
device. MDSS is also the parent to DSI, HDMI and other interfaces. When
we enable MDP5's power domain, we end up enabling MDSS's PD too. It is
only MDSS's PD that actually controlls the GDSC HW. Therefore, calling
runtime_get/put on the MDP5 device is like just requesting a vote to
enable/disable the GDSC.

Functionally, replacing the clock enable/disable calls with the RPM API
can result in the power domain (GDSC) state being toggled if no other
child isn't powered on. This can result in the register context being lost.
We make sure (in future commits) that code paths don't end up configuring
registers and then later lose state, resulting in a bad HW state.

For now, we've replaced each mdp5_enable/disable with runtime_get/put API.
We could optimize things later by removing runtime_get/put calls which
don't really need to be there. This could prevent unnecessary toggling of
the power domain and clocks.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2017-08-02 07:53:46 -04:00
..
adreno drm/msm: gpu: don't abuse dma_alloc for non-DMA allocations 2017-08-01 19:39:00 -04:00
dsi drm/msm/dsi: Calculate link clock rates with updated dsi->lanes 2017-08-01 16:26:01 -04:00
edp drm/msm: update generated headers 2017-06-16 11:16:07 -04:00
hdmi drm/msm/hdmi: Fix HDMI pink strip issue seen on 8x96 2017-06-16 11:16:09 -04:00
mdp drm/msm/mdp5: Use runtime PM get/put API instead of toggling clocks 2017-08-02 07:53:46 -04:00
Kconfig drm/msm: gpu: call qcom_mdt interfaces only for ARCH_QCOM 2017-08-01 19:25:51 -04:00
Makefile drm/msm: fix include notation and remove -Iinclude/drm flag 2017-05-17 14:35:54 +02:00
msm_atomic.c drm/msm/mdp5: Add cursor planes 2017-02-06 11:28:44 -05:00
msm_debugfs.c drm/msm/gpu: use pm-runtime 2017-04-08 06:59:31 -04:00
msm_debugfs.h drm/msm: Remove msm_debugfs_cleanup() 2017-03-08 11:24:45 +01:00
msm_drv.c drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
msm_drv.h drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
msm_fb.c drm/msm: pass address-space to _get_iova() and friends 2017-06-16 11:16:04 -04:00
msm_fbdev.c drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
msm_fence.c drm/msm: Reuse dma_fence_release. 2017-05-27 13:48:26 -04:00
msm_fence.h dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
msm_gem_prime.c drm/msm: Expose our reservation object when exporting a dmabuf. 2017-05-27 13:48:26 -04:00
msm_gem_shrinker.c drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
msm_gem_submit.c drm/msm: args->fence should be args->flags 2017-08-01 19:11:28 -04:00
msm_gem_vma.c drm/msm: NULL pointer dereference in drivers/gpu/drm/msm/msm_gem_vma.c 2017-08-01 18:41:16 -04:00
msm_gem.c drm/msm: fix WARN_ON in add_vma() with no iommu 2017-08-01 18:39:35 -04:00
msm_gem.h drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
msm_gpu.c drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
msm_gpu.h drm/msm: remove address-space id 2017-06-16 11:16:06 -04:00
msm_iommu.c drm/msm: pm runtime support for iommu 2017-04-08 06:59:31 -04:00
msm_kms.h drm/msm: remove address-space id 2017-06-16 11:16:06 -04:00
msm_mmu.h drm/msm: let gpu wire up it's own fault handler 2017-02-06 11:28:42 -05:00
msm_perf.c drm/msm: Remove msm_debugfs_cleanup() 2017-03-08 11:24:45 +01:00
msm_rd.c drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
msm_ringbuffer.c drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03: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