mbox series

[v2,0/3] drm/msm: Improved devfreq tuning

Message ID 20210726144653.2180096-1-robdclark@gmail.com
Headers show
Series drm/msm: Improved devfreq tuning | expand

Message

Rob Clark July 26, 2021, 2:46 p.m. UTC
From: Rob Clark <robdclark@chromium.org>

This is the outcome of trying to fix some bad gpu freq behavior seen in
some use-cases, in particular mobile games that throttle themselves to
30fps.  With the existing tuning, we'd end up spending most of the time
that we should be running fast at a low freq, and most of the idle time
at a high freq.

First two patches are prep, 3/3 is the interesting bit.  See the patch
description in 3/3 for more details.

v2: struct_mutex serializes the submit path, but not the retire path,
    so add a dedicated lock to serialize active<->idle transitions.

Rob Clark (3):
  drm/msm: Split out devfreq handling
  drm/msm: Split out get_freq() helper
  drm/msm: Devfreq tuning

 drivers/gpu/drm/msm/Makefile          |   1 +
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c |   4 +-
 drivers/gpu/drm/msm/msm_gpu.c         | 132 +++--------------
 drivers/gpu/drm/msm/msm_gpu.h         |  61 +++++++-
 drivers/gpu/drm/msm/msm_gpu_devfreq.c | 203 ++++++++++++++++++++++++++
 5 files changed, 280 insertions(+), 121 deletions(-)
 create mode 100644 drivers/gpu/drm/msm/msm_gpu_devfreq.c