Home | History | Annotate | Line # | Download | only in display
      1  1.3  riastrad /*	$NetBSD: intel_atomic.h,v 1.3 2021/12/19 11:56:08 riastradh Exp $	*/
      2  1.1  riastrad 
      3  1.1  riastrad /* SPDX-License-Identifier: MIT */
      4  1.1  riastrad /*
      5  1.1  riastrad  * Copyright  2019 Intel Corporation
      6  1.1  riastrad  */
      7  1.1  riastrad 
      8  1.1  riastrad #ifndef __INTEL_ATOMIC_H__
      9  1.1  riastrad #define __INTEL_ATOMIC_H__
     10  1.1  riastrad 
     11  1.1  riastrad #include <linux/types.h>
     12  1.1  riastrad 
     13  1.1  riastrad struct drm_atomic_state;
     14  1.1  riastrad struct drm_connector;
     15  1.1  riastrad struct drm_connector_state;
     16  1.1  riastrad struct drm_crtc;
     17  1.1  riastrad struct drm_crtc_state;
     18  1.1  riastrad struct drm_device;
     19  1.1  riastrad struct drm_i915_private;
     20  1.1  riastrad struct drm_property;
     21  1.1  riastrad struct intel_atomic_state;
     22  1.1  riastrad struct intel_connector;
     23  1.1  riastrad struct intel_crtc;
     24  1.1  riastrad struct intel_crtc_state;
     25  1.1  riastrad 
     26  1.1  riastrad int intel_digital_connector_atomic_get_property(struct drm_connector *connector,
     27  1.1  riastrad 						const struct drm_connector_state *state,
     28  1.1  riastrad 						struct drm_property *property,
     29  1.1  riastrad 						u64 *val);
     30  1.1  riastrad int intel_digital_connector_atomic_set_property(struct drm_connector *connector,
     31  1.1  riastrad 						struct drm_connector_state *state,
     32  1.1  riastrad 						struct drm_property *property,
     33  1.1  riastrad 						u64 val);
     34  1.1  riastrad int intel_digital_connector_atomic_check(struct drm_connector *conn,
     35  1.1  riastrad 					 struct drm_atomic_state *state);
     36  1.1  riastrad struct drm_connector_state *
     37  1.1  riastrad intel_digital_connector_duplicate_state(struct drm_connector *connector);
     38  1.1  riastrad bool intel_connector_needs_modeset(struct intel_atomic_state *state,
     39  1.1  riastrad 				   struct drm_connector *connector);
     40  1.1  riastrad struct intel_digital_connector_state *
     41  1.1  riastrad intel_atomic_get_digital_connector_state(struct intel_atomic_state *state,
     42  1.1  riastrad 					 struct intel_connector *connector);
     43  1.1  riastrad 
     44  1.1  riastrad struct drm_crtc_state *intel_crtc_duplicate_state(struct drm_crtc *crtc);
     45  1.1  riastrad void intel_crtc_destroy_state(struct drm_crtc *crtc,
     46  1.1  riastrad 			       struct drm_crtc_state *state);
     47  1.1  riastrad void intel_crtc_free_hw_state(struct intel_crtc_state *crtc_state);
     48  1.1  riastrad void intel_crtc_copy_color_blobs(struct intel_crtc_state *crtc_state);
     49  1.1  riastrad struct drm_atomic_state *intel_atomic_state_alloc(struct drm_device *dev);
     50  1.1  riastrad void intel_atomic_state_clear(struct drm_atomic_state *state);
     51  1.1  riastrad 
     52  1.1  riastrad struct intel_crtc_state *
     53  1.1  riastrad intel_atomic_get_crtc_state(struct drm_atomic_state *state,
     54  1.1  riastrad 			    struct intel_crtc *crtc);
     55  1.1  riastrad 
     56  1.1  riastrad int intel_atomic_setup_scalers(struct drm_i915_private *dev_priv,
     57  1.1  riastrad 			       struct intel_crtc *intel_crtc,
     58  1.1  riastrad 			       struct intel_crtc_state *crtc_state);
     59  1.1  riastrad 
     60  1.1  riastrad int intel_atomic_lock_global_state(struct intel_atomic_state *state);
     61  1.1  riastrad 
     62  1.1  riastrad int intel_atomic_serialize_global_state(struct intel_atomic_state *state);
     63  1.1  riastrad 
     64  1.3  riastrad #include "i915_sw_fence.h"
     65  1.3  riastrad int __i915_sw_fence_call
     66  1.3  riastrad intel_atomic_commit_ready(struct i915_sw_fence *fence,
     67  1.3  riastrad 			  enum i915_sw_fence_notify notify);
     68  1.3  riastrad 
     69  1.1  riastrad #endif /* __INTEL_ATOMIC_H__ */
     70