linux_dsm_epyc7002/drivers/gpu/drm/msm
Archit Taneja cd79272696 drm/msm: Call pm_runtime_enable/disable for newly created devices
With the new device hierarchy for MDP5, we need to enable runtime PM
for both the toplevel MDSS device and the MDP5 device itself. Enable
runtime PM for the new devices.

Since MDP4 and MDP5 now have different places where runtime PM is
enabled, remove the previous pm_runtime_enable/disable calls, and
squash them in the respective kms drivers.

The new device hierarchy (as expressed in the DT bindings) has the GDSC
tied only to the MDSS wrapper device. This GDSC needs to be enabled for
accessing any register in the MDSS sub-blocks. Once every driver is
runtime adapted, the GDSC will be enabled when any sub-block device
calls runtime_get because of the parent-child relationship with MDSS.

Until then, we call pm_runtime_get_sync() once for the MDSS device to
ensure the GDSC is never disabled. This will be removed once all the
drivers are runtime PM adapted.

The error handling paths become a bit tricky when we call these runtime
PM funcs. There doesn't seem to be any helper that checks if runtime PM
is enabled already. Add bool variables in mdp4_kms/mdp5_kms structs to
check if the driver had managed to call pm_runtime_enable before bailing
out.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2016-07-16 10:08:58 -04:00
..
adreno drm/msm: deal with exhausted vmap space better 2016-06-04 14:45:48 -04:00
dsi drm/msm/dsi: Use a standard DT binding for data lanes 2016-07-16 10:08:47 -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: Rely on the default ->best_encoder() behavior where appropriate 2016-06-09 08:43:26 +02:00
mdp drm/msm: Call pm_runtime_enable/disable for newly created devices 2016-07-16 10:08:58 -04:00
Kconfig drm/msm: make HDCP support optional 2016-05-08 10:16:02 -04:00
Makefile drm/msm/mdp5: Add MDSS top level driver 2016-07-16 10:08:51 -04:00
msm_atomic.c drm/atomic-helper: Massage swap_state signature somewhat 2016-06-10 16:52:12 +02:00
msm_debugfs.c drm/msm: move debugfs code to it's own file 2016-05-08 10:16:02 -04: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: Call pm_runtime_enable/disable for newly created devices 2016-07-16 10:08:58 -04:00
msm_drv.h drm/msm/mdp5: Create a separate MDP5 device 2016-07-16 10:08:56 -04:00
msm_fb.c drm/msm: Nuke dummy fb->dirty callback 2016-06-01 09:41:52 +02:00
msm_fbdev.c Linux 4.7-rc5 2016-07-02 15:56:01 +10:00
msm_fence.c drm/msm: 'struct fence' conversion 2016-05-08 10:22:15 -04:00
msm_fence.h drm/msm: 'struct fence' conversion 2016-05-08 10:22:15 -04:00
msm_gem_prime.c drm/msm: use imported dmabuf's reservation object 2016-05-08 10:16:02 -04:00
msm_gem_submit.c drm/msm: fix potential submit error path issue 2016-06-04 14:45:50 -04:00
msm_gem.c drm/msm: deal with exhausted vmap space better 2016-06-04 14:45:48 -04:00
msm_gem.h drm/msm: print offender task name on hangcheck recovery 2016-05-08 10:22:18 -04:00
msm_gpu.c drm/msm: print offender task name on hangcheck recovery 2016-05-08 10:22:18 -04:00
msm_gpu.h drm/msm: drop return from gpu->submit() 2016-05-08 10:22:18 -04: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/mdp5: Remove old kms init/destroy funcs 2016-07-16 10:08:57 -04:00
msm_mmu.h drm/msm: make iommu port names const'ier 2016-03-02 16:19:43 -05:00
msm_perf.c drm/msm: add perf logging debugfs 2014-06-02 07:36:21 -04:00
msm_rd.c drm/msm: deal with exhausted vmap space better 2016-06-04 14:45:48 -04:00
msm_ringbuffer.c drm/msm: deal with exhausted vmap space better 2016-06-04 14:45:48 -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