|
@@ -310,6 +310,7 @@ static void dsi_bridge_disable(struct drm_bridge *bridge)
|
|
|
static void dsi_bridge_post_disable(struct drm_bridge *bridge)
|
|
|
{
|
|
|
int rc = 0;
|
|
|
+ struct dsi_display *display;
|
|
|
struct dsi_bridge *c_bridge = to_dsi_bridge(bridge);
|
|
|
|
|
|
if (!bridge) {
|
|
@@ -317,6 +318,8 @@ static void dsi_bridge_post_disable(struct drm_bridge *bridge)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ display = c_bridge->display;
|
|
|
+
|
|
|
SDE_ATRACE_BEGIN("dsi_bridge_post_disable");
|
|
|
SDE_ATRACE_BEGIN("dsi_display_disable");
|
|
|
rc = dsi_display_disable(c_bridge->display);
|
|
@@ -328,6 +331,9 @@ static void dsi_bridge_post_disable(struct drm_bridge *bridge)
|
|
|
}
|
|
|
SDE_ATRACE_END("dsi_display_disable");
|
|
|
|
|
|
+ if (display && display->drm_conn)
|
|
|
+ sde_connector_helper_bridge_post_disable(display->drm_conn);
|
|
|
+
|
|
|
rc = dsi_display_unprepare(c_bridge->display);
|
|
|
if (rc) {
|
|
|
DSI_ERR("[%d] DSI display unprepare failed, rc=%d\n",
|