linux/drivers/gpu/drm/msm
Jordan Crouse 9325d4266a drm/msm/gpu: Attach to the GPU GX power domain
99.999% of the time during normal operation the GMU is responsible
for power and clock control on the GX domain and the CPU remains
blissfully unaware. However, there is one situation where the CPU
needs to get involved:

The power sequencing rules dictate that the GX needs to be turned
off before the CX so that the CX can be turned on before the GX
during power up. During normal operation when the CPU is taking
down the CX domain a stop command is sent to the GMU which turns
off the GX domain and then the CPU handles the CX domain.

But if the GMU happened to be unresponsive while the GX domain was
left then the CPU will need to step in and turn off the GX domain
before resetting the CX and rebooting the GMU. This unfortunately
means that the CPU needs to be marginally aware of the GX domain
even though it is expected to usually keep its hands off.

To support this we create a semi-disabled GX power domain that
does nothing to the hardware on power up but tries to shut it
down normally on power down. In this method the reference counting
is correct and we can step in with the pm_runtime_put() at the right
time during the failure path.

This patch sets up the connection to the GX power domain and does
the magic to "enable" and disable it at the right points.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
2019-04-19 11:50:06 -07:00
..
adreno drm/msm/gpu: Attach to the GPU GX power domain 2019-04-19 11:50:06 -07:00
disp drm/msm/dpu: check split role for single flush 2019-04-18 10:04:10 -07:00
dsi drm-misc-next for 5.1: 2019-01-18 09:31:28 +10:00
edp drm-misc-next for 5.1: 2019-01-18 09:31:28 +10:00
hdmi drm-misc-next for 5.1: 2019-01-18 09:31:28 +10:00
Kconfig drm/msm/a6xx: Add support for an interconnect path 2019-02-19 14:50:12 +01:00
Makefile drm/msm/dpu: Remove dpu_irq and unused functions 2018-12-11 13:10:18 -05:00
msm_atomic.c drm pull request for 4.21-rc1 2018-12-25 11:48:26 -08:00
msm_debugfs.c drm pull request for 4.21-rc1 2018-12-25 11:48:26 -08:00
msm_debugfs.h
msm_drv.c drm/msm/gpu: Add submit queue queries 2019-04-19 11:50:06 -07:00
msm_drv.h drm/msm/gpu: Add submit queue queries 2019-04-19 11:50:06 -07:00
msm_fb.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
msm_fbdev.c drm/msm: Add msm_gem_get_and_pin_iova() 2018-12-11 13:05:32 -05:00
msm_fence.c drm/msm: Remove unecessary dma_fence_ops 2018-08-17 11:22:25 +02:00
msm_fence.h drm/msm: strip out msm_fence_cb 2018-03-19 06:33:35 -04:00
msm_gem_prime.c
msm_gem_shrinker.c
msm_gem_submit.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
msm_gem_vma.c drm/msm: Fix NULL pointer dereference 2019-04-18 10:04:09 -07:00
msm_gem.c drm/msm: don't allocate pages from the MOVABLE zone 2019-04-18 10:04:09 -07:00
msm_gem.h drm/msm: Add a name field for gem objects 2018-12-11 13:06:59 -05:00
msm_gpu_trace.h drm/msm/gpu: Add trace events for tracking GPU submissions 2018-12-11 13:05:28 -05:00
msm_gpu_tracepoints.c drm/msm/gpu: Add trace events for tracking GPU submissions 2018-12-11 13:05:28 -05:00
msm_gpu.c drm/msm/gpu: Add submit queue queries 2019-04-19 11:50:06 -07:00
msm_gpu.h drm/msm: add param to retrieve # of GPU faults (global) 2019-04-19 11:50:00 -07:00
msm_gpummu.c drm/msm: implement a2xx mmu 2018-12-11 13:07:10 -05:00
msm_iommu.c drm/msm: Remove pm_runtime calls from msm_iommu.c 2019-04-18 10:04:09 -07:00
msm_kms.h drm/msm: Cut dpu_kms hooks from msm_pm_suspend/resume 2018-12-11 12:51:27 -05:00
msm_mmu.h drm/msm: implement a2xx mmu 2018-12-11 13:07:10 -05:00
msm_perf.c
msm_rd.c drm/msm: Unblock writer if reader closes file 2019-01-29 10:17:34 -05:00
msm_ringbuffer.c drm/msm/gpu: Map the ringbuffer in the iova at create time 2018-12-11 13:07:03 -05:00
msm_ringbuffer.h drm/msm/gpu: Add per-submission statistics 2018-12-11 13:05:28 -05:00
msm_submitqueue.c drm/msm/gpu: Add submit queue queries 2019-04-19 11:50:06 -07:00
NOTES