aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/files/0658-drm-amd-dal-add-bw_result-logging.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/files/0658-drm-amd-dal-add-bw_result-logging.patch')
-rw-r--r--meta-amdfalconx86/recipes-kernel/linux/files/0658-drm-amd-dal-add-bw_result-logging.patch225
1 files changed, 0 insertions, 225 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/files/0658-drm-amd-dal-add-bw_result-logging.patch b/meta-amdfalconx86/recipes-kernel/linux/files/0658-drm-amd-dal-add-bw_result-logging.patch
deleted file mode 100644
index ec95e491..00000000
--- a/meta-amdfalconx86/recipes-kernel/linux/files/0658-drm-amd-dal-add-bw_result-logging.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-From b96d5c9da90d267519257bf183d48e3442af4dd9 Mon Sep 17 00:00:00 2001
-From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
-Date: Tue, 5 Jan 2016 12:02:31 -0500
-Subject: [PATCH 0658/1110] drm/amd/dal: add bw_result logging
-
-Also fixed number of taps used for multi-sisplay config bw calculations.
-Utils part of the change fixes line endings.
-
-Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Acked-by: Harry Wentland <Harry.Wentland@amd.com>
----
- drivers/gpu/drm/amd/dal/dc/basics/logger.c | 18 +++--
- .../drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 4 +-
- .../gpu/drm/amd/dal/dc/dce110/dce110_resource.c | 92 +++++++++++++++++++---
- 3 files changed, 96 insertions(+), 18 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/dal/dc/basics/logger.c b/drivers/gpu/drm/amd/dal/dc/basics/logger.c
-index 5aadda7..b2bf14f 100644
---- a/drivers/gpu/drm/amd/dal/dc/basics/logger.c
-+++ b/drivers/gpu/drm/amd/dal/dc/basics/logger.c
-@@ -241,7 +241,8 @@ struct log_major_mask_info {
-
- #define LG_SYNC_MSK (1 << LOG_MINOR_SYNC_TIMING)
-
--#define LG_BWM_MSK (1 << LOG_MINOR_BWM_MODE_VALIDATION)
-+#define LG_BWM_MSK (1 << LOG_MINOR_BWM_MODE_VALIDATION) | \
-+ (1 << LOG_MINOR_BWM_REQUIRED_BANDWIDTH_CALCS)
-
-
- static const struct log_major_mask_info log_major_mask_info_tbl[] = {
-@@ -620,7 +621,8 @@ void dal_logger_write(
- /* Concatenate onto end of entry buffer */
- append_entry(&entry, buffer, size);
- } else {
-- append_entry(&entry, "LOG_ERROR\n", 12);
-+ append_entry(&entry,
-+ "LOG_ERROR, line too long or null\n", 35);
- }
-
- dal_logger_close(&entry);
-@@ -658,7 +660,12 @@ void dal_logger_append(
-
- size = dal_log_to_buffer(
- buffer, DAL_LOGGER_BUFFER_MAX_LOG_LINE_SIZE, msg, args);
-- append_entry(entry, buffer, size);
-+
-+ if (size < DAL_LOGGER_BUFFER_MAX_LOG_LINE_SIZE - 1) {
-+ append_entry(entry, buffer, size);
-+ } else {
-+ append_entry(entry, "LOG_ERROR, line too long\n", 27);
-+ }
-
- va_end(args);
- }
-@@ -758,11 +765,10 @@ void dal_logger_open(
-
- entry->buf = dc_service_alloc(
- logger->ctx,
-- DAL_LOGGER_BUFFER_MAX_LOG_LINE_SIZE * sizeof(char));
-+ DAL_LOGGER_BUFFER_MAX_SIZE * sizeof(char));
-
- entry->buf_offset = 0;
-- entry->max_buf_bytes =
-- DAL_LOGGER_BUFFER_MAX_LOG_LINE_SIZE * sizeof(char);
-+ entry->max_buf_bytes = DAL_LOGGER_BUFFER_MAX_SIZE * sizeof(char);
-
- logger->open_count++;
- entry->major = major;
-diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
-index b71f7e7..fa6b9b4 100644
---- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
-+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
-@@ -1286,7 +1286,9 @@ static enum dc_status apply_ctx_to_hw(
- /*TODO: when pplib works*/
- /*dc_set_clocks_and_clock_state(context);*/
-
-- set_display_clock(context);
-+ if (context->bw_results.dispclk_khz
-+ > dc->current_context.bw_results.dispclk_khz)
-+ set_display_clock(context);
-
- for (i = 0; i < pool->controller_count; i++) {
- struct controller_ctx *ctlr_ctx
-diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c
-index 0e38513..cb084da 100644
---- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c
-+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c
-@@ -489,6 +489,8 @@ enum dc_status dce110_validate_bandwidth(
- uint8_t i, j;
- enum dc_status result = DC_ERROR_UNEXPECTED;
- uint8_t number_of_displays = 0;
-+ uint8_t max_htaps = 1;
-+ uint8_t max_vtaps = 1;
- bool all_displays_in_sync = true;
- struct dc_crtc_timing prev_timing;
-
-@@ -504,8 +506,16 @@ enum dc_status dce110_validate_bandwidth(
-
- if (target->status.surface_count == 0) {
- disp->graphics_scale_ratio = bw_int_to_fixed(1);
-- disp->graphics_h_taps = 4;
-- disp->graphics_v_taps = 4;
-+ disp->graphics_h_taps = 2;
-+ disp->graphics_v_taps = 2;
-+
-+ /* TODO: remove when bw formula accepts taps per
-+ * display
-+ */
-+ if (max_vtaps < 2)
-+ max_vtaps = 2;
-+ if (max_htaps < 2)
-+ max_htaps = 2;
-
- } else {
- disp->graphics_scale_ratio =
-@@ -513,6 +523,14 @@ enum dc_status dce110_validate_bandwidth(
- stream->ratios.vert.value);
- disp->graphics_h_taps = stream->taps.h_taps;
- disp->graphics_v_taps = stream->taps.v_taps;
-+
-+ /* TODO: remove when bw formula accepts taps per
-+ * display
-+ */
-+ if (max_vtaps < stream->taps.v_taps)
-+ max_vtaps = stream->taps.v_taps;
-+ if (max_htaps < stream->taps.h_taps)
-+ max_htaps = stream->taps.h_taps;
- }
-
- disp->graphics_src_width =
-@@ -550,15 +568,23 @@ enum dc_status dce110_validate_bandwidth(
- }
- }
-
-+ /* TODO: remove when bw formula accepts taps per
-+ * display
-+ */
-+ context->bw_mode_data.displays_data[0].graphics_v_taps = max_vtaps;
-+ context->bw_mode_data.displays_data[0].graphics_h_taps = max_htaps;
-+
- context->bw_mode_data.number_of_displays = number_of_displays;
- context->bw_mode_data.display_synchronization_enabled =
- all_displays_in_sync;
-
-- dal_logger_write(dc->ctx->logger,
-+ dal_logger_write(
-+ dc->ctx->logger,
- LOG_MAJOR_BWM,
- LOG_MINOR_BWM_REQUIRED_BANDWIDTH_CALCS,
-- "%s: Start bandwidth calculations",
-+ "%s: start",
- __func__);
-+
- if (!bw_calcs(
- dc->ctx,
- &dc->bw_dceip,
-@@ -576,13 +602,57 @@ enum dc_status dce110_validate_bandwidth(
- "%s: Bandwidth validation failed!",
- __func__);
-
-- dal_logger_write(dc->ctx->logger,
-- LOG_MAJOR_BWM,
-- LOG_MINOR_BWM_REQUIRED_BANDWIDTH_CALCS,
-- "%s: Finish bandwidth calculations\n nbpMark: %d",
-- __func__,
-- context->bw_results.nbp_state_change_wm_ns[0].b_mark);
--
-+ if (dal_memcmp(&dc->current_context.bw_results,
-+ &context->bw_results, sizeof(context->bw_results))) {
-+ struct log_entry log_entry;
-+ dal_logger_open(
-+ dc->ctx->logger,
-+ &log_entry,
-+ LOG_MAJOR_BWM,
-+ LOG_MINOR_BWM_REQUIRED_BANDWIDTH_CALCS);
-+ dal_logger_append(&log_entry, "%s: finish, numDisplays: %d\n"
-+ "nbpMark_b: %d nbpMark_a: %d urgentMark_b: %d urgentMark_a: %d\n"
-+ "stutMark_b: %d stutMark_a: %d\n",
-+ __func__, number_of_displays,
-+ context->bw_results.nbp_state_change_wm_ns[0].b_mark,
-+ context->bw_results.nbp_state_change_wm_ns[0].a_mark,
-+ context->bw_results.urgent_wm_ns[0].b_mark,
-+ context->bw_results.urgent_wm_ns[0].a_mark,
-+ context->bw_results.stutter_exit_wm_ns[0].b_mark,
-+ context->bw_results.stutter_exit_wm_ns[0].a_mark);
-+ dal_logger_append(&log_entry,
-+ "nbpMark_b: %d nbpMark_a: %d urgentMark_b: %d urgentMark_a: %d\n"
-+ "stutMark_b: %d stutMark_a: %d\n",
-+ context->bw_results.nbp_state_change_wm_ns[1].b_mark,
-+ context->bw_results.nbp_state_change_wm_ns[1].a_mark,
-+ context->bw_results.urgent_wm_ns[1].b_mark,
-+ context->bw_results.urgent_wm_ns[1].a_mark,
-+ context->bw_results.stutter_exit_wm_ns[1].b_mark,
-+ context->bw_results.stutter_exit_wm_ns[1].a_mark);
-+ dal_logger_append(&log_entry,
-+ "nbpMark_b: %d nbpMark_a: %d urgentMark_b: %d urgentMark_a: %d\n"
-+ "stutMark_b: %d stutMark_a: %d stutter_mode_enable: %d\n",
-+ context->bw_results.nbp_state_change_wm_ns[2].b_mark,
-+ context->bw_results.nbp_state_change_wm_ns[2].a_mark,
-+ context->bw_results.urgent_wm_ns[2].b_mark,
-+ context->bw_results.urgent_wm_ns[2].a_mark,
-+ context->bw_results.stutter_exit_wm_ns[2].b_mark,
-+ context->bw_results.stutter_exit_wm_ns[2].a_mark,
-+ context->bw_results.stutter_mode_enable);
-+ dal_logger_append(&log_entry,
-+ "cstate: %d pstate: %d nbpstate: %d sync: %d dispclk: %d\n"
-+ "sclk: %d sclk_sleep: %d yclk: %d blackout_duration: %d\n",
-+ context->bw_results.cpuc_state_change_enable,
-+ context->bw_results.cpup_state_change_enable,
-+ context->bw_results.nbp_state_change_enable,
-+ context->bw_results.all_displays_in_sync,
-+ context->bw_results.dispclk_khz,
-+ context->bw_results.required_sclk,
-+ context->bw_results.required_sclk_deep_sleep,
-+ context->bw_results.required_yclk,
-+ context->bw_results.required_blackout_duration_us);
-+ dal_logger_close(&log_entry);
-+ }
- return result;
- }
-
---
-2.7.4
-