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