diff options
Diffstat (limited to 'drivers/gpu/drm/drm_atomic.c')
| -rw-r--r-- | drivers/gpu/drm/drm_atomic.c | 60 | 
1 files changed, 60 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index fed41800fea7..b4c6ffc438da 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -985,6 +985,66 @@ drm_atomic_get_new_connector_for_encoder(const struct drm_atomic_state *state,  EXPORT_SYMBOL(drm_atomic_get_new_connector_for_encoder);  /** + * drm_atomic_get_old_crtc_for_encoder - Get old crtc for an encoder + * @state: Atomic state + * @encoder: The encoder to fetch the crtc state for + * + * This function finds and returns the crtc that was connected to @encoder + * as specified by the @state. + * + * Returns: The old crtc connected to @encoder, or NULL if the encoder is + * not connected. + */ +struct drm_crtc * +drm_atomic_get_old_crtc_for_encoder(struct drm_atomic_state *state, +				    struct drm_encoder *encoder) +{ +	struct drm_connector *connector; +	struct drm_connector_state *conn_state; + +	connector = drm_atomic_get_old_connector_for_encoder(state, encoder); +	if (!connector) +		return NULL; + +	conn_state = drm_atomic_get_old_connector_state(state, connector); +	if (!conn_state) +		return NULL; + +	return conn_state->crtc; +} +EXPORT_SYMBOL(drm_atomic_get_old_crtc_for_encoder); + +/** + * drm_atomic_get_new_crtc_for_encoder - Get new crtc for an encoder + * @state: Atomic state + * @encoder: The encoder to fetch the crtc state for + * + * This function finds and returns the crtc that will be connected to @encoder + * as specified by the @state. + * + * Returns: The new crtc connected to @encoder, or NULL if the encoder is + * not connected. + */ +struct drm_crtc * +drm_atomic_get_new_crtc_for_encoder(struct drm_atomic_state *state, +				    struct drm_encoder *encoder) +{ +	struct drm_connector *connector; +	struct drm_connector_state *conn_state; + +	connector = drm_atomic_get_new_connector_for_encoder(state, encoder); +	if (!connector) +		return NULL; + +	conn_state = drm_atomic_get_new_connector_state(state, connector); +	if (!conn_state) +		return NULL; + +	return conn_state->crtc; +} +EXPORT_SYMBOL(drm_atomic_get_new_crtc_for_encoder); + +/**   * drm_atomic_get_connector_state - get connector state   * @state: global atomic state object   * @connector: connector to get state object for  | 
