aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0864-drm-amd-dal-Pass-stream-instead-of-sink-to-MST-helpe.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0864-drm-amd-dal-Pass-stream-instead-of-sink-to-MST-helpe.patch')
-rw-r--r--common/recipes-kernel/linux/files/0864-drm-amd-dal-Pass-stream-instead-of-sink-to-MST-helpe.patch182
1 files changed, 182 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0864-drm-amd-dal-Pass-stream-instead-of-sink-to-MST-helpe.patch b/common/recipes-kernel/linux/files/0864-drm-amd-dal-Pass-stream-instead-of-sink-to-MST-helpe.patch
new file mode 100644
index 00000000..0f367261
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0864-drm-amd-dal-Pass-stream-instead-of-sink-to-MST-helpe.patch
@@ -0,0 +1,182 @@
+From 0f086f5c54f56c94dcc4e1f427d7c753a77e0deb Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Tue, 1 Dec 2015 16:00:57 -0500
+Subject: [PATCH 0864/1050] drm/amd/dal: Pass stream instead of sink to MST
+ helpers
+
+Change-Id: I0a0f3d363d9514800fff3f3c86419ae82aa0e265
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+---
+ drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c | 18 +++++++++---------
+ drivers/gpu/drm/amd/dal/dc/dc_helpers.h | 6 +++---
+ .../gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 12 ++++++------
+ 3 files changed, 18 insertions(+), 18 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 6b70a41..053add1 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
+@@ -165,7 +165,7 @@ static struct amdgpu_connector *get_connector_for_link(
+ */
+ bool dc_helpers_dp_mst_write_payload_allocation_table(
+ struct dc_context *ctx,
+- const struct dc_sink *sink,
++ const struct dc_stream *stream,
+ struct dp_mst_stream_allocation_table *table,
+ bool enable)
+ {
+@@ -186,7 +186,7 @@ bool dc_helpers_dp_mst_write_payload_allocation_table(
+ uint8_t vcid = 0;
+ bool find_stream_for_sink;
+
+- aconnector = get_connector_for_sink(dev, sink);
++ aconnector = get_connector_for_sink(dev, stream->sink);
+ crtc = aconnector->base.state->crtc;
+
+ if (!crtc)
+@@ -265,7 +265,7 @@ bool dc_helpers_dp_mst_write_payload_allocation_table(
+ connector,
+ &dev->mode_config.connector_list,
+ head) {
+- const struct dc_sink *dc_sink_connector;
++ const struct dc_sink *dc_sink;
+ struct dc_target *dc_target;
+ uint8_t j;
+
+@@ -283,7 +283,7 @@ bool dc_helpers_dp_mst_write_payload_allocation_table(
+
+ /* find connector with same vcid as payload */
+
+- dc_sink_connector = aconnector->dc_sink;
++ dc_sink = aconnector->dc_sink;
+
+ /*
+ * find stream to drive this sink
+@@ -295,7 +295,7 @@ bool dc_helpers_dp_mst_write_payload_allocation_table(
+
+ for (j = 0; j < dc_target->stream_count; j++) {
+ if (dc_target->streams[j]->sink ==
+- dc_sink_connector)
++ dc_sink)
+ break;
+ }
+
+@@ -335,7 +335,7 @@ bool dc_helpers_dp_mst_write_payload_allocation_table(
+ */
+ bool dc_helpers_dp_mst_poll_for_allocation_change_trigger(
+ struct dc_context *ctx,
+- const struct dc_sink *sink)
++ const struct dc_stream *stream)
+ {
+ struct amdgpu_device *adev = ctx->driver_context;
+ struct drm_device *dev = adev->ddev;
+@@ -343,7 +343,7 @@ bool dc_helpers_dp_mst_poll_for_allocation_change_trigger(
+ struct drm_dp_mst_topology_mgr *mst_mgr;
+ int ret;
+
+- aconnector = get_connector_for_sink(dev, sink);
++ aconnector = get_connector_for_sink(dev, stream->sink);
+
+ if (!aconnector->mst_port)
+ return false;
+@@ -360,7 +360,7 @@ bool dc_helpers_dp_mst_poll_for_allocation_change_trigger(
+
+ bool dc_helpers_dp_mst_send_payload_allocation(
+ struct dc_context *ctx,
+- const struct dc_sink *sink,
++ const struct dc_stream *stream,
+ bool enable)
+ {
+ struct amdgpu_device *adev = ctx->driver_context;
+@@ -370,7 +370,7 @@ bool dc_helpers_dp_mst_send_payload_allocation(
+ struct drm_dp_mst_port *mst_port;
+ int ret;
+
+- aconnector = get_connector_for_sink(dev, sink);
++ aconnector = get_connector_for_sink(dev, stream->sink);
+
+ mst_port = aconnector->port;
+
+diff --git a/drivers/gpu/drm/amd/dal/dc/dc_helpers.h b/drivers/gpu/drm/amd/dal/dc/dc_helpers.h
+index 874c839..c0fbb65 100644
+--- a/drivers/gpu/drm/amd/dal/dc/dc_helpers.h
++++ b/drivers/gpu/drm/amd/dal/dc/dc_helpers.h
+@@ -43,7 +43,7 @@ enum dc_edid_status dc_helpers_parse_edid_caps(
+ */
+ bool dc_helpers_dp_mst_write_payload_allocation_table(
+ struct dc_context *ctx,
+- const struct dc_sink *sink,
++ const struct dc_stream *stream,
+ struct dp_mst_stream_allocation_table *table,
+ bool enable);
+
+@@ -52,13 +52,13 @@ bool dc_helpers_dp_mst_write_payload_allocation_table(
+ */
+ bool dc_helpers_dp_mst_poll_for_allocation_change_trigger(
+ struct dc_context *ctx,
+- const struct dc_sink *sink);
++ const struct dc_stream *stream);
+ /*
+ * Sends ALLOCATE_PAYLOAD message.
+ */
+ bool dc_helpers_dp_mst_send_payload_allocation(
+ struct dc_context *ctx,
+- const struct dc_sink *sink,
++ const struct dc_stream *stream,
+ bool enable);
+
+ void dc_helpers_dp_mst_handle_mst_hpd_rx_irq(
+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 046ab0c..0be98a8 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
+@@ -791,7 +791,7 @@ static enum dc_status allocate_mst_payload(struct core_stream *stream)
+ /* get calculate VC payload for stream: stream_alloc */
+ dc_helpers_dp_mst_write_payload_allocation_table(
+ stream->ctx,
+- &stream->sink->public,
++ &stream->public,
+ &table,
+ true);
+
+@@ -803,11 +803,11 @@ static enum dc_status allocate_mst_payload(struct core_stream *stream)
+ /* send down message */
+ dc_helpers_dp_mst_poll_for_allocation_change_trigger(
+ stream->ctx,
+- &stream->sink->public);
++ &stream->public);
+
+ dc_helpers_dp_mst_send_payload_allocation(
+ stream->ctx,
+- &stream->sink->public,
++ &stream->public,
+ true);
+
+ /* slot X.Y for only current stream */
+@@ -858,7 +858,7 @@ static enum dc_status deallocate_mst_payload(struct core_stream *stream)
+ /* TODO: which component is responsible for remove payload table? */
+ dc_helpers_dp_mst_write_payload_allocation_table(
+ stream->ctx,
+- &stream->sink->public,
++ &stream->public,
+ &table,
+ false);
+
+@@ -868,11 +868,11 @@ static enum dc_status deallocate_mst_payload(struct core_stream *stream)
+
+ dc_helpers_dp_mst_poll_for_allocation_change_trigger(
+ stream->ctx,
+- &stream->sink->public);
++ &stream->public);
+
+ dc_helpers_dp_mst_send_payload_allocation(
+ stream->ctx,
+- &stream->sink->public,
++ &stream->public,
+ false);
+
+ return DC_OK;
+--
+1.9.1
+