linux/drivers/gpu/drm/amd/display/dc/inc/core_types.h

/*
 * Copyright 2015 Advanced Micro Devices, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *
 * Authors: AMD
 *
 */

#ifndef _CORE_TYPES_H_
#define _CORE_TYPES_H_

#include "dc.h"
#include "dce_calcs.h"
#include "dcn_calcs.h"
#include "ddc_service_types.h"
#include "dc_bios_types.h"
#include "mem_input.h"
#include "hubp.h"
#include "mpc.h"
#include "dwb.h"
#include "mcif_wb.h"
#include "panel_cntl.h"
#include "dmub/inc/dmub_cmd.h"
#include "pg_cntl.h"
#include "spl/dc_spl.h"

#define MAX_CLOCK_SOURCES
#define MAX_SVP_PHANTOM_STREAMS
#define MAX_SVP_PHANTOM_PLANES

void enable_surface_flip_reporting(struct dc_plane_state *plane_state,
		uint32_t controller_id);

#include "grph_object_id.h"
#include "link_encoder.h"
#include "stream_encoder.h"
#include "clock_source.h"
#include "audio.h"
#include "dm_pp_smu.h"
#include "dm_cp_psp.h"
#include "link_hwss.h"

/********** DAL Core*********************/
#include "transform.h"
#include "dpp.h"

#include "dml2/dml21/inc/dml_top_dchub_registers.h"
#include "dml2/dml21/inc/dml_top_types.h"

struct resource_pool;
struct dc_state;
struct resource_context;
struct clk_bw_params;

struct resource_funcs {};

struct audio_support{};

#define NO_UNDERLAY_PIPE

struct resource_pool {};

struct dcn_fe_bandwidth {};

/* Parameters needed to call set_disp_pattern_generator */
struct test_pattern_params {};

struct stream_resource {};

struct plane_resource {};

#define LINK_RES_HPO_DP_REC_MAP__MASK
#define LINK_RES_HPO_DP_REC_MAP__SHIFT

/* all mappable hardware resources used to enable a link */
struct link_resource {};

struct link_config {};
pipe_update_flags;

struct pixel_rate_divider {};

enum p_state_switch_method {};

struct pipe_ctx {};

/* Data used for dynamic link encoder assignment.
 * Tracks current and future assignments; available link encoders;
 * and mode of operation (whether to use current or future assignments).
 */
struct link_enc_cfg_context {};

struct resource_context {};

struct dce_bw_output {};

struct dcn_bw_writeback {};

struct dcn_bw_output {};

bw_output;

struct bw_context {};

struct dc_dmub_cmd {};

/**
 * struct dc_state - The full description of a state requested by users
 */
struct dc_state {};

struct replay_context {};

enum dc_replay_enable {};

struct dc_bounding_box_max_clk {};

#endif /* _CORE_TYPES_H_ */