linux/drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_shared_types.h

// SPDX-License-Identifier: MIT
//
// Copyright 2024 Advanced Micro Devices, Inc.


#ifndef __DML2_CORE_SHARED_TYPES_H__
#define __DML2_CORE_SHARED_TYPES_H__

#include "dml2_external_lib_deps.h"
#include "dml_top_display_cfg_types.h"
#include "dml_top_types.h"

struct dml2_core_ip_params {};

struct dml2_core_internal_DmlPipe {};

enum dml2_core_internal_request_type {};
enum dml2_core_internal_bw_type {};

enum dml2_core_internal_soc_state_type {};

enum dml2_core_internal_output_type {};

enum dml2_core_internal_output_type_rate {};

struct dml2_core_internal_watermarks {};

struct dml2_core_internal_mode_support_info {};

struct dml2_core_internal_mode_support {};

/// @brief A mega structure that houses various info for model programming step.
struct dml2_core_internal_mode_program {};

struct dml2_core_internal_SOCParametersList {};

struct dml2_core_calcs_mode_support_locals {};

struct dml2_core_calcs_mode_programming_locals {};

struct dml2_core_calcs_CalculateWatermarksMALLUseAndDRAMSpeedChangeSupport_locals {};

struct dml2_core_calcs_CalculateVMRowAndSwath_locals {};

struct dml2_core_calcs_CalculateVMRowAndSwath_params {};

struct dml2_core_calcs_CalculatePrefetchSchedule_locals {};

struct dml2_core_shared_calculate_det_buffer_size_params {};

struct dml2_core_shared_calculate_vm_and_row_bytes_params {};

struct dml2_core_shared_CalculateSwathAndDETConfiguration_locals {};

struct dml2_core_shared_TruncToValidBPP_locals {};

struct dml2_core_shared_CalculateDETBufferSize_locals {};

struct dml2_core_shared_get_urgent_bandwidth_required_locals {};

struct dml2_core_shared_calculate_peak_bandwidth_required_locals {};

struct dml2_core_shared_CalculateFlipSchedule_locals {};

struct dml2_core_shared_rq_dlg_get_dlg_reg_locals {};

struct dml2_core_shared_CalculateMetaAndPTETimes_params {};

struct dml2_core_calcs_CalculateWatermarksMALLUseAndDRAMSpeedChangeSupport_params {};


struct dml2_core_calcs_CalculateSwathAndDETConfiguration_params {};

struct dml2_core_calcs_CalculateStutterEfficiency_locals {};

struct dml2_core_calcs_CalculateStutterEfficiency_params {};

struct dml2_core_calcs_CalculatePrefetchSchedule_params {};

struct dml2_core_calcs_calculate_mcache_row_bytes_params {};

struct dml2_core_shared_calculate_mcache_setting_locals {};

struct dml2_core_calcs_calculate_mcache_setting_params {};

struct dml2_core_calcs_calculate_tdlut_setting_params {};

struct dml2_core_calcs_calculate_peak_bandwidth_required_params {};

struct dml2_core_calcs_calculate_bytes_to_fetch_required_to_hide_latency_params {};

// A list of overridable function pointers in the core
// shared calculation library.
struct dml2_core_shared_calculation_funcs {};

struct dml2_core_internal_scratch {};

//struct dml2_svp_mode_override;
struct dml2_core_internal_display_mode_lib {};

struct dml2_core_calcs_mode_support_ex {};

struct core_display_cfg_support_info;

struct dml2_core_calcs_mode_programming_ex {};

#endif