drm/atomic: add connectors_changed to separate it from mode_changed, v2
This can be a separate case from mode_changed, when connectors stay the same but only the mode is different. Drivers may choose to implement specific optimizations to prevent a full modeset for this case. Changes since v1: - Update kerneldocs slightly. Cc: dri-devel@lists.freedesktop.org Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
committed by
Daniel Vetter
parent
90a21700ed
commit
fc596660dd
@@ -166,7 +166,8 @@ int __must_check drm_atomic_async_commit(struct drm_atomic_state *state);
|
||||
static inline bool
|
||||
drm_atomic_crtc_needs_modeset(struct drm_crtc_state *state)
|
||||
{
|
||||
return state->mode_changed || state->active_changed;
|
||||
return state->mode_changed || state->active_changed ||
|
||||
state->connectors_changed;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -255,12 +255,13 @@ struct drm_atomic_state;
|
||||
* @crtc: backpointer to the CRTC
|
||||
* @enable: whether the CRTC should be enabled, gates all other state
|
||||
* @active: whether the CRTC is actively displaying (used for DPMS)
|
||||
* @mode_changed: for use by helpers and drivers when computing state updates
|
||||
* @active_changed: for use by helpers and drivers when computing state updates
|
||||
* @planes_changed: planes on this crtc are updated
|
||||
* @mode_changed: crtc_state->mode or crtc_state->enable has been changed
|
||||
* @active_changed: crtc_state->active has been toggled.
|
||||
* @connectors_changed: connectors to this crtc have been updated
|
||||
* @plane_mask: bitmask of (1 << drm_plane_index(plane)) of attached planes
|
||||
* @last_vblank_count: for helpers and drivers to capture the vblank of the
|
||||
* update to ensure framebuffer cleanup isn't done too early
|
||||
* @planes_changed: for use by helpers and drivers when computing state updates
|
||||
* @adjusted_mode: for use by helpers and drivers to compute adjusted mode timings
|
||||
* @mode: current mode timings
|
||||
* @event: optional pointer to a DRM event to signal upon completion of the
|
||||
@@ -283,6 +284,7 @@ struct drm_crtc_state {
|
||||
bool planes_changed : 1;
|
||||
bool mode_changed : 1;
|
||||
bool active_changed : 1;
|
||||
bool connectors_changed : 1;
|
||||
|
||||
/* attached planes bitmask:
|
||||
* WARNING: transitional helpers do not maintain plane_mask so
|
||||
|
||||
Reference in New Issue
Block a user