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