diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 811a1db8b6ed..267bcfc32f13 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -35,6 +35,7 @@  #include <drm/drm_fb_helper.h>  #include <drm/drm_dp_mst_helper.h>  #include <drm/drm_rect.h> +#include <drm/drm_atomic.h>  #define DIV_ROUND_CLOSEST_ULL(ll, d)	\  ({ unsigned long long _tmp = (ll)+(d)/2; do_div(_tmp, d); _tmp; }) @@ -562,6 +563,7 @@ struct cxsr_latency {  };  #define to_intel_crtc(x) container_of(x, struct intel_crtc, base) +#define to_intel_crtc_state(x) container_of(x, struct intel_crtc_state, base)  #define to_intel_connector(x) container_of(x, struct intel_connector, base)  #define to_intel_encoder(x) container_of(x, struct intel_encoder, base)  #define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base) @@ -1303,6 +1305,17 @@ int intel_connector_atomic_get_property(struct drm_connector *connector,  struct drm_crtc_state *intel_crtc_duplicate_state(struct drm_crtc *crtc);  void intel_crtc_destroy_state(struct drm_crtc *crtc,  			       struct drm_crtc_state *state); +static inline struct intel_crtc_state * +intel_atomic_get_crtc_state(struct drm_atomic_state *state, +			    struct intel_crtc *crtc) +{ +	struct drm_crtc_state *crtc_state; +	crtc_state = drm_atomic_get_crtc_state(state, &crtc->base); +	if (IS_ERR(crtc_state)) +		return ERR_PTR(PTR_ERR(crtc_state)); + +	return to_intel_crtc_state(crtc_state); +}  /* intel_atomic_plane.c */  struct intel_plane_state *intel_create_plane_state(struct drm_plane *plane); | 
