linux/drivers/gpu/drm/i915/display/intel_modeset_setup.c

// SPDX-License-Identifier: MIT
/*
 * Copyright © 2022 Intel Corporation
 *
 * Read out the current hardware modeset state, and sanitize it to the current
 * state.
 */

#include <drm/drm_atomic_uapi.h>
#include <drm/drm_atomic_state_helper.h>

#include "i915_drv.h"
#include "i915_reg.h"
#include "i9xx_wm.h"
#include "intel_atomic.h"
#include "intel_bw.h"
#include "intel_color.h"
#include "intel_crtc.h"
#include "intel_crtc_state_dump.h"
#include "intel_ddi.h"
#include "intel_de.h"
#include "intel_display.h"
#include "intel_display_power.h"
#include "intel_display_types.h"
#include "intel_dmc.h"
#include "intel_fifo_underrun.h"
#include "intel_modeset_setup.h"
#include "intel_pch_display.h"
#include "intel_pmdemand.h"
#include "intel_tc.h"
#include "intel_vblank.h"
#include "intel_wm.h"
#include "skl_watermark.h"

static void intel_crtc_disable_noatomic_begin(struct intel_crtc *crtc,
					      struct drm_modeset_acquire_ctx *ctx)
{}

static void set_encoder_for_connector(struct intel_connector *connector,
				      struct intel_encoder *encoder)
{}

static void reset_encoder_connector_state(struct intel_encoder *encoder)
{}

static void reset_crtc_encoder_state(struct intel_crtc *crtc)
{}

static void intel_crtc_disable_noatomic_complete(struct intel_crtc *crtc)
{}

/*
 * Return all the pipes using a transcoder in @transcoder_mask.
 * For joiner configs return only the joiner primary.
 */
static u8 get_transcoder_pipes(struct drm_i915_private *i915,
			       u8 transcoder_mask)
{}

/*
 * Return the port sync master and slave pipes linked to @crtc.
 * For joiner configs return only the joiner primary pipes.
 */
static void get_portsync_pipes(struct intel_crtc *crtc,
			       u8 *master_pipe_mask, u8 *slave_pipes_mask)
{}

static u8 get_joiner_secondary_pipes(struct drm_i915_private *i915, u8 primary_pipes_mask)
{}

static void intel_crtc_disable_noatomic(struct intel_crtc *crtc,
					struct drm_modeset_acquire_ctx *ctx)
{}

static void intel_modeset_update_connector_atomic_state(struct drm_i915_private *i915)
{}

static void intel_crtc_copy_hw_to_uapi_state(struct intel_crtc_state *crtc_state)
{}

static void
intel_sanitize_plane_mapping(struct drm_i915_private *i915)
{}

static bool intel_crtc_has_encoders(struct intel_crtc *crtc)
{}

static bool intel_crtc_needs_link_reset(struct intel_crtc *crtc)
{}

static struct intel_connector *intel_encoder_find_connector(struct intel_encoder *encoder)
{}

static void intel_sanitize_fifo_underrun_reporting(const struct intel_crtc_state *crtc_state)
{}

static bool intel_sanitize_crtc(struct intel_crtc *crtc,
				struct drm_modeset_acquire_ctx *ctx)
{}

static void intel_sanitize_all_crtcs(struct drm_i915_private *i915,
				     struct drm_modeset_acquire_ctx *ctx)
{}

static bool has_bogus_dpll_config(const struct intel_crtc_state *crtc_state)
{}

static void intel_sanitize_encoder(struct intel_encoder *encoder)
{}

/* FIXME read out full plane state for all planes */
static void readout_plane_state(struct drm_i915_private *i915)
{}

static void intel_modeset_readout_hw_state(struct drm_i915_private *i915)
{}

static void
get_encoder_power_domains(struct drm_i915_private *i915)
{}

static void intel_early_display_was(struct drm_i915_private *i915)
{}

void intel_modeset_setup_hw_state(struct drm_i915_private *i915,
				  struct drm_modeset_acquire_ctx *ctx)
{}