Home | History | Annotate | Line # | Download | only in display
      1 /*	$NetBSD: intel_atomic_plane.h,v 1.2 2021/12/18 23:45:29 riastradh Exp $	*/
      2 
      3 /* SPDX-License-Identifier: MIT */
      4 /*
      5  * Copyright  2019 Intel Corporation
      6  */
      7 
      8 #ifndef __INTEL_ATOMIC_PLANE_H__
      9 #define __INTEL_ATOMIC_PLANE_H__
     10 
     11 #include <linux/types.h>
     12 
     13 struct drm_plane;
     14 struct drm_property;
     15 struct intel_atomic_state;
     16 struct intel_crtc;
     17 struct intel_crtc_state;
     18 struct intel_plane;
     19 struct intel_plane_state;
     20 
     21 extern const struct drm_plane_helper_funcs intel_plane_helper_funcs;
     22 
     23 unsigned int intel_plane_data_rate(const struct intel_crtc_state *crtc_state,
     24 				   const struct intel_plane_state *plane_state);
     25 void intel_plane_copy_uapi_to_hw_state(struct intel_plane_state *plane_state,
     26 				       const struct intel_plane_state *from_plane_state);
     27 void intel_update_plane(struct intel_plane *plane,
     28 			const struct intel_crtc_state *crtc_state,
     29 			const struct intel_plane_state *plane_state);
     30 void intel_disable_plane(struct intel_plane *plane,
     31 			 const struct intel_crtc_state *crtc_state);
     32 struct intel_plane *intel_plane_alloc(void);
     33 void intel_plane_free(struct intel_plane *plane);
     34 struct drm_plane_state *intel_plane_duplicate_state(struct drm_plane *plane);
     35 void intel_plane_destroy_state(struct drm_plane *plane,
     36 			       struct drm_plane_state *state);
     37 void skl_update_planes_on_crtc(struct intel_atomic_state *state,
     38 			       struct intel_crtc *crtc);
     39 void i9xx_update_planes_on_crtc(struct intel_atomic_state *state,
     40 				struct intel_crtc *crtc);
     41 int intel_plane_atomic_check_with_state(const struct intel_crtc_state *old_crtc_state,
     42 					struct intel_crtc_state *crtc_state,
     43 					const struct intel_plane_state *old_plane_state,
     44 					struct intel_plane_state *intel_state);
     45 int intel_plane_atomic_check(struct intel_atomic_state *state,
     46 			     struct intel_plane *plane);
     47 int intel_plane_atomic_calc_changes(const struct intel_crtc_state *old_crtc_state,
     48 				    struct intel_crtc_state *crtc_state,
     49 				    const struct intel_plane_state *old_plane_state,
     50 				    struct intel_plane_state *plane_state);
     51 bool intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
     52 				struct intel_plane *plane);
     53 
     54 #endif /* __INTEL_ATOMIC_PLANE_H__ */
     55