kernel-5.15/0631-panfrost-disable-devfreq-on-BE-M1000-SoC.patch

35 lines
1.3 KiB
Diff

From 5f6a25cbd373aa72738189356a0f606daa7bba59 Mon Sep 17 00:00:00 2001
From: Alexey Sheplyakov <asheplyakov@altlinux.org>
Date: Mon, 21 Jun 2021 15:42:47 +0400
Subject: [PATCH] panfrost: disable devfreq on BE-M1000 SoC
Enabling GPU frequency scaling on BE-M1000 cases GPU MMU lockup:
[ 38.108633] panfrost 2a200000.gpu: AS_ACTIVE bit stuck
Since GPU and CPU share the memory this locks up the whole system.
Therefore disable devfreq on BE-M1000.
---
drivers/gpu/drm/panfrost/panfrost_devfreq.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/panfrost/panfrost_devfreq.c b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
index 8ab025d0035f..c2f46665cf33 100644
--- a/drivers/gpu/drm/panfrost/panfrost_devfreq.c
+++ b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
@@ -97,6 +97,12 @@ int panfrost_devfreq_init(struct panfrost_device *pfdev)
struct thermal_cooling_device *cooling;
struct panfrost_devfreq *pfdevfreq = &pfdev->pfdevfreq;
+ if (of_device_is_compatible(of_root, "baikal,baikal-m")) {
+ dev_info(pfdev->dev, "disabling GPU devfreq on BE-M1000\n");
+ ret = 0;
+ goto err_fini;
+ }
+
opp_table = dev_pm_opp_set_regulators(dev, pfdev->comp->supply_names,
pfdev->comp->num_supplies);
if (IS_ERR(opp_table)) {
--
2.31.1