1c349dbc7Sjsg /* SPDX-License-Identifier: MIT */ 2c349dbc7Sjsg /* 3c349dbc7Sjsg * Copyright © 2019 Intel Corporation 4c349dbc7Sjsg */ 5c349dbc7Sjsg 6c349dbc7Sjsg #ifndef __INTEL_ATOMIC_H__ 7c349dbc7Sjsg #define __INTEL_ATOMIC_H__ 8c349dbc7Sjsg 9c349dbc7Sjsg #include <linux/types.h> 10c349dbc7Sjsg 11c349dbc7Sjsg #define drm_i915_private inteldrm_softc 12c349dbc7Sjsg 13c349dbc7Sjsg struct drm_atomic_state; 14c349dbc7Sjsg struct drm_connector; 15c349dbc7Sjsg struct drm_connector_state; 16c349dbc7Sjsg struct drm_crtc; 17c349dbc7Sjsg struct drm_crtc_state; 18c349dbc7Sjsg struct drm_device; 19c349dbc7Sjsg struct drm_i915_private; 20c349dbc7Sjsg struct drm_property; 21c349dbc7Sjsg struct intel_atomic_state; 22c349dbc7Sjsg struct intel_connector; 23c349dbc7Sjsg struct intel_crtc; 24c349dbc7Sjsg struct intel_crtc_state; 25c349dbc7Sjsg 26c349dbc7Sjsg int intel_digital_connector_atomic_get_property(struct drm_connector *connector, 27c349dbc7Sjsg const struct drm_connector_state *state, 28c349dbc7Sjsg struct drm_property *property, 29c349dbc7Sjsg u64 *val); 30c349dbc7Sjsg int intel_digital_connector_atomic_set_property(struct drm_connector *connector, 31c349dbc7Sjsg struct drm_connector_state *state, 32c349dbc7Sjsg struct drm_property *property, 33c349dbc7Sjsg u64 val); 34c349dbc7Sjsg int intel_digital_connector_atomic_check(struct drm_connector *conn, 35c349dbc7Sjsg struct drm_atomic_state *state); 36c349dbc7Sjsg struct drm_connector_state * 37c349dbc7Sjsg intel_digital_connector_duplicate_state(struct drm_connector *connector); 38c349dbc7Sjsg bool intel_connector_needs_modeset(struct intel_atomic_state *state, 39c349dbc7Sjsg struct drm_connector *connector); 40*5ca02815Sjsg bool intel_any_crtc_needs_modeset(struct intel_atomic_state *state); 41c349dbc7Sjsg struct intel_digital_connector_state * 42c349dbc7Sjsg intel_atomic_get_digital_connector_state(struct intel_atomic_state *state, 43c349dbc7Sjsg struct intel_connector *connector); 44c349dbc7Sjsg 45c349dbc7Sjsg struct drm_crtc_state *intel_crtc_duplicate_state(struct drm_crtc *crtc); 46c349dbc7Sjsg void intel_crtc_destroy_state(struct drm_crtc *crtc, 47c349dbc7Sjsg struct drm_crtc_state *state); 48c349dbc7Sjsg void intel_crtc_free_hw_state(struct intel_crtc_state *crtc_state); 49c349dbc7Sjsg struct drm_atomic_state *intel_atomic_state_alloc(struct drm_device *dev); 50c349dbc7Sjsg void intel_atomic_state_free(struct drm_atomic_state *state); 51c349dbc7Sjsg void intel_atomic_state_clear(struct drm_atomic_state *state); 52c349dbc7Sjsg 53c349dbc7Sjsg struct intel_crtc_state * 54c349dbc7Sjsg intel_atomic_get_crtc_state(struct drm_atomic_state *state, 55c349dbc7Sjsg struct intel_crtc *crtc); 56c349dbc7Sjsg 57c349dbc7Sjsg #endif /* __INTEL_ATOMIC_H__ */ 58