Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 /*
0003  * Copyright © 2019 Intel Corporation
0004  */
0005 
0006 #ifndef __INTEL_ATOMIC_H__
0007 #define __INTEL_ATOMIC_H__
0008 
0009 #include <linux/types.h>
0010 
0011 struct drm_atomic_state;
0012 struct drm_connector;
0013 struct drm_connector_state;
0014 struct drm_crtc;
0015 struct drm_crtc_state;
0016 struct drm_device;
0017 struct drm_i915_private;
0018 struct drm_property;
0019 struct intel_atomic_state;
0020 struct intel_connector;
0021 struct intel_crtc;
0022 struct intel_crtc_state;
0023 
0024 int intel_digital_connector_atomic_get_property(struct drm_connector *connector,
0025                         const struct drm_connector_state *state,
0026                         struct drm_property *property,
0027                         u64 *val);
0028 int intel_digital_connector_atomic_set_property(struct drm_connector *connector,
0029                         struct drm_connector_state *state,
0030                         struct drm_property *property,
0031                         u64 val);
0032 int intel_digital_connector_atomic_check(struct drm_connector *conn,
0033                      struct drm_atomic_state *state);
0034 struct drm_connector_state *
0035 intel_digital_connector_duplicate_state(struct drm_connector *connector);
0036 bool intel_connector_needs_modeset(struct intel_atomic_state *state,
0037                    struct drm_connector *connector);
0038 bool intel_any_crtc_needs_modeset(struct intel_atomic_state *state);
0039 struct intel_digital_connector_state *
0040 intel_atomic_get_digital_connector_state(struct intel_atomic_state *state,
0041                      struct intel_connector *connector);
0042 
0043 struct drm_crtc_state *intel_crtc_duplicate_state(struct drm_crtc *crtc);
0044 void intel_crtc_destroy_state(struct drm_crtc *crtc,
0045                    struct drm_crtc_state *state);
0046 void intel_crtc_free_hw_state(struct intel_crtc_state *crtc_state);
0047 struct drm_atomic_state *intel_atomic_state_alloc(struct drm_device *dev);
0048 void intel_atomic_state_free(struct drm_atomic_state *state);
0049 void intel_atomic_state_clear(struct drm_atomic_state *state);
0050 
0051 struct intel_crtc_state *
0052 intel_atomic_get_crtc_state(struct drm_atomic_state *state,
0053                 struct intel_crtc *crtc);
0054 
0055 int intel_atomic_setup_scalers(struct drm_i915_private *dev_priv,
0056                    struct intel_crtc *intel_crtc,
0057                    struct intel_crtc_state *crtc_state);
0058 
0059 #endif /* __INTEL_ATOMIC_H__ */