From 59283ade1a230d72f31e79b5cdecd65ad3f222c4 Mon Sep 17 00:00:00 2001 From: Dmytro Laktyushkin Date: Wed, 16 Dec 2015 11:48:58 -0500 Subject: [PATCH 0626/1110] drm/amd/dal: fix yclk value Signed-off-by: Dmytro Laktyushkin Acked-by: Jordan Lazare --- drivers/gpu/drm/amd/dal/dc/core/dc.c | 13 +++++++++---- .../gpu/drm/amd/dal/utils/bw_calc_test_harness/.gitignore | 4 ++++ drivers/gpu/drm/amd/dal/utils/vba_to_c_converter/.gitignore | 4 ++++ 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 drivers/gpu/drm/amd/dal/utils/bw_calc_test_harness/.gitignore create mode 100644 drivers/gpu/drm/amd/dal/utils/vba_to_c_converter/.gitignore diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc.c b/drivers/gpu/drm/amd/dal/dc/core/dc.c index 1e52e74..a37cd87 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc.c @@ -224,6 +224,8 @@ static struct adapter_service *create_as( return as; } +/* TODO unhardcode, 4 for CZ*/ +#define MEMORY_TYPE_MULTIPLIER 4 static void bw_calcs_data_update_from_pplib(struct dc *dc) { struct dc_pp_clock_levels clks = {0}; @@ -261,11 +263,13 @@ static void bw_calcs_data_update_from_pplib(struct dc *dc) &clks); dc->bw_vbios.low_yclk = bw_frc_to_fixed( - clks.clocks_in_khz[0], 1000); + clks.clocks_in_khz[0] * MEMORY_TYPE_MULTIPLIER, 1000); dc->bw_vbios.mid_yclk = bw_frc_to_fixed( - clks.clocks_in_khz[clks.num_levels-1], 1000); + clks.clocks_in_khz[clks.num_levels>>1] * MEMORY_TYPE_MULTIPLIER, + 1000); dc->bw_vbios.high_yclk = bw_frc_to_fixed( - clks.clocks_in_khz[clks.num_levels-1], 1000); + clks.clocks_in_khz[clks.num_levels-1] * MEMORY_TYPE_MULTIPLIER, + 1000); } static bool construct(struct dc *dc, const struct dal_init_data *init_params) @@ -575,7 +579,8 @@ static void pplib_apply_display_requirements( pp_display_cfg.cpu_pstate_separation_time = context->bw_results.required_blackout_duration_us; - pp_display_cfg.min_memory_clock_khz = context->bw_results.required_yclk; + pp_display_cfg.min_memory_clock_khz = context->bw_results.required_yclk + / MEMORY_TYPE_MULTIPLIER; pp_display_cfg.min_engine_clock_khz = context->bw_results.required_sclk; pp_display_cfg.min_engine_clock_deep_sleep_khz = context->bw_results.required_sclk_deep_sleep; diff --git a/drivers/gpu/drm/amd/dal/utils/bw_calc_test_harness/.gitignore b/drivers/gpu/drm/amd/dal/utils/bw_calc_test_harness/.gitignore new file mode 100644 index 0000000..4d12de1 --- /dev/null +++ b/drivers/gpu/drm/amd/dal/utils/bw_calc_test_harness/.gitignore @@ -0,0 +1,4 @@ +x64 +Debug +*.user +*.sdf \ No newline at end of file diff --git a/drivers/gpu/drm/amd/dal/utils/vba_to_c_converter/.gitignore b/drivers/gpu/drm/amd/dal/utils/vba_to_c_converter/.gitignore new file mode 100644 index 0000000..7b285df --- /dev/null +++ b/drivers/gpu/drm/amd/dal/utils/vba_to_c_converter/.gitignore @@ -0,0 +1,4 @@ +bin +obj +*.user +*.sdf \ No newline at end of file -- 2.7.4