From 0d6012ec6fbfb7597b1a05775b860913242ba246 Mon Sep 17 00:00:00 2001
From: Douglas Anderson <dianders@chromium.org>
Date: Tue, 14 Sep 2021 13:22:01 -0700
Subject: drm/panel-edp: Don't re-read the EDID every time we power off the
panel
Git-commit: 24e27de115608b04160d1d113b25f8a9f7e59416
Patch-mainline: v5.16-rc1
References: jsc#PED-1166 jsc#PED-1168 jsc#PED-1170 jsc#PED-1218 jsc#PED-1220 jsc#PED-1222 jsc#PED-1223 jsc#PED-1225
The simple-panel driver is for panels that are not hot-pluggable at
runtime. Let's keep our cached EDID around until driver unload.
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210914132020.v5.14.Ib810fb3bebd0bd6763e4609e1a6764d06064081e@changeid
Acked-by: Patrik Jakobsson <pjakobsson@suse.de>
---
drivers/gpu/drm/panel/panel-edp.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 3e53be63cf2a..f01497d1a8c7 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -362,9 +362,6 @@ static int panel_edp_suspend(struct device *dev)
regulator_disable(p->supply);
p->unprepared_time = ktime_get();
- kfree(p->edid);
- p->edid = NULL;
-
return 0;
}
@@ -758,6 +755,9 @@ static int panel_edp_remove(struct device *dev)
if (panel->ddc && (!panel->aux || panel->ddc != &panel->aux->ddc))
put_device(&panel->ddc->dev);
+ kfree(panel->edid);
+ panel->edid = NULL;
+
return 0;
}
--
2.38.1