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);
  47struct drm_atomic_state *intel_atomic_state_alloc(struct drm_device *dev);
  48void intel_atomic_state_free(struct drm_atomic_state *state);
  49void intel_atomic_state_clear(struct drm_atomic_state *state);
  50
  51struct intel_crtc_state *
  52intel_atomic_get_crtc_state(struct drm_atomic_state *state,
  53                            struct intel_crtc *crtc);
  54
  55int intel_atomic_setup_scalers(struct drm_i915_private *dev_priv,
  56                               struct intel_crtc *intel_crtc,
  57                               struct intel_crtc_state *crtc_state);
  58
  59#endif /* __INTEL_ATOMIC_H__ */
  60