Loading msm/dsi/dsi_drm.c +4 −18 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ #include "sde_connector.h" #include "dsi_drm.h" #include "sde_trace.h" #include "sde_encoder.h" #define to_dsi_bridge(x) container_of((x), struct dsi_bridge, base) #define to_dsi_state(x) container_of((x), struct dsi_connector_state, base) Loading Loading @@ -341,8 +340,6 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge, struct dsi_display *display; struct dsi_display_mode dsi_mode, cur_dsi_mode, *panel_dsi_mode; struct drm_crtc_state *crtc_state; bool clone_mode = false; struct drm_encoder *encoder; crtc_state = container_of(mode, struct drm_crtc_state, mode); Loading Loading @@ -407,14 +404,6 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge, return false; } drm_for_each_encoder(encoder, crtc_state->crtc->dev) { if (encoder->crtc != crtc_state->crtc) continue; if (sde_encoder_in_clone_mode(encoder)) clone_mode = true; } /* No panel mode switch when drm pipeline is changing */ if ((dsi_mode.panel_mode != cur_dsi_mode.panel_mode) && (!(dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_VRR)) && Loading @@ -431,16 +420,13 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge, dsi_mode.dsi_mode_flags |= DSI_MODE_FLAG_DMS; } /* Reject seamless transition when active/connectors changed */ if ((crtc_state->active_changed || (crtc_state->connectors_changed && clone_mode)) && /* Reject seamless transition when active changed */ if (crtc_state->active_changed && ((dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_VRR) || (dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_POMS) || (dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_DYN_CLK))) { DSI_ERR("seamless on active/conn(%d/%d) changed 0x%x\n", crtc_state->active_changed, crtc_state->connectors_changed, dsi_mode.dsi_mode_flags); DSI_ERR("seamless upon active changed 0x%x %d\n", dsi_mode.dsi_mode_flags, crtc_state->active_changed); return false; } Loading msm/msm_atomic.c +5 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. * Copyright (C) 2014 Red Hat * Author: Rob Clark <robdclark@gmail.com> * Loading Loading @@ -82,6 +82,10 @@ static inline bool _msm_seamless_for_conn(struct drm_connector *connector, if (enable) return false; if (!connector->state->crtc && old_conn_state->crtc->state->connectors_changed) return false; if (msm_is_mode_seamless(&connector->encoder->crtc->state->mode)) return true; Loading Loading
msm/dsi/dsi_drm.c +4 −18 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ #include "sde_connector.h" #include "dsi_drm.h" #include "sde_trace.h" #include "sde_encoder.h" #define to_dsi_bridge(x) container_of((x), struct dsi_bridge, base) #define to_dsi_state(x) container_of((x), struct dsi_connector_state, base) Loading Loading @@ -341,8 +340,6 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge, struct dsi_display *display; struct dsi_display_mode dsi_mode, cur_dsi_mode, *panel_dsi_mode; struct drm_crtc_state *crtc_state; bool clone_mode = false; struct drm_encoder *encoder; crtc_state = container_of(mode, struct drm_crtc_state, mode); Loading Loading @@ -407,14 +404,6 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge, return false; } drm_for_each_encoder(encoder, crtc_state->crtc->dev) { if (encoder->crtc != crtc_state->crtc) continue; if (sde_encoder_in_clone_mode(encoder)) clone_mode = true; } /* No panel mode switch when drm pipeline is changing */ if ((dsi_mode.panel_mode != cur_dsi_mode.panel_mode) && (!(dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_VRR)) && Loading @@ -431,16 +420,13 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge, dsi_mode.dsi_mode_flags |= DSI_MODE_FLAG_DMS; } /* Reject seamless transition when active/connectors changed */ if ((crtc_state->active_changed || (crtc_state->connectors_changed && clone_mode)) && /* Reject seamless transition when active changed */ if (crtc_state->active_changed && ((dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_VRR) || (dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_POMS) || (dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_DYN_CLK))) { DSI_ERR("seamless on active/conn(%d/%d) changed 0x%x\n", crtc_state->active_changed, crtc_state->connectors_changed, dsi_mode.dsi_mode_flags); DSI_ERR("seamless upon active changed 0x%x %d\n", dsi_mode.dsi_mode_flags, crtc_state->active_changed); return false; } Loading
msm/msm_atomic.c +5 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. * Copyright (C) 2014 Red Hat * Author: Rob Clark <robdclark@gmail.com> * Loading Loading @@ -82,6 +82,10 @@ static inline bool _msm_seamless_for_conn(struct drm_connector *connector, if (enable) return false; if (!connector->state->crtc && old_conn_state->crtc->state->connectors_changed) return false; if (msm_is_mode_seamless(&connector->encoder->crtc->state->mode)) return true; Loading