Commit 730b64d8 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-msm-fixes-2021-10-18' of https://gitlab.freedesktop.org/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: default avatarDave Airlie <airlied@redhat.com>
From: Rob Clark <robdclark@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGs1WPLthmd=ToDcEHm=u-7O38RAVJ2XwRoS8xPmC520vg@mail.gmail.com
parents 519d8195 5ca6779d
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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);
+4 −0
Original line number Diff line number Diff line
@@ -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;

+2 −1
Original line number Diff line number Diff line
@@ -200,6 +200,7 @@ void msm_devfreq_idle(struct msm_gpu *gpu)

	idle_freq = get_freq(gpu);

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

	df->idle_time = ktime_get();