Skip to content

Commit

Permalink
Merge tag 'drm-msm-fixes-2021-10-18' of https://gitlab.freedesktop.or…
Browse files Browse the repository at this point in the history
…g/drm/msm into drm-fixes

One more fix for v5.15, to work around a power stability issue on a630
(and possibly others)

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Rob Clark <robdclark@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGs1WPLthmd=ToDcEHm=u-7O38RAVJ2XwRoS8xPmC520vg@mail.gmail.com
  • Loading branch information
Dave Airlie committed Oct 21, 2021
2 parents 519d819 + 5ca6779 commit 730b64d
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
7 changes: 7 additions & 0 deletions drivers/gpu/drm/msm/adreno/a6xx_gpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -1838,6 +1838,13 @@ struct msm_gpu *a6xx_gpu_init(struct drm_device *dev)
adreno_cmp_rev(ADRENO_REV(6, 3, 5, ANY_ID), info->rev)))
adreno_gpu->base.hw_apriv = true;

/*
* For now only clamp to idle freq for devices where this is known not
* to cause power supply issues:
*/
if (info && (info->revn == 618))
gpu->clamp_to_idle = true;

a6xx_llc_slices_init(pdev, a6xx_gpu);

ret = a6xx_set_supported_hw(&pdev->dev, config->rev);
Expand Down
4 changes: 4 additions & 0 deletions drivers/gpu/drm/msm/msm_gpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,10 @@ struct msm_gpu {
uint32_t suspend_count;

struct msm_gpu_state *crashstate;

/* Enable clamping to idle freq when inactive: */
bool clamp_to_idle;

/* True if the hardware supports expanded apriv (a650 and newer) */
bool hw_apriv;

Expand Down
3 changes: 2 additions & 1 deletion drivers/gpu/drm/msm/msm_gpu_devfreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,8 @@ void msm_devfreq_idle(struct msm_gpu *gpu)

idle_freq = get_freq(gpu);

msm_devfreq_target(&gpu->pdev->dev, &target_freq, 0);
if (gpu->clamp_to_idle)
msm_devfreq_target(&gpu->pdev->dev, &target_freq, 0);

df->idle_time = ktime_get();
df->idle_freq = idle_freq;
Expand Down

0 comments on commit 730b64d

Please sign in to comment.