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);
  38struct intel_digital_connector_state *
  39intel_atomic_get_digital_connector_state(struct intel_atomic_state *state,
  40                                         struct intel_connector *connector);
  41
  42struct drm_crtc_state *intel_crtc_duplicate_state(struct drm_crtc *crtc);
  43void intel_crtc_destroy_state(struct drm_crtc *crtc,
  44                               struct drm_crtc_state *state);
  45void intel_crtc_free_hw_state(struct intel_crtc_state *crtc_state);
  46void intel_crtc_copy_color_blobs(struct intel_crtc_state *crtc_state,
  47                                 const struct intel_crtc_state *from_crtc_state);
  48struct drm_atomic_state *intel_atomic_state_alloc(struct drm_device *dev);
  49void intel_atomic_state_free(struct drm_atomic_state *state);
  50void intel_atomic_state_clear(struct drm_atomic_state *state);
  51
  52struct intel_crtc_state *
  53intel_atomic_get_crtc_state(struct drm_atomic_state *state,
  54                            struct intel_crtc *crtc);
  55
  56int intel_atomic_setup_scalers(struct drm_i915_private *dev_priv,
  57                               struct intel_crtc *intel_crtc,
  58                               struct intel_crtc_state *crtc_state);
  59
  60#endif /* __INTEL_ATOMIC_H__ */
  61