aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0536-drm-amd-dal-refactor-helpers-to-use-dc-types.patch
diff options
context:
space:
mode:
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.patch208
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
-