[PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196

Onur Özkan work at onurozkan.dev
Sun Feb 15 02:02:51 PST 2026


If sram-supply is missing, Panthor falls back to a
dummy regulator with a warning. This implicit behavior
hides missing DT wiring behind regulator core fallback.

Make SRAM handling explicit: require sram-supply for all
Panthor compatibles except mt8196-mali where GPU supplies
are intentionally managed outside Panthor and DT does not
model sram-supply for that compatible.

This keeps DT power modeling explicit and avoids relying on
dummy-regulator fallback.

Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
Signed-off-by: Onur Özkan <work at onurozkan.dev>
---
 drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c b/drivers/gpu/drm/panthor/panthor_devfreq.c
index 2249b41ca4af..5f6075f18fe3 100644
--- a/drivers/gpu/drm/panthor/panthor_devfreq.c
+++ b/drivers/gpu/drm/panthor/panthor_devfreq.c
@@ -206,12 +206,17 @@ int panthor_devfreq_init(struct panthor_device *ptdev)
 	 * But without knowing if it's beneficial or not (in term of power
 	 * consumption), or how much it slows down the suspend/resume steps,
 	 * let's just keep regulators enabled for the device lifetime.
+	 *
+	 * Treat sram-supply as mandatory except for mt8196-mali. It manages
+	 * SRAM outside Panthor so this driver must not require direct control
+	 * over it.
 	 */
-	ret = devm_regulator_get_enable_optional(dev, "sram");
-	if (ret && ret != -ENODEV) {
-		if (ret != -EPROBE_DEFER)
+	if (!of_device_is_compatible(dev->of_node, "mediatek,mt8196-mali")) {
+		ret = devm_regulator_get_enable_optional(dev, "sram");
+		if (ret) {
 			DRM_DEV_ERROR(dev, "Couldn't retrieve/enable sram supply\n");
-		return ret;
+			return ret;
+		}
 	}
 
 	opp = devfreq_recommended_opp(dev, &cur_freq, 0);
-- 
2.51.2




More information about the linux-arm-kernel mailing list