diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0536-drm-amd-dal-refactor-helpers-to-use-dc-types.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0536-drm-amd-dal-refactor-helpers-to-use-dc-types.patch | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/common/recipes-kernel/linux/files/0536-drm-amd-dal-refactor-helpers-to-use-dc-types.patch b/common/recipes-kernel/linux/files/0536-drm-amd-dal-refactor-helpers-to-use-dc-types.patch deleted file mode 100644 index 7bc77984..00000000 --- a/common/recipes-kernel/linux/files/0536-drm-amd-dal-refactor-helpers-to-use-dc-types.patch +++ /dev/null @@ -1,208 +0,0 @@ -From 185d80bfd5cedb4bc951562f008bc80da3788128 Mon Sep 17 00:00:00 2001 -From: Jordan Lazare <Jordan.Lazare@amd.com> -Date: Mon, 30 Nov 2015 13:15:47 -0500 -Subject: [PATCH 0536/1110] drm/amd/dal: refactor helpers to use dc types - -We should not access core types from DM - -Signed-off-by: Jordan Lazare <Jordan.Lazare@amd.com> -Signed-off-by: Harry Wentland <harry.wentland@amd.com> -Acked-by: Harry Wentland <harry.wentland@amd.com> ---- - .../gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c | 103 +++++++++++---------- - drivers/gpu/drm/amd/dal/dc/core/dc_target.c | 1 + - drivers/gpu/drm/amd/dal/dc/dc.h | 2 +- - .../gpu/drm/amd/dal/include/link_service_types.h | 2 +- - 4 files changed, 56 insertions(+), 52 deletions(-) - -diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c -index 7a07af5..5b780e1 100644 ---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c -+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c -@@ -31,9 +31,6 @@ - #include <drm/amdgpu_drm.h> - #include <drm/drm_edid.h> - --#include "dc_types.h" --#include "core_types.h" --#include "stream_encoder_types.h" - #include "amdgpu.h" - #include "dc.h" - #include "dc_services.h" -@@ -234,22 +231,27 @@ bool dc_helpers_dp_mst_write_payload_allocation_table( - for (i = 0; i < mst_mgr->max_payloads; i++) { - if (mst_mgr->payloads[i].num_slots == 0) - break; -- table->stream_count++; - } - -+ table->stream_count = i; -+ - for (i = 0; i < table->stream_count; i++) { - table->stream_allocations[i].slot_count = - mst_mgr->proposed_vcpis[i]->num_slots; -- /* mst_mgr->pbn_div is fixed value after link training for -- * current link PHY */ -+ /* -+ * mst_mgr->pbn_div is fixed value after link training for -+ * current link PHY -+ */ - table->stream_allocations[i].pbn_per_slot = mst_mgr->pbn_div; - -- /* find which payload is for current stream -- * after drm_dp_update_payload_part1, payload and proposed_vcpis -+ /* -+ * find which payload is for current stream after -+ * drm_dp_update_payload_part1, payload and proposed_vcpis - * are sync to the same allocation sequence. vcpi is not saved - * into payload by drm_dp_update_payload_part1. In order to - * find sequence of a payload within allocation sequence, we -- * need check vcpi from proposed_vcpis*/ -+ * need check vcpi from proposed_vcpis -+ */ - - table->stream_allocations[i].pbn = - mst_mgr->proposed_vcpis[i]->pbn; -@@ -259,59 +261,60 @@ bool dc_helpers_dp_mst_write_payload_allocation_table( - - find_stream_for_sink = false; - -- list_for_each_entry(connector, -- &dev->mode_config.connector_list, head) { -+ list_for_each_entry( -+ connector, -+ &dev->mode_config.connector_list, -+ head) { -+ const struct dc_sink *dc_sink_connector; -+ struct dc_target *dc_target; -+ uint8_t j; - - aconnector = to_amdgpu_connector(connector); - - /* not mst connector */ - if (!aconnector->mst_port) - continue; -+ - mst_port = aconnector->port; - -- if (mst_port->vcpi.vcpi == -- mst_mgr->proposed_vcpis[i]->vcpi) { -- /* find connector with same vcid as payload */ -- -- const struct dc_sink *dc_sink_connector; -- struct core_sink *core_sink; -- struct dc_target *dc_target; -- struct core_target *core_target; -- struct stream_encoder *stream_enc; -- uint8_t j; -- -- dc_sink_connector = aconnector->dc_sink; -- core_sink = DC_SINK_TO_CORE(dc_sink_connector); -- -- /* find stream to drive this sink -- * crtc -> target -> stream -> sink */ -- crtc = aconnector->base.state->crtc; -- amdgpu_crtc = to_amdgpu_crtc(crtc); -- dc_target = amdgpu_crtc->target; -- core_target = DC_TARGET_TO_CORE(dc_target); -- -- for (j = 0; j < core_target->stream_count; -- j++) { -- if (core_target->streams[j]->sink == -- core_sink) -- break; -- } -- -- if (j < core_target->stream_count) { -- /* find sink --> stream --> target --> -- * connector*/ -- stream_enc = -- core_target->streams[j]->stream_enc; -- table->stream_allocations[i].engine = -- stream_enc->id; -- /* exit loop connector */ -- find_stream_for_sink = true; -+ if (mst_port->vcpi.vcpi != -+ mst_mgr->proposed_vcpis[i]->vcpi) -+ continue; -+ -+ /* find connector with same vcid as payload */ -+ -+ dc_sink_connector = aconnector->dc_sink; -+ -+ /* -+ * find stream to drive this sink -+ * crtc -> target -> stream -> sink -+ */ -+ crtc = aconnector->base.state->crtc; -+ amdgpu_crtc = to_amdgpu_crtc(crtc); -+ dc_target = amdgpu_crtc->target; -+ -+ for (j = 0; j < dc_target->stream_count; j++) { -+ if (dc_target->streams[j]->sink == -+ dc_sink_connector) - break; -- } -+ } -+ -+ if (j < dc_target->stream_count) { -+ /* -+ * find sink --> stream --> target --> -+ * connector -+ */ -+ table->stream_allocations[i].engine = -+ dc_target->streams[j]; -+ /* exit loop connector */ -+ find_stream_for_sink = true; -+ break; - } - } -+ - if (!find_stream_for_sink) { -- /* TODO: do not find stream for sink. This should not -+ /* -+ * TODO: do not find stream for sink. This should not - * happen - */ - ASSERT(0); -diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_target.c b/drivers/gpu/drm/amd/dal/dc/core/dc_target.c -index 9243c01..1a8d8d6 100644 ---- a/drivers/gpu/drm/amd/dal/dc/core/dc_target.c -+++ b/drivers/gpu/drm/amd/dal/dc/core/dc_target.c -@@ -59,6 +59,7 @@ static void construct( - - target->ctx = ctx; - target->stream_count = stream_count; -+ target->public.stream_count = stream_count; - } - - static void destruct(struct core_target *core_target) -diff --git a/drivers/gpu/drm/amd/dal/dc/dc.h b/drivers/gpu/drm/amd/dal/dc/dc.h -index 0cb9d77..77fa4c8 100644 ---- a/drivers/gpu/drm/amd/dal/dc/dc.h -+++ b/drivers/gpu/drm/amd/dal/dc/dc.h -@@ -145,7 +145,7 @@ bool dc_commit_surfaces_to_target( - #define MAX_STREAM_NUM 1 - - struct dc_target { -- uint32_t temp; -+ uint8_t stream_count; - const struct dc_stream *streams[MAX_STREAM_NUM]; - }; - -diff --git a/drivers/gpu/drm/amd/dal/include/link_service_types.h b/drivers/gpu/drm/amd/dal/include/link_service_types.h -index bd3dd6d..796c1ea 100644 ---- a/drivers/gpu/drm/amd/dal/include/link_service_types.h -+++ b/drivers/gpu/drm/amd/dal/include/link_service_types.h -@@ -392,7 +392,7 @@ struct mst_device_info { - /* DP MST stream allocation (payload bandwidth number) */ - struct dp_mst_stream_allocation { - /* stream engine id (DIG) */ -- enum engine_id engine; -+ const struct dc_stream *engine; - /* number of slots required for the DP stream in - * transport packet */ - uint32_t slot_count; --- -2.7.4 - |