linux/drivers/gpu/drm/msm
Archit Taneja 774e39ee35 drm/msm/mdp5: Set up runtime PM for MDSS
MDSS represents the top level wrapper that contains MDP5, DSI, HDMI and
other sub-blocks. W.r.t device heirarchy, it's the parent of all these
devices. The power domain of this device is actually tied to the GDSC
hw. When any sub-device enables its PD, MDSS's PD is also enabled.

The suspend/resume ops enable the top level clocks that end at the MDSS
boundary. For now, we're letting them all be optional, since the child
devices anyway hold a ref to these clocks.

Until now, we'd called a runtime_get() during probe, which ensured that
the GDSC was always on. Now that we've set up runtime PM for the children
devices, we can get rid of this hack.

Note: that the MDSS device is the platform_device in msm_drv.c. The
msm_runtime_suspend/resume ops call the funcs that enable/disable
the top level MDSS clocks. This is different from MDP4, where the
platform device created in msm_drv.c represents MDP4 itself. It would
have been nicer to hide these differences by adding new kms funcs, but
runtime PM needs to be enabled before kms is set up (i.e, msm_kms_init
is called).

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: Implement RPM suspend/resume callbacks 2017-08-02 07:53:46 -04:00
edp drm/msm: update generated headers 2017-06-16 11:16:07 -04:00
hdmi drm/msm/hdmi: Set up runtime PM for HDMI 2017-08-02 07:53:46 -04:00
mdp drm/msm/mdp5: Set up runtime PM for MDSS 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/mdp5: Set up runtime PM for MDSS 2017-08-02 07:53:46 -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/mdp5: Set up runtime PM for MDSS 2017-08-02 07:53:46 -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
NOTES