]> git.baikalelectronics.ru Git - kernel.git/commit
drm/msm: gpu: Add support for the GPMU
authorJordan Crouse <jcrouse@codeaurora.org>
Mon, 28 Nov 2016 19:28:34 +0000 (12:28 -0700)
committerRob Clark <robdclark@gmail.com>
Mon, 28 Nov 2016 20:14:16 +0000 (15:14 -0500)
commite27dc2f6a265e52e45d74c10b6f09e29e54368ae
tree265b4b900cf83397cffb0385c68650e28a1760fc
parent819adcd4ad6009fa42fd1928f90674bfc83eb6b9
drm/msm: gpu: Add support for the GPMU

Most 5XX targets have GPMU (Graphics Power Management Unit) that
handles a lot of the heavy lifting for power management including
thermal and limits management and dynamic power collapse. While
the GPMU itself is optional, it is usually nessesary to hit
aggressive power targets.

The GPMU firmware needs to be loaded into the GPMU at init time via a
shared hardware block of registers. Using the GPU to write the microcode
is more efficient than using the CPU so at first load create an indirect
buffer that can be executed during subsequent initalization sequences.

After loading the GPMU gets initalized through a shared register
interface and then we mostly get out of its way and let it do
its thing.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/Makefile
drivers/gpu/drm/msm/adreno/a5xx_gpu.c
drivers/gpu/drm/msm/adreno/a5xx_gpu.h
drivers/gpu/drm/msm/adreno/a5xx_power.c [new file with mode: 0644]
drivers/gpu/drm/msm/adreno/adreno_device.c
drivers/gpu/drm/msm/adreno/adreno_gpu.h