aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0302-drm-amd-display-Rename-bandwidth_calcs.h-to-dce_calc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0302-drm-amd-display-Rename-bandwidth_calcs.h-to-dce_calc.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0302-drm-amd-display-Rename-bandwidth_calcs.h-to-dce_calc.patch1126
1 files changed, 0 insertions, 1126 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0302-drm-amd-display-Rename-bandwidth_calcs.h-to-dce_calc.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0302-drm-amd-display-Rename-bandwidth_calcs.h-to-dce_calc.patch
deleted file mode 100644
index a10abbf3..00000000
--- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0302-drm-amd-display-Rename-bandwidth_calcs.h-to-dce_calc.patch
+++ /dev/null
@@ -1,1126 +0,0 @@
-From 7c6a80eea8b6e7036be626c2403d345e4ccf49dd Mon Sep 17 00:00:00 2001
-From: Harry Wentland <harry.wentland@amd.com>
-Date: Tue, 21 Mar 2017 18:17:12 -0400
-Subject: [PATCH 0302/4131] drm/amd/display: Rename bandwidth_calcs.h to
- dce_calcs.h
-
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Acked-by: Harry Wentland <Harry.Wentland@amd.com>
-Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c | 2 +-
- drivers/gpu/drm/amd/display/dc/core/dc.c | 2 +-
- .../drm/amd/display/dc/dce110/dce110_mem_input_v.c | 2 +-
- .../gpu/drm/amd/display/dc/dce80/dce80_mem_input.c | 2 +-
- .../gpu/drm/amd/display/dc/inc/bandwidth_calcs.h | 504 --------------------
- drivers/gpu/drm/amd/display/dc/inc/core_types.h | 2 +-
- drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h | 506 +++++++++++++++++++++
- drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h | 2 +-
- 8 files changed, 512 insertions(+), 510 deletions(-)
- delete mode 100644 drivers/gpu/drm/amd/display/dc/inc/bandwidth_calcs.h
- create mode 100644 drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h
-
-diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
-index 4820660..5ac614f 100644
---- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
-+++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
-@@ -24,7 +24,7 @@
- */
-
- #include "dm_services.h"
--#include "bandwidth_calcs.h"
-+#include "dce_calcs.h"
- #include "dc.h"
- #include "core_types.h"
- #include "dal_asic_id.h"
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
-index c0889ad..b389122 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
-@@ -35,7 +35,7 @@
- #include "clock_source.h"
- #include "dc_bios_types.h"
-
--#include "bandwidth_calcs.h"
-+#include "dce_calcs.h"
- #include "bios_parser_interface.h"
- #include "include/irq_service_interface.h"
- #include "transform.h"
-diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c
-index aac4795..9c32b5b 100644
---- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c
-+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c
-@@ -31,7 +31,7 @@
- #include "gmc/gmc_8_2_sh_mask.h"
-
- #include "include/logger_interface.h"
--#include "inc/bandwidth_calcs.h"
-+#include "inc/dce_calcs.h"
-
- #include "dce110_mem_input.h"
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_mem_input.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_mem_input.c
-index ebb8df3..933e3d8 100644
---- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_mem_input.c
-+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_mem_input.c
-@@ -31,7 +31,7 @@
- #include "gmc/gmc_7_1_sh_mask.h"
-
- #include "include/logger_interface.h"
--#include "inc/bandwidth_calcs.h"
-+#include "inc/dce_calcs.h"
-
- #include "../dce110/dce110_mem_input.h"
- #include "dce80_mem_input.h"
-diff --git a/drivers/gpu/drm/amd/display/dc/inc/bandwidth_calcs.h b/drivers/gpu/drm/amd/display/dc/inc/bandwidth_calcs.h
-deleted file mode 100644
-index 81fab9e..0000000
---- a/drivers/gpu/drm/amd/display/dc/inc/bandwidth_calcs.h
-+++ /dev/null
-@@ -1,504 +0,0 @@
--/*
-- * 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
-- *
-- */
--
--/**
-- * Bandwidth and Watermark calculations interface.
-- * (Refer to "DCEx_mode_support.xlsm" from Perforce.)
-- */
--#ifndef __BANDWIDTH_CALCS_H__
--#define __BANDWIDTH_CALCS_H__
--
--#include "bw_fixed.h"
--
--struct pipe_ctx;
--
--enum bw_calcs_version {
-- BW_CALCS_VERSION_INVALID,
-- BW_CALCS_VERSION_CARRIZO,
-- BW_CALCS_VERSION_POLARIS10,
-- BW_CALCS_VERSION_POLARIS11,
-- BW_CALCS_VERSION_STONEY,
-- BW_CALCS_VERSION_VEGA10
--};
--
--/*******************************************************************************
-- * There are three types of input into Calculations:
-- * 1. per-DCE static values - these are "hardcoded" properties of the DCEIP
-- * 2. board-level values - these are generally coming from VBIOS parser
-- * 3. mode/configuration values - depending Mode, Scaling number of Displays etc.
-- ******************************************************************************/
--
--enum bw_defines {
-- //Common
-- bw_def_no = 0,
-- bw_def_none = 0,
-- bw_def_yes = 1,
-- bw_def_ok = 1,
-- bw_def_high = 2,
-- bw_def_mid = 1,
-- bw_def_low = 0,
--
-- //Internal
-- bw_defs_start = 255,
-- bw_def_underlay422,
-- bw_def_underlay420_luma,
-- bw_def_underlay420_chroma,
-- bw_def_underlay444,
-- bw_def_graphics,
-- bw_def_display_write_back420_luma,
-- bw_def_display_write_back420_chroma,
-- bw_def_portrait,
-- bw_def_hsr_mtn_4,
-- bw_def_hsr_mtn_h_taps,
-- bw_def_ceiling__h_taps_div_4___meq_hsr,
-- bw_def_invalid_linear_or_stereo_mode,
-- bw_def_invalid_rotation_or_bpp_or_stereo,
-- bw_def_vsr_mtn_v_taps,
-- bw_def_vsr_mtn_4,
-- bw_def_auto,
-- bw_def_manual,
-- bw_def_exceeded_allowed_maximum_sclk,
-- bw_def_exceeded_allowed_page_close_open,
-- bw_def_exceeded_allowed_outstanding_pte_req_queue_size,
-- bw_def_exceeded_allowed_maximum_bw,
-- bw_def_landscape,
--
-- //Panning and bezel
-- bw_def_any_lines,
--
-- //Underlay mode
-- bw_def_underlay_only,
-- bw_def_blended,
-- bw_def_blend,
--
-- //Stereo mode
-- bw_def_mono,
-- bw_def_side_by_side,
-- bw_def_top_bottom,
--
-- //Underlay surface type
-- bw_def_420,
-- bw_def_422,
-- bw_def_444,
--
-- //Tiling mode
-- bw_def_linear,
-- bw_def_tiled,
-- bw_def_array_linear_general,
-- bw_def_array_linear_aligned,
-- bw_def_rotated_micro_tiling,
-- bw_def_display_micro_tiling,
--
-- //Memory type
-- bw_def_gddr5,
-- bw_def_hbm,
--
-- //Voltage
-- bw_def_high_no_nbp_state_change,
-- bw_def_0_72,
-- bw_def_0_8,
-- bw_def_0_9,
--
-- bw_def_notok = -1,
-- bw_def_na = -1
--};
--
--struct bw_calcs_dceip {
-- enum bw_calcs_version version;
-- bool large_cursor;
-- uint32_t cursor_max_outstanding_group_num;
-- bool dmif_pipe_en_fbc_chunk_tracker;
-- struct bw_fixed dmif_request_buffer_size;
-- uint32_t lines_interleaved_into_lb;
-- uint32_t low_power_tiling_mode;
-- uint32_t chunk_width;
-- uint32_t number_of_graphics_pipes;
-- uint32_t number_of_underlay_pipes;
-- bool display_write_back_supported;
-- bool argb_compression_support;
-- struct bw_fixed underlay_vscaler_efficiency6_bit_per_component;
-- struct bw_fixed underlay_vscaler_efficiency8_bit_per_component;
-- struct bw_fixed underlay_vscaler_efficiency10_bit_per_component;
-- struct bw_fixed underlay_vscaler_efficiency12_bit_per_component;
-- struct bw_fixed graphics_vscaler_efficiency6_bit_per_component;
-- struct bw_fixed graphics_vscaler_efficiency8_bit_per_component;
-- struct bw_fixed graphics_vscaler_efficiency10_bit_per_component;
-- struct bw_fixed graphics_vscaler_efficiency12_bit_per_component;
-- struct bw_fixed alpha_vscaler_efficiency;
-- uint32_t max_dmif_buffer_allocated;
-- uint32_t graphics_dmif_size;
-- uint32_t underlay_luma_dmif_size;
-- uint32_t underlay_chroma_dmif_size;
-- bool pre_downscaler_enabled;
-- bool underlay_downscale_prefetch_enabled;
-- struct bw_fixed lb_write_pixels_per_dispclk;
-- struct bw_fixed lb_size_per_component444;
-- bool graphics_lb_nodownscaling_multi_line_prefetching;
-- struct bw_fixed stutter_and_dram_clock_state_change_gated_before_cursor;
-- struct bw_fixed underlay420_luma_lb_size_per_component;
-- struct bw_fixed underlay420_chroma_lb_size_per_component;
-- struct bw_fixed underlay422_lb_size_per_component;
-- struct bw_fixed cursor_chunk_width;
-- struct bw_fixed cursor_dcp_buffer_lines;
-- struct bw_fixed underlay_maximum_width_efficient_for_tiling;
-- struct bw_fixed underlay_maximum_height_efficient_for_tiling;
-- struct bw_fixed peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display;
-- struct bw_fixed peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation;
-- struct bw_fixed minimum_outstanding_pte_request_limit;
-- struct bw_fixed maximum_total_outstanding_pte_requests_allowed_by_saw;
-- bool limit_excessive_outstanding_dmif_requests;
-- struct bw_fixed linear_mode_line_request_alternation_slice;
-- uint32_t scatter_gather_lines_of_pte_prefetching_in_linear_mode;
-- uint32_t display_write_back420_luma_mcifwr_buffer_size;
-- uint32_t display_write_back420_chroma_mcifwr_buffer_size;
-- struct bw_fixed request_efficiency;
-- struct bw_fixed dispclk_per_request;
-- struct bw_fixed dispclk_ramping_factor;
-- struct bw_fixed display_pipe_throughput_factor;
-- uint32_t scatter_gather_pte_request_rows_in_tiling_mode;
-- struct bw_fixed mcifwr_all_surfaces_burst_time;
--};
--
--struct bw_calcs_vbios {
-- enum bw_defines memory_type;
-- uint32_t dram_channel_width_in_bits;
-- uint32_t number_of_dram_channels;
-- uint32_t number_of_dram_banks;
-- struct bw_fixed low_yclk; /*m_hz*/
-- struct bw_fixed mid_yclk; /*m_hz*/
-- struct bw_fixed high_yclk; /*m_hz*/
-- struct bw_fixed low_sclk; /*m_hz*/
-- struct bw_fixed mid1_sclk; /*m_hz*/
-- struct bw_fixed mid2_sclk; /*m_hz*/
-- struct bw_fixed mid3_sclk; /*m_hz*/
-- struct bw_fixed mid4_sclk; /*m_hz*/
-- struct bw_fixed mid5_sclk; /*m_hz*/
-- struct bw_fixed mid6_sclk; /*m_hz*/
-- struct bw_fixed high_sclk; /*m_hz*/
-- struct bw_fixed low_voltage_max_dispclk; /*m_hz*/
-- struct bw_fixed mid_voltage_max_dispclk; /*m_hz*/
-- struct bw_fixed high_voltage_max_dispclk; /*m_hz*/
-- struct bw_fixed low_voltage_max_phyclk;
-- struct bw_fixed mid_voltage_max_phyclk;
-- struct bw_fixed high_voltage_max_phyclk;
-- struct bw_fixed data_return_bus_width;
-- struct bw_fixed trc;
-- struct bw_fixed dmifmc_urgent_latency;
-- struct bw_fixed stutter_self_refresh_exit_latency;
-- struct bw_fixed stutter_self_refresh_entry_latency;
-- struct bw_fixed nbp_state_change_latency;
-- struct bw_fixed mcifwrmc_urgent_latency;
-- bool scatter_gather_enable;
-- struct bw_fixed down_spread_percentage;
-- uint32_t cursor_width;
-- uint32_t average_compression_rate;
-- uint32_t number_of_request_slots_gmc_reserves_for_dmif_per_channel;
-- struct bw_fixed blackout_duration;
-- struct bw_fixed maximum_blackout_recovery_time;
--};
--
--/*******************************************************************************
-- * Temporary data structure(s).
-- ******************************************************************************/
--#define maximum_number_of_surfaces 12
--/*Units : MHz, us */
--
--struct bw_calcs_data {
-- /* data for all displays */
-- uint32_t number_of_displays;
-- enum bw_defines underlay_surface_type;
-- enum bw_defines panning_and_bezel_adjustment;
-- enum bw_defines graphics_tiling_mode;
-- uint32_t graphics_lb_bpc;
-- uint32_t underlay_lb_bpc;
-- enum bw_defines underlay_tiling_mode;
-- enum bw_defines d0_underlay_mode;
-- bool d1_display_write_back_dwb_enable;
-- enum bw_defines d1_underlay_mode;
--
-- bool cpup_state_change_enable;
-- bool cpuc_state_change_enable;
-- bool nbp_state_change_enable;
-- bool stutter_mode_enable;
-- uint32_t y_clk_level;
-- uint32_t sclk_level;
-- uint32_t number_of_underlay_surfaces;
-- uint32_t number_of_dram_wrchannels;
-- uint32_t chunk_request_delay;
-- uint32_t number_of_dram_channels;
-- enum bw_defines underlay_micro_tile_mode;
-- enum bw_defines graphics_micro_tile_mode;
-- struct bw_fixed max_phyclk;
-- struct bw_fixed dram_efficiency;
-- struct bw_fixed src_width_after_surface_type;
-- struct bw_fixed src_height_after_surface_type;
-- struct bw_fixed hsr_after_surface_type;
-- struct bw_fixed vsr_after_surface_type;
-- struct bw_fixed src_width_after_rotation;
-- struct bw_fixed src_height_after_rotation;
-- struct bw_fixed hsr_after_rotation;
-- struct bw_fixed vsr_after_rotation;
-- struct bw_fixed source_height_pixels;
-- struct bw_fixed hsr_after_stereo;
-- struct bw_fixed vsr_after_stereo;
-- struct bw_fixed source_width_in_lb;
-- struct bw_fixed lb_line_pitch;
-- struct bw_fixed underlay_maximum_source_efficient_for_tiling;
-- struct bw_fixed num_lines_at_frame_start;
-- struct bw_fixed min_dmif_size_in_time;
-- struct bw_fixed min_mcifwr_size_in_time;
-- struct bw_fixed total_requests_for_dmif_size;
-- struct bw_fixed peak_pte_request_to_eviction_ratio_limiting;
-- struct bw_fixed useful_pte_per_pte_request;
-- struct bw_fixed scatter_gather_pte_request_rows;
-- struct bw_fixed scatter_gather_row_height;
-- struct bw_fixed scatter_gather_pte_requests_in_vblank;
-- struct bw_fixed inefficient_linear_pitch_in_bytes;
-- struct bw_fixed cursor_total_data;
-- struct bw_fixed cursor_total_request_groups;
-- struct bw_fixed scatter_gather_total_pte_requests;
-- struct bw_fixed scatter_gather_total_pte_request_groups;
-- struct bw_fixed tile_width_in_pixels;
-- struct bw_fixed dmif_total_number_of_data_request_page_close_open;
-- struct bw_fixed mcifwr_total_number_of_data_request_page_close_open;
-- struct bw_fixed bytes_per_page_close_open;
-- struct bw_fixed mcifwr_total_page_close_open_time;
-- struct bw_fixed total_requests_for_adjusted_dmif_size;
-- struct bw_fixed total_dmifmc_urgent_trips;
-- struct bw_fixed total_dmifmc_urgent_latency;
-- struct bw_fixed total_display_reads_required_data;
-- struct bw_fixed total_display_reads_required_dram_access_data;
-- struct bw_fixed total_display_writes_required_data;
-- struct bw_fixed total_display_writes_required_dram_access_data;
-- struct bw_fixed display_reads_required_data;
-- struct bw_fixed display_reads_required_dram_access_data;
-- struct bw_fixed dmif_total_page_close_open_time;
-- struct bw_fixed min_cursor_memory_interface_buffer_size_in_time;
-- struct bw_fixed min_read_buffer_size_in_time;
-- struct bw_fixed display_reads_time_for_data_transfer;
-- struct bw_fixed display_writes_time_for_data_transfer;
-- struct bw_fixed dmif_required_dram_bandwidth;
-- struct bw_fixed mcifwr_required_dram_bandwidth;
-- struct bw_fixed required_dmifmc_urgent_latency_for_page_close_open;
-- struct bw_fixed required_mcifmcwr_urgent_latency;
-- struct bw_fixed required_dram_bandwidth_gbyte_per_second;
-- struct bw_fixed dram_bandwidth;
-- struct bw_fixed dmif_required_sclk;
-- struct bw_fixed mcifwr_required_sclk;
-- struct bw_fixed required_sclk;
-- struct bw_fixed downspread_factor;
-- struct bw_fixed v_scaler_efficiency;
-- struct bw_fixed scaler_limits_factor;
-- struct bw_fixed display_pipe_pixel_throughput;
-- struct bw_fixed total_dispclk_required_with_ramping;
-- struct bw_fixed total_dispclk_required_without_ramping;
-- struct bw_fixed total_read_request_bandwidth;
-- struct bw_fixed total_write_request_bandwidth;
-- struct bw_fixed dispclk_required_for_total_read_request_bandwidth;
-- struct bw_fixed total_dispclk_required_with_ramping_with_request_bandwidth;
-- struct bw_fixed total_dispclk_required_without_ramping_with_request_bandwidth;
-- struct bw_fixed dispclk;
-- struct bw_fixed blackout_recovery_time;
-- struct bw_fixed min_pixels_per_data_fifo_entry;
-- struct bw_fixed sclk_deep_sleep;
-- struct bw_fixed chunk_request_time;
-- struct bw_fixed cursor_request_time;
-- struct bw_fixed line_source_pixels_transfer_time;
-- struct bw_fixed dmifdram_access_efficiency;
-- struct bw_fixed mcifwrdram_access_efficiency;
-- struct bw_fixed total_average_bandwidth_no_compression;
-- struct bw_fixed total_average_bandwidth;
-- struct bw_fixed total_stutter_cycle_duration;
-- struct bw_fixed stutter_burst_time;
-- struct bw_fixed time_in_self_refresh;
-- struct bw_fixed stutter_efficiency;
-- struct bw_fixed worst_number_of_trips_to_memory;
-- struct bw_fixed immediate_flip_time;
-- struct bw_fixed latency_for_non_dmif_clients;
-- struct bw_fixed latency_for_non_mcifwr_clients;
-- struct bw_fixed dmifmc_urgent_latency_supported_in_high_sclk_and_yclk;
-- struct bw_fixed nbp_state_dram_speed_change_margin;
-- struct bw_fixed display_reads_time_for_data_transfer_and_urgent_latency;
-- struct bw_fixed dram_speed_change_margin;
-- struct bw_fixed min_vblank_dram_speed_change_margin;
-- struct bw_fixed min_stutter_refresh_duration;
-- uint32_t total_stutter_dmif_buffer_size;
-- uint32_t total_bytes_requested;
-- uint32_t min_stutter_dmif_buffer_size;
-- uint32_t num_stutter_bursts;
-- struct bw_fixed v_blank_nbp_state_dram_speed_change_latency_supported;
-- struct bw_fixed nbp_state_dram_speed_change_latency_supported;
-- bool fbc_en[maximum_number_of_surfaces];
-- bool lpt_en[maximum_number_of_surfaces];
-- bool displays_match_flag[maximum_number_of_surfaces];
-- bool use_alpha[maximum_number_of_surfaces];
-- bool orthogonal_rotation[maximum_number_of_surfaces];
-- bool enable[maximum_number_of_surfaces];
-- bool access_one_channel_only[maximum_number_of_surfaces];
-- bool scatter_gather_enable_for_pipe[maximum_number_of_surfaces];
-- bool interlace_mode[maximum_number_of_surfaces];
-- bool display_pstate_change_enable[maximum_number_of_surfaces];
-- bool line_buffer_prefetch[maximum_number_of_surfaces];
-- uint32_t bytes_per_pixel[maximum_number_of_surfaces];
-- uint32_t max_chunks_non_fbc_mode[maximum_number_of_surfaces];
-- uint32_t lb_bpc[maximum_number_of_surfaces];
-- uint32_t output_bpphdmi[maximum_number_of_surfaces];
-- uint32_t output_bppdp4_lane_hbr[maximum_number_of_surfaces];
-- uint32_t output_bppdp4_lane_hbr2[maximum_number_of_surfaces];
-- uint32_t output_bppdp4_lane_hbr3[maximum_number_of_surfaces];
-- enum bw_defines stereo_mode[maximum_number_of_surfaces];
-- struct bw_fixed dmif_buffer_transfer_time[maximum_number_of_surfaces];
-- struct bw_fixed displays_with_same_mode[maximum_number_of_surfaces];
-- struct bw_fixed stutter_dmif_buffer_size[maximum_number_of_surfaces];
-- struct bw_fixed stutter_refresh_duration[maximum_number_of_surfaces];
-- struct bw_fixed stutter_exit_watermark[maximum_number_of_surfaces];
-- struct bw_fixed stutter_entry_watermark[maximum_number_of_surfaces];
-- struct bw_fixed h_total[maximum_number_of_surfaces];
-- struct bw_fixed v_total[maximum_number_of_surfaces];
-- struct bw_fixed pixel_rate[maximum_number_of_surfaces];
-- struct bw_fixed src_width[maximum_number_of_surfaces];
-- struct bw_fixed pitch_in_pixels[maximum_number_of_surfaces];
-- struct bw_fixed pitch_in_pixels_after_surface_type[maximum_number_of_surfaces];
-- struct bw_fixed src_height[maximum_number_of_surfaces];
-- struct bw_fixed scale_ratio[maximum_number_of_surfaces];
-- struct bw_fixed h_taps[maximum_number_of_surfaces];
-- struct bw_fixed v_taps[maximum_number_of_surfaces];
-- struct bw_fixed h_scale_ratio[maximum_number_of_surfaces];
-- struct bw_fixed v_scale_ratio[maximum_number_of_surfaces];
-- struct bw_fixed rotation_angle[maximum_number_of_surfaces];
-- struct bw_fixed compression_rate[maximum_number_of_surfaces];
-- struct bw_fixed hsr[maximum_number_of_surfaces];
-- struct bw_fixed vsr[maximum_number_of_surfaces];
-- struct bw_fixed source_width_rounded_up_to_chunks[maximum_number_of_surfaces];
-- struct bw_fixed source_width_pixels[maximum_number_of_surfaces];
-- struct bw_fixed source_height_rounded_up_to_chunks[maximum_number_of_surfaces];
-- struct bw_fixed display_bandwidth[maximum_number_of_surfaces];
-- struct bw_fixed request_bandwidth[maximum_number_of_surfaces];
-- struct bw_fixed bytes_per_request[maximum_number_of_surfaces];
-- struct bw_fixed useful_bytes_per_request[maximum_number_of_surfaces];
-- struct bw_fixed lines_interleaved_in_mem_access[maximum_number_of_surfaces];
-- struct bw_fixed latency_hiding_lines[maximum_number_of_surfaces];
-- struct bw_fixed lb_partitions[maximum_number_of_surfaces];
-- struct bw_fixed lb_partitions_max[maximum_number_of_surfaces];
-- struct bw_fixed dispclk_required_with_ramping[maximum_number_of_surfaces];
-- struct bw_fixed dispclk_required_without_ramping[maximum_number_of_surfaces];
-- struct bw_fixed data_buffer_size[maximum_number_of_surfaces];
-- struct bw_fixed outstanding_chunk_request_limit[maximum_number_of_surfaces];
-- struct bw_fixed urgent_watermark[maximum_number_of_surfaces];
-- struct bw_fixed nbp_state_change_watermark[maximum_number_of_surfaces];
-- struct bw_fixed v_filter_init[maximum_number_of_surfaces];
-- struct bw_fixed stutter_cycle_duration[maximum_number_of_surfaces];
-- struct bw_fixed average_bandwidth[maximum_number_of_surfaces];
-- struct bw_fixed average_bandwidth_no_compression[maximum_number_of_surfaces];
-- struct bw_fixed scatter_gather_pte_request_limit[maximum_number_of_surfaces];
-- struct bw_fixed lb_size_per_component[maximum_number_of_surfaces];
-- struct bw_fixed memory_chunk_size_in_bytes[maximum_number_of_surfaces];
-- struct bw_fixed pipe_chunk_size_in_bytes[maximum_number_of_surfaces];
-- struct bw_fixed number_of_trips_to_memory_for_getting_apte_row[maximum_number_of_surfaces];
-- struct bw_fixed adjusted_data_buffer_size[maximum_number_of_surfaces];
-- struct bw_fixed adjusted_data_buffer_size_in_memory[maximum_number_of_surfaces];
-- struct bw_fixed pixels_per_data_fifo_entry[maximum_number_of_surfaces];
-- struct bw_fixed scatter_gather_pte_requests_in_row[maximum_number_of_surfaces];
-- struct bw_fixed pte_request_per_chunk[maximum_number_of_surfaces];
-- struct bw_fixed scatter_gather_page_width[maximum_number_of_surfaces];
-- struct bw_fixed scatter_gather_page_height[maximum_number_of_surfaces];
-- struct bw_fixed lb_lines_in_per_line_out_in_beginning_of_frame[maximum_number_of_surfaces];
-- struct bw_fixed lb_lines_in_per_line_out_in_middle_of_frame[maximum_number_of_surfaces];
-- struct bw_fixed cursor_width_pixels[maximum_number_of_surfaces];
-- struct bw_fixed minimum_latency_hiding[maximum_number_of_surfaces];
-- struct bw_fixed maximum_latency_hiding[maximum_number_of_surfaces];
-- struct bw_fixed minimum_latency_hiding_with_cursor[maximum_number_of_surfaces];
-- struct bw_fixed maximum_latency_hiding_with_cursor[maximum_number_of_surfaces];
-- struct bw_fixed src_pixels_for_first_output_pixel[maximum_number_of_surfaces];
-- struct bw_fixed src_pixels_for_last_output_pixel[maximum_number_of_surfaces];
-- struct bw_fixed src_data_for_first_output_pixel[maximum_number_of_surfaces];
-- struct bw_fixed src_data_for_last_output_pixel[maximum_number_of_surfaces];
-- struct bw_fixed active_time[maximum_number_of_surfaces];
-- struct bw_fixed horizontal_blank_and_chunk_granularity_factor[maximum_number_of_surfaces];
-- struct bw_fixed cursor_latency_hiding[maximum_number_of_surfaces];
-- struct bw_fixed v_blank_dram_speed_change_margin[maximum_number_of_surfaces];
-- uint32_t num_displays_with_margin[3][8];
-- struct bw_fixed dmif_burst_time[3][8];
-- struct bw_fixed mcifwr_burst_time[3][8];
-- struct bw_fixed line_source_transfer_time[maximum_number_of_surfaces][3][8];
-- struct bw_fixed dram_speed_change_line_source_transfer_time[maximum_number_of_surfaces][3][8];
-- struct bw_fixed min_dram_speed_change_margin[3][8];
-- struct bw_fixed dispclk_required_for_dram_speed_change[3][8];
-- struct bw_fixed blackout_duration_margin[3][8];
-- struct bw_fixed dispclk_required_for_blackout_duration[3][8];
-- struct bw_fixed dispclk_required_for_blackout_recovery[3][8];
-- struct bw_fixed dmif_required_sclk_for_urgent_latency[6];
--};
--
--/*******************************************************************************
-- * Output data structures.
-- ******************************************************************************/
--struct bw_watermarks {
-- uint32_t a_mark;
-- uint32_t b_mark;
-- uint32_t c_mark;
-- uint32_t d_mark;
--};
--
--struct bw_calcs_output {
-- bool cpuc_state_change_enable;
-- bool cpup_state_change_enable;
-- bool stutter_mode_enable;
-- bool nbp_state_change_enable;
-- bool all_displays_in_sync;
-- struct bw_watermarks urgent_wm_ns[6];
-- struct bw_watermarks stutter_exit_wm_ns[6];
-- struct bw_watermarks nbp_state_change_wm_ns[6];
-- uint32_t required_sclk;
-- uint32_t required_sclk_deep_sleep;
-- uint32_t required_yclk;
-- uint32_t dispclk_khz;
-- int blackout_recovery_time_us;
--};
--
--/**
-- * Initialize structures with data which will NOT change at runtime.
-- */
--void bw_calcs_init(
-- struct bw_calcs_dceip *bw_dceip,
-- struct bw_calcs_vbios *bw_vbios,
-- struct hw_asic_id asic_id);
--
--/**
-- * Return:
-- * true - Display(s) configuration supported.
-- * In this case 'calcs_output' contains data for HW programming
-- * false - Display(s) configuration not supported (not enough bandwidth).
-- */
--bool bw_calcs(
-- struct dc_context *ctx,
-- const struct bw_calcs_dceip *dceip,
-- const struct bw_calcs_vbios *vbios,
-- const struct pipe_ctx *pipe,
-- int pipe_count,
-- struct bw_calcs_output *calcs_output);
--
--#endif /* __BANDWIDTH_CALCS_H__ */
--
-diff --git a/drivers/gpu/drm/amd/display/dc/inc/core_types.h b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
-index 7f3c6da..4056083 100644
---- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h
-+++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
-@@ -27,7 +27,7 @@
- #define _CORE_TYPES_H_
-
- #include "dc.h"
--#include "bandwidth_calcs.h"
-+#include "dce_calcs.h"
- #include "ddc_service_types.h"
- #include "dc_bios_types.h"
-
-diff --git a/drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h b/drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h
-new file mode 100644
-index 0000000..580dee95
---- /dev/null
-+++ b/drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h
-@@ -0,0 +1,506 @@
-+/*
-+ * Copyright 2015-2017 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
-+ *
-+ */
-+
-+/**
-+ * Bandwidth and Watermark calculations interface.
-+ * (Refer to "DCEx_mode_support.xlsm" from Perforce.)
-+ */
-+#ifndef __DCE_CALCS_H__
-+#define __DCE_CALCS_H__
-+
-+#include "bw_fixed.h"
-+
-+struct pipe_ctx;
-+struct core_dc;
-+struct validate_context;
-+
-+enum bw_calcs_version {
-+ BW_CALCS_VERSION_INVALID,
-+ BW_CALCS_VERSION_CARRIZO,
-+ BW_CALCS_VERSION_POLARIS10,
-+ BW_CALCS_VERSION_POLARIS11,
-+ BW_CALCS_VERSION_STONEY,
-+ BW_CALCS_VERSION_VEGA10
-+};
-+
-+/*******************************************************************************
-+ * There are three types of input into Calculations:
-+ * 1. per-DCE static values - these are "hardcoded" properties of the DCEIP
-+ * 2. board-level values - these are generally coming from VBIOS parser
-+ * 3. mode/configuration values - depending Mode, Scaling number of Displays etc.
-+ ******************************************************************************/
-+
-+enum bw_defines {
-+ //Common
-+ bw_def_no = 0,
-+ bw_def_none = 0,
-+ bw_def_yes = 1,
-+ bw_def_ok = 1,
-+ bw_def_high = 2,
-+ bw_def_mid = 1,
-+ bw_def_low = 0,
-+
-+ //Internal
-+ bw_defs_start = 255,
-+ bw_def_underlay422,
-+ bw_def_underlay420_luma,
-+ bw_def_underlay420_chroma,
-+ bw_def_underlay444,
-+ bw_def_graphics,
-+ bw_def_display_write_back420_luma,
-+ bw_def_display_write_back420_chroma,
-+ bw_def_portrait,
-+ bw_def_hsr_mtn_4,
-+ bw_def_hsr_mtn_h_taps,
-+ bw_def_ceiling__h_taps_div_4___meq_hsr,
-+ bw_def_invalid_linear_or_stereo_mode,
-+ bw_def_invalid_rotation_or_bpp_or_stereo,
-+ bw_def_vsr_mtn_v_taps,
-+ bw_def_vsr_mtn_4,
-+ bw_def_auto,
-+ bw_def_manual,
-+ bw_def_exceeded_allowed_maximum_sclk,
-+ bw_def_exceeded_allowed_page_close_open,
-+ bw_def_exceeded_allowed_outstanding_pte_req_queue_size,
-+ bw_def_exceeded_allowed_maximum_bw,
-+ bw_def_landscape,
-+
-+ //Panning and bezel
-+ bw_def_any_lines,
-+
-+ //Underlay mode
-+ bw_def_underlay_only,
-+ bw_def_blended,
-+ bw_def_blend,
-+
-+ //Stereo mode
-+ bw_def_mono,
-+ bw_def_side_by_side,
-+ bw_def_top_bottom,
-+
-+ //Underlay surface type
-+ bw_def_420,
-+ bw_def_422,
-+ bw_def_444,
-+
-+ //Tiling mode
-+ bw_def_linear,
-+ bw_def_tiled,
-+ bw_def_array_linear_general,
-+ bw_def_array_linear_aligned,
-+ bw_def_rotated_micro_tiling,
-+ bw_def_display_micro_tiling,
-+
-+ //Memory type
-+ bw_def_gddr5,
-+ bw_def_hbm,
-+
-+ //Voltage
-+ bw_def_high_no_nbp_state_change,
-+ bw_def_0_72,
-+ bw_def_0_8,
-+ bw_def_0_9,
-+
-+ bw_def_notok = -1,
-+ bw_def_na = -1
-+};
-+
-+struct bw_calcs_dceip {
-+ enum bw_calcs_version version;
-+ bool large_cursor;
-+ uint32_t cursor_max_outstanding_group_num;
-+ bool dmif_pipe_en_fbc_chunk_tracker;
-+ struct bw_fixed dmif_request_buffer_size;
-+ uint32_t lines_interleaved_into_lb;
-+ uint32_t low_power_tiling_mode;
-+ uint32_t chunk_width;
-+ uint32_t number_of_graphics_pipes;
-+ uint32_t number_of_underlay_pipes;
-+ bool display_write_back_supported;
-+ bool argb_compression_support;
-+ struct bw_fixed underlay_vscaler_efficiency6_bit_per_component;
-+ struct bw_fixed underlay_vscaler_efficiency8_bit_per_component;
-+ struct bw_fixed underlay_vscaler_efficiency10_bit_per_component;
-+ struct bw_fixed underlay_vscaler_efficiency12_bit_per_component;
-+ struct bw_fixed graphics_vscaler_efficiency6_bit_per_component;
-+ struct bw_fixed graphics_vscaler_efficiency8_bit_per_component;
-+ struct bw_fixed graphics_vscaler_efficiency10_bit_per_component;
-+ struct bw_fixed graphics_vscaler_efficiency12_bit_per_component;
-+ struct bw_fixed alpha_vscaler_efficiency;
-+ uint32_t max_dmif_buffer_allocated;
-+ uint32_t graphics_dmif_size;
-+ uint32_t underlay_luma_dmif_size;
-+ uint32_t underlay_chroma_dmif_size;
-+ bool pre_downscaler_enabled;
-+ bool underlay_downscale_prefetch_enabled;
-+ struct bw_fixed lb_write_pixels_per_dispclk;
-+ struct bw_fixed lb_size_per_component444;
-+ bool graphics_lb_nodownscaling_multi_line_prefetching;
-+ struct bw_fixed stutter_and_dram_clock_state_change_gated_before_cursor;
-+ struct bw_fixed underlay420_luma_lb_size_per_component;
-+ struct bw_fixed underlay420_chroma_lb_size_per_component;
-+ struct bw_fixed underlay422_lb_size_per_component;
-+ struct bw_fixed cursor_chunk_width;
-+ struct bw_fixed cursor_dcp_buffer_lines;
-+ struct bw_fixed underlay_maximum_width_efficient_for_tiling;
-+ struct bw_fixed underlay_maximum_height_efficient_for_tiling;
-+ struct bw_fixed peak_pte_request_to_eviction_ratio_limiting_multiple_displays_or_single_rotated_display;
-+ struct bw_fixed peak_pte_request_to_eviction_ratio_limiting_single_display_no_rotation;
-+ struct bw_fixed minimum_outstanding_pte_request_limit;
-+ struct bw_fixed maximum_total_outstanding_pte_requests_allowed_by_saw;
-+ bool limit_excessive_outstanding_dmif_requests;
-+ struct bw_fixed linear_mode_line_request_alternation_slice;
-+ uint32_t scatter_gather_lines_of_pte_prefetching_in_linear_mode;
-+ uint32_t display_write_back420_luma_mcifwr_buffer_size;
-+ uint32_t display_write_back420_chroma_mcifwr_buffer_size;
-+ struct bw_fixed request_efficiency;
-+ struct bw_fixed dispclk_per_request;
-+ struct bw_fixed dispclk_ramping_factor;
-+ struct bw_fixed display_pipe_throughput_factor;
-+ uint32_t scatter_gather_pte_request_rows_in_tiling_mode;
-+ struct bw_fixed mcifwr_all_surfaces_burst_time;
-+};
-+
-+struct bw_calcs_vbios {
-+ enum bw_defines memory_type;
-+ uint32_t dram_channel_width_in_bits;
-+ uint32_t number_of_dram_channels;
-+ uint32_t number_of_dram_banks;
-+ struct bw_fixed low_yclk; /*m_hz*/
-+ struct bw_fixed mid_yclk; /*m_hz*/
-+ struct bw_fixed high_yclk; /*m_hz*/
-+ struct bw_fixed low_sclk; /*m_hz*/
-+ struct bw_fixed mid1_sclk; /*m_hz*/
-+ struct bw_fixed mid2_sclk; /*m_hz*/
-+ struct bw_fixed mid3_sclk; /*m_hz*/
-+ struct bw_fixed mid4_sclk; /*m_hz*/
-+ struct bw_fixed mid5_sclk; /*m_hz*/
-+ struct bw_fixed mid6_sclk; /*m_hz*/
-+ struct bw_fixed high_sclk; /*m_hz*/
-+ struct bw_fixed low_voltage_max_dispclk; /*m_hz*/
-+ struct bw_fixed mid_voltage_max_dispclk; /*m_hz*/
-+ struct bw_fixed high_voltage_max_dispclk; /*m_hz*/
-+ struct bw_fixed low_voltage_max_phyclk;
-+ struct bw_fixed mid_voltage_max_phyclk;
-+ struct bw_fixed high_voltage_max_phyclk;
-+ struct bw_fixed data_return_bus_width;
-+ struct bw_fixed trc;
-+ struct bw_fixed dmifmc_urgent_latency;
-+ struct bw_fixed stutter_self_refresh_exit_latency;
-+ struct bw_fixed stutter_self_refresh_entry_latency;
-+ struct bw_fixed nbp_state_change_latency;
-+ struct bw_fixed mcifwrmc_urgent_latency;
-+ bool scatter_gather_enable;
-+ struct bw_fixed down_spread_percentage;
-+ uint32_t cursor_width;
-+ uint32_t average_compression_rate;
-+ uint32_t number_of_request_slots_gmc_reserves_for_dmif_per_channel;
-+ struct bw_fixed blackout_duration;
-+ struct bw_fixed maximum_blackout_recovery_time;
-+};
-+
-+/*******************************************************************************
-+ * Temporary data structure(s).
-+ ******************************************************************************/
-+#define maximum_number_of_surfaces 12
-+/*Units : MHz, us */
-+
-+struct bw_calcs_data {
-+ /* data for all displays */
-+ uint32_t number_of_displays;
-+ enum bw_defines underlay_surface_type;
-+ enum bw_defines panning_and_bezel_adjustment;
-+ enum bw_defines graphics_tiling_mode;
-+ uint32_t graphics_lb_bpc;
-+ uint32_t underlay_lb_bpc;
-+ enum bw_defines underlay_tiling_mode;
-+ enum bw_defines d0_underlay_mode;
-+ bool d1_display_write_back_dwb_enable;
-+ enum bw_defines d1_underlay_mode;
-+
-+ bool cpup_state_change_enable;
-+ bool cpuc_state_change_enable;
-+ bool nbp_state_change_enable;
-+ bool stutter_mode_enable;
-+ uint32_t y_clk_level;
-+ uint32_t sclk_level;
-+ uint32_t number_of_underlay_surfaces;
-+ uint32_t number_of_dram_wrchannels;
-+ uint32_t chunk_request_delay;
-+ uint32_t number_of_dram_channels;
-+ enum bw_defines underlay_micro_tile_mode;
-+ enum bw_defines graphics_micro_tile_mode;
-+ struct bw_fixed max_phyclk;
-+ struct bw_fixed dram_efficiency;
-+ struct bw_fixed src_width_after_surface_type;
-+ struct bw_fixed src_height_after_surface_type;
-+ struct bw_fixed hsr_after_surface_type;
-+ struct bw_fixed vsr_after_surface_type;
-+ struct bw_fixed src_width_after_rotation;
-+ struct bw_fixed src_height_after_rotation;
-+ struct bw_fixed hsr_after_rotation;
-+ struct bw_fixed vsr_after_rotation;
-+ struct bw_fixed source_height_pixels;
-+ struct bw_fixed hsr_after_stereo;
-+ struct bw_fixed vsr_after_stereo;
-+ struct bw_fixed source_width_in_lb;
-+ struct bw_fixed lb_line_pitch;
-+ struct bw_fixed underlay_maximum_source_efficient_for_tiling;
-+ struct bw_fixed num_lines_at_frame_start;
-+ struct bw_fixed min_dmif_size_in_time;
-+ struct bw_fixed min_mcifwr_size_in_time;
-+ struct bw_fixed total_requests_for_dmif_size;
-+ struct bw_fixed peak_pte_request_to_eviction_ratio_limiting;
-+ struct bw_fixed useful_pte_per_pte_request;
-+ struct bw_fixed scatter_gather_pte_request_rows;
-+ struct bw_fixed scatter_gather_row_height;
-+ struct bw_fixed scatter_gather_pte_requests_in_vblank;
-+ struct bw_fixed inefficient_linear_pitch_in_bytes;
-+ struct bw_fixed cursor_total_data;
-+ struct bw_fixed cursor_total_request_groups;
-+ struct bw_fixed scatter_gather_total_pte_requests;
-+ struct bw_fixed scatter_gather_total_pte_request_groups;
-+ struct bw_fixed tile_width_in_pixels;
-+ struct bw_fixed dmif_total_number_of_data_request_page_close_open;
-+ struct bw_fixed mcifwr_total_number_of_data_request_page_close_open;
-+ struct bw_fixed bytes_per_page_close_open;
-+ struct bw_fixed mcifwr_total_page_close_open_time;
-+ struct bw_fixed total_requests_for_adjusted_dmif_size;
-+ struct bw_fixed total_dmifmc_urgent_trips;
-+ struct bw_fixed total_dmifmc_urgent_latency;
-+ struct bw_fixed total_display_reads_required_data;
-+ struct bw_fixed total_display_reads_required_dram_access_data;
-+ struct bw_fixed total_display_writes_required_data;
-+ struct bw_fixed total_display_writes_required_dram_access_data;
-+ struct bw_fixed display_reads_required_data;
-+ struct bw_fixed display_reads_required_dram_access_data;
-+ struct bw_fixed dmif_total_page_close_open_time;
-+ struct bw_fixed min_cursor_memory_interface_buffer_size_in_time;
-+ struct bw_fixed min_read_buffer_size_in_time;
-+ struct bw_fixed display_reads_time_for_data_transfer;
-+ struct bw_fixed display_writes_time_for_data_transfer;
-+ struct bw_fixed dmif_required_dram_bandwidth;
-+ struct bw_fixed mcifwr_required_dram_bandwidth;
-+ struct bw_fixed required_dmifmc_urgent_latency_for_page_close_open;
-+ struct bw_fixed required_mcifmcwr_urgent_latency;
-+ struct bw_fixed required_dram_bandwidth_gbyte_per_second;
-+ struct bw_fixed dram_bandwidth;
-+ struct bw_fixed dmif_required_sclk;
-+ struct bw_fixed mcifwr_required_sclk;
-+ struct bw_fixed required_sclk;
-+ struct bw_fixed downspread_factor;
-+ struct bw_fixed v_scaler_efficiency;
-+ struct bw_fixed scaler_limits_factor;
-+ struct bw_fixed display_pipe_pixel_throughput;
-+ struct bw_fixed total_dispclk_required_with_ramping;
-+ struct bw_fixed total_dispclk_required_without_ramping;
-+ struct bw_fixed total_read_request_bandwidth;
-+ struct bw_fixed total_write_request_bandwidth;
-+ struct bw_fixed dispclk_required_for_total_read_request_bandwidth;
-+ struct bw_fixed total_dispclk_required_with_ramping_with_request_bandwidth;
-+ struct bw_fixed total_dispclk_required_without_ramping_with_request_bandwidth;
-+ struct bw_fixed dispclk;
-+ struct bw_fixed blackout_recovery_time;
-+ struct bw_fixed min_pixels_per_data_fifo_entry;
-+ struct bw_fixed sclk_deep_sleep;
-+ struct bw_fixed chunk_request_time;
-+ struct bw_fixed cursor_request_time;
-+ struct bw_fixed line_source_pixels_transfer_time;
-+ struct bw_fixed dmifdram_access_efficiency;
-+ struct bw_fixed mcifwrdram_access_efficiency;
-+ struct bw_fixed total_average_bandwidth_no_compression;
-+ struct bw_fixed total_average_bandwidth;
-+ struct bw_fixed total_stutter_cycle_duration;
-+ struct bw_fixed stutter_burst_time;
-+ struct bw_fixed time_in_self_refresh;
-+ struct bw_fixed stutter_efficiency;
-+ struct bw_fixed worst_number_of_trips_to_memory;
-+ struct bw_fixed immediate_flip_time;
-+ struct bw_fixed latency_for_non_dmif_clients;
-+ struct bw_fixed latency_for_non_mcifwr_clients;
-+ struct bw_fixed dmifmc_urgent_latency_supported_in_high_sclk_and_yclk;
-+ struct bw_fixed nbp_state_dram_speed_change_margin;
-+ struct bw_fixed display_reads_time_for_data_transfer_and_urgent_latency;
-+ struct bw_fixed dram_speed_change_margin;
-+ struct bw_fixed min_vblank_dram_speed_change_margin;
-+ struct bw_fixed min_stutter_refresh_duration;
-+ uint32_t total_stutter_dmif_buffer_size;
-+ uint32_t total_bytes_requested;
-+ uint32_t min_stutter_dmif_buffer_size;
-+ uint32_t num_stutter_bursts;
-+ struct bw_fixed v_blank_nbp_state_dram_speed_change_latency_supported;
-+ struct bw_fixed nbp_state_dram_speed_change_latency_supported;
-+ bool fbc_en[maximum_number_of_surfaces];
-+ bool lpt_en[maximum_number_of_surfaces];
-+ bool displays_match_flag[maximum_number_of_surfaces];
-+ bool use_alpha[maximum_number_of_surfaces];
-+ bool orthogonal_rotation[maximum_number_of_surfaces];
-+ bool enable[maximum_number_of_surfaces];
-+ bool access_one_channel_only[maximum_number_of_surfaces];
-+ bool scatter_gather_enable_for_pipe[maximum_number_of_surfaces];
-+ bool interlace_mode[maximum_number_of_surfaces];
-+ bool display_pstate_change_enable[maximum_number_of_surfaces];
-+ bool line_buffer_prefetch[maximum_number_of_surfaces];
-+ uint32_t bytes_per_pixel[maximum_number_of_surfaces];
-+ uint32_t max_chunks_non_fbc_mode[maximum_number_of_surfaces];
-+ uint32_t lb_bpc[maximum_number_of_surfaces];
-+ uint32_t output_bpphdmi[maximum_number_of_surfaces];
-+ uint32_t output_bppdp4_lane_hbr[maximum_number_of_surfaces];
-+ uint32_t output_bppdp4_lane_hbr2[maximum_number_of_surfaces];
-+ uint32_t output_bppdp4_lane_hbr3[maximum_number_of_surfaces];
-+ enum bw_defines stereo_mode[maximum_number_of_surfaces];
-+ struct bw_fixed dmif_buffer_transfer_time[maximum_number_of_surfaces];
-+ struct bw_fixed displays_with_same_mode[maximum_number_of_surfaces];
-+ struct bw_fixed stutter_dmif_buffer_size[maximum_number_of_surfaces];
-+ struct bw_fixed stutter_refresh_duration[maximum_number_of_surfaces];
-+ struct bw_fixed stutter_exit_watermark[maximum_number_of_surfaces];
-+ struct bw_fixed stutter_entry_watermark[maximum_number_of_surfaces];
-+ struct bw_fixed h_total[maximum_number_of_surfaces];
-+ struct bw_fixed v_total[maximum_number_of_surfaces];
-+ struct bw_fixed pixel_rate[maximum_number_of_surfaces];
-+ struct bw_fixed src_width[maximum_number_of_surfaces];
-+ struct bw_fixed pitch_in_pixels[maximum_number_of_surfaces];
-+ struct bw_fixed pitch_in_pixels_after_surface_type[maximum_number_of_surfaces];
-+ struct bw_fixed src_height[maximum_number_of_surfaces];
-+ struct bw_fixed scale_ratio[maximum_number_of_surfaces];
-+ struct bw_fixed h_taps[maximum_number_of_surfaces];
-+ struct bw_fixed v_taps[maximum_number_of_surfaces];
-+ struct bw_fixed h_scale_ratio[maximum_number_of_surfaces];
-+ struct bw_fixed v_scale_ratio[maximum_number_of_surfaces];
-+ struct bw_fixed rotation_angle[maximum_number_of_surfaces];
-+ struct bw_fixed compression_rate[maximum_number_of_surfaces];
-+ struct bw_fixed hsr[maximum_number_of_surfaces];
-+ struct bw_fixed vsr[maximum_number_of_surfaces];
-+ struct bw_fixed source_width_rounded_up_to_chunks[maximum_number_of_surfaces];
-+ struct bw_fixed source_width_pixels[maximum_number_of_surfaces];
-+ struct bw_fixed source_height_rounded_up_to_chunks[maximum_number_of_surfaces];
-+ struct bw_fixed display_bandwidth[maximum_number_of_surfaces];
-+ struct bw_fixed request_bandwidth[maximum_number_of_surfaces];
-+ struct bw_fixed bytes_per_request[maximum_number_of_surfaces];
-+ struct bw_fixed useful_bytes_per_request[maximum_number_of_surfaces];
-+ struct bw_fixed lines_interleaved_in_mem_access[maximum_number_of_surfaces];
-+ struct bw_fixed latency_hiding_lines[maximum_number_of_surfaces];
-+ struct bw_fixed lb_partitions[maximum_number_of_surfaces];
-+ struct bw_fixed lb_partitions_max[maximum_number_of_surfaces];
-+ struct bw_fixed dispclk_required_with_ramping[maximum_number_of_surfaces];
-+ struct bw_fixed dispclk_required_without_ramping[maximum_number_of_surfaces];
-+ struct bw_fixed data_buffer_size[maximum_number_of_surfaces];
-+ struct bw_fixed outstanding_chunk_request_limit[maximum_number_of_surfaces];
-+ struct bw_fixed urgent_watermark[maximum_number_of_surfaces];
-+ struct bw_fixed nbp_state_change_watermark[maximum_number_of_surfaces];
-+ struct bw_fixed v_filter_init[maximum_number_of_surfaces];
-+ struct bw_fixed stutter_cycle_duration[maximum_number_of_surfaces];
-+ struct bw_fixed average_bandwidth[maximum_number_of_surfaces];
-+ struct bw_fixed average_bandwidth_no_compression[maximum_number_of_surfaces];
-+ struct bw_fixed scatter_gather_pte_request_limit[maximum_number_of_surfaces];
-+ struct bw_fixed lb_size_per_component[maximum_number_of_surfaces];
-+ struct bw_fixed memory_chunk_size_in_bytes[maximum_number_of_surfaces];
-+ struct bw_fixed pipe_chunk_size_in_bytes[maximum_number_of_surfaces];
-+ struct bw_fixed number_of_trips_to_memory_for_getting_apte_row[maximum_number_of_surfaces];
-+ struct bw_fixed adjusted_data_buffer_size[maximum_number_of_surfaces];
-+ struct bw_fixed adjusted_data_buffer_size_in_memory[maximum_number_of_surfaces];
-+ struct bw_fixed pixels_per_data_fifo_entry[maximum_number_of_surfaces];
-+ struct bw_fixed scatter_gather_pte_requests_in_row[maximum_number_of_surfaces];
-+ struct bw_fixed pte_request_per_chunk[maximum_number_of_surfaces];
-+ struct bw_fixed scatter_gather_page_width[maximum_number_of_surfaces];
-+ struct bw_fixed scatter_gather_page_height[maximum_number_of_surfaces];
-+ struct bw_fixed lb_lines_in_per_line_out_in_beginning_of_frame[maximum_number_of_surfaces];
-+ struct bw_fixed lb_lines_in_per_line_out_in_middle_of_frame[maximum_number_of_surfaces];
-+ struct bw_fixed cursor_width_pixels[maximum_number_of_surfaces];
-+ struct bw_fixed minimum_latency_hiding[maximum_number_of_surfaces];
-+ struct bw_fixed maximum_latency_hiding[maximum_number_of_surfaces];
-+ struct bw_fixed minimum_latency_hiding_with_cursor[maximum_number_of_surfaces];
-+ struct bw_fixed maximum_latency_hiding_with_cursor[maximum_number_of_surfaces];
-+ struct bw_fixed src_pixels_for_first_output_pixel[maximum_number_of_surfaces];
-+ struct bw_fixed src_pixels_for_last_output_pixel[maximum_number_of_surfaces];
-+ struct bw_fixed src_data_for_first_output_pixel[maximum_number_of_surfaces];
-+ struct bw_fixed src_data_for_last_output_pixel[maximum_number_of_surfaces];
-+ struct bw_fixed active_time[maximum_number_of_surfaces];
-+ struct bw_fixed horizontal_blank_and_chunk_granularity_factor[maximum_number_of_surfaces];
-+ struct bw_fixed cursor_latency_hiding[maximum_number_of_surfaces];
-+ struct bw_fixed v_blank_dram_speed_change_margin[maximum_number_of_surfaces];
-+ uint32_t num_displays_with_margin[3][8];
-+ struct bw_fixed dmif_burst_time[3][8];
-+ struct bw_fixed mcifwr_burst_time[3][8];
-+ struct bw_fixed line_source_transfer_time[maximum_number_of_surfaces][3][8];
-+ struct bw_fixed dram_speed_change_line_source_transfer_time[maximum_number_of_surfaces][3][8];
-+ struct bw_fixed min_dram_speed_change_margin[3][8];
-+ struct bw_fixed dispclk_required_for_dram_speed_change[3][8];
-+ struct bw_fixed blackout_duration_margin[3][8];
-+ struct bw_fixed dispclk_required_for_blackout_duration[3][8];
-+ struct bw_fixed dispclk_required_for_blackout_recovery[3][8];
-+ struct bw_fixed dmif_required_sclk_for_urgent_latency[6];
-+};
-+
-+/*******************************************************************************
-+ * Output data structures.
-+ ******************************************************************************/
-+struct bw_watermarks {
-+ uint32_t a_mark;
-+ uint32_t b_mark;
-+ uint32_t c_mark;
-+ uint32_t d_mark;
-+};
-+
-+struct bw_calcs_output {
-+ bool cpuc_state_change_enable;
-+ bool cpup_state_change_enable;
-+ bool stutter_mode_enable;
-+ bool nbp_state_change_enable;
-+ bool all_displays_in_sync;
-+ struct bw_watermarks urgent_wm_ns[6];
-+ struct bw_watermarks stutter_exit_wm_ns[6];
-+ struct bw_watermarks nbp_state_change_wm_ns[6];
-+ uint32_t required_sclk;
-+ uint32_t required_sclk_deep_sleep;
-+ uint32_t required_yclk;
-+ uint32_t dispclk_khz;
-+ int blackout_recovery_time_us;
-+};
-+
-+/**
-+ * Initialize structures with data which will NOT change at runtime.
-+ */
-+void bw_calcs_init(
-+ struct bw_calcs_dceip *bw_dceip,
-+ struct bw_calcs_vbios *bw_vbios,
-+ struct hw_asic_id asic_id);
-+
-+/**
-+ * Return:
-+ * true - Display(s) configuration supported.
-+ * In this case 'calcs_output' contains data for HW programming
-+ * false - Display(s) configuration not supported (not enough bandwidth).
-+ */
-+bool bw_calcs(
-+ struct dc_context *ctx,
-+ const struct bw_calcs_dceip *dceip,
-+ const struct bw_calcs_vbios *vbios,
-+ const struct pipe_ctx *pipe,
-+ int pipe_count,
-+ struct bw_calcs_output *calcs_output);
-+
-+#endif /* __BANDWIDTH_CALCS_H__ */
-+
-diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h b/drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h
-index 7ec4027..179f5ad 100644
---- a/drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h
-+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h
-@@ -27,7 +27,7 @@
-
- #include "dc.h"
- #include "include/grph_object_id.h"
--#include "inc/bandwidth_calcs.h"
-+#include "inc/dce_calcs.h"
-
- #include "dce/dce_mem_input.h" /* temporary */
-
---
-2.7.4
-