drm/etnaviv: add etnaviv cooling device
authorRussell King <rmk+kernel@armlinux.org.uk>
Sun, 12 Mar 2017 19:00:59 +0000 (19:00 +0000)
committerLucas Stach <l.stach@pengutronix.de>
Wed, 29 Mar 2017 13:53:53 +0000 (15:53 +0200)
commitbcdfb5e56dc539506f72e8087c993af1f7ff06eb
treeb01232ce0b4e7a46e2fe60df346b602882c82954
parentfda8fa5b8ab2ceb02cb66ee2fe2ed83aa209bc5b
drm/etnaviv: add etnaviv cooling device

Each Vivante GPU contains a clock divider which can divide the GPU clock
by 2^n, which can lower the power dissipation from the GPU.  It has been
suggested that the GC600 on Dove is responsible for 20-30% of the power
dissipation from the SoC, so lowering the GPU clock rate provides a way
to throttle the power dissiptation, and reduce the temperature when the
SoC gets hot.

This patch hooks the Etnaviv driver into the kernel's thermal management
to allow the GPUs to be throttled when necessary, allowing a reduction in
GPU clock rate from /1 to /64 in power of 2 steps.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
drivers/gpu/drm/etnaviv/etnaviv_gpu.c
drivers/gpu/drm/etnaviv/etnaviv_gpu.h