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

// SPDX-License-Identifier: MIT
/*
 * Copyright © 2023 Intel Corporation
 */

#include <linux/bitops.h>

#include "i915_drv.h"
#include "i915_reg.h"
#include "intel_atomic.h"
#include "intel_bw.h"
#include "intel_cdclk.h"
#include "intel_de.h"
#include "intel_display_trace.h"
#include "intel_pmdemand.h"
#include "skl_watermark.h"

static struct intel_global_state *
intel_pmdemand_duplicate_state(struct intel_global_obj *obj)
{}

static void intel_pmdemand_destroy_state(struct intel_global_obj *obj,
					 struct intel_global_state *state)
{}

static const struct intel_global_state_funcs intel_pmdemand_funcs =;

static struct intel_pmdemand_state *
intel_atomic_get_pmdemand_state(struct intel_atomic_state *state)
{}

static struct intel_pmdemand_state *
intel_atomic_get_old_pmdemand_state(struct intel_atomic_state *state)
{}

static struct intel_pmdemand_state *
intel_atomic_get_new_pmdemand_state(struct intel_atomic_state *state)
{}

int intel_pmdemand_init(struct drm_i915_private *i915)
{}

void intel_pmdemand_init_early(struct drm_i915_private *i915)
{}

void
intel_pmdemand_update_phys_mask(struct drm_i915_private *i915,
				struct intel_encoder *encoder,
				struct intel_pmdemand_state *pmdemand_state,
				bool set_bit)
{}

void
intel_pmdemand_update_port_clock(struct drm_i915_private *i915,
				 struct intel_pmdemand_state *pmdemand_state,
				 enum pipe pipe, int port_clock)
{}

static void
intel_pmdemand_update_max_ddiclk(struct drm_i915_private *i915,
				 struct intel_atomic_state *state,
				 struct intel_pmdemand_state *pmdemand_state)
{}

static void
intel_pmdemand_update_connector_phys(struct drm_i915_private *i915,
				     struct intel_atomic_state *state,
				     struct drm_connector_state *conn_state,
				     bool set_bit,
				     struct intel_pmdemand_state *pmdemand_state)
{}

static void
intel_pmdemand_update_active_non_tc_phys(struct drm_i915_private *i915,
					 struct intel_atomic_state *state,
					 struct intel_pmdemand_state *pmdemand_state)
{}

static bool
intel_pmdemand_encoder_has_tc_phy(struct drm_i915_private *i915,
				  struct intel_encoder *encoder)
{}

static bool
intel_pmdemand_connector_needs_update(struct intel_atomic_state *state)
{}

static bool intel_pmdemand_needs_update(struct intel_atomic_state *state)
{}

int intel_pmdemand_atomic_check(struct intel_atomic_state *state)
{}

static bool intel_pmdemand_check_prev_transaction(struct drm_i915_private *i915)
{}

void
intel_pmdemand_init_pmdemand_params(struct drm_i915_private *i915,
				    struct intel_pmdemand_state *pmdemand_state)
{}

static bool intel_pmdemand_req_complete(struct drm_i915_private *i915)
{}

static void intel_pmdemand_wait(struct drm_i915_private *i915)
{}

/* Required to be programmed during Display Init Sequences. */
void intel_pmdemand_program_dbuf(struct drm_i915_private *i915,
				 u8 dbuf_slices)
{}

static void
intel_pmdemand_update_params(const struct intel_pmdemand_state *new,
			     const struct intel_pmdemand_state *old,
			     u32 *reg1, u32 *reg2, bool serialized)
{}

static void
intel_pmdemand_program_params(struct drm_i915_private *i915,
			      const struct intel_pmdemand_state *new,
			      const struct intel_pmdemand_state *old,
			      bool serialized)
{}

static bool
intel_pmdemand_state_changed(const struct intel_pmdemand_state *new,
			     const struct intel_pmdemand_state *old)
{}

void intel_pmdemand_pre_plane_update(struct intel_atomic_state *state)
{}

void intel_pmdemand_post_plane_update(struct intel_atomic_state *state)
{}