Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/exynos: dsi: Add support for panel prepare and unprepare routines

Modify exynos_dsi driver to support the new panel calls:
prepare and unprepare.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>

authored by

Ajay Kumar and committed by
Thierry Reding
cdfb8694 39bbde9c

+11 -2
+11 -2
drivers/gpu/drm/exynos/exynos_drm_dsi.c
··· 1115 1115 if (ret < 0) 1116 1116 return ret; 1117 1117 1118 - ret = drm_panel_enable(dsi->panel); 1118 + ret = drm_panel_prepare(dsi->panel); 1119 1119 if (ret < 0) { 1120 1120 exynos_dsi_poweroff(dsi); 1121 1121 return ret; ··· 1123 1123 1124 1124 exynos_dsi_set_display_mode(dsi); 1125 1125 exynos_dsi_set_display_enable(dsi, true); 1126 + 1127 + ret = drm_panel_enable(dsi->panel); 1128 + if (ret < 0) { 1129 + exynos_dsi_set_display_enable(dsi, false); 1130 + drm_panel_unprepare(dsi->panel); 1131 + exynos_dsi_poweroff(dsi); 1132 + return ret; 1133 + } 1126 1134 1127 1135 dsi->state |= DSIM_STATE_ENABLED; 1128 1136 ··· 1142 1134 if (!(dsi->state & DSIM_STATE_ENABLED)) 1143 1135 return; 1144 1136 1145 - exynos_dsi_set_display_enable(dsi, false); 1146 1137 drm_panel_disable(dsi->panel); 1138 + exynos_dsi_set_display_enable(dsi, false); 1139 + drm_panel_unprepare(dsi->panel); 1147 1140 exynos_dsi_poweroff(dsi); 1148 1141 1149 1142 dsi->state &= ~DSIM_STATE_ENABLED;