aboutsummaryrefslogtreecommitdiffstats
path: root/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0663-drm-amd-display-Roll-core_sink-into-dc_sink.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0663-drm-amd-display-Roll-core_sink-into-dc_sink.patch')
-rw-r--r--meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0663-drm-amd-display-Roll-core_sink-into-dc_sink.patch483
1 files changed, 0 insertions, 483 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0663-drm-amd-display-Roll-core_sink-into-dc_sink.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0663-drm-amd-display-Roll-core_sink-into-dc_sink.patch
deleted file mode 100644
index f597aec8..00000000
--- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0663-drm-amd-display-Roll-core_sink-into-dc_sink.patch
+++ /dev/null
@@ -1,483 +0,0 @@
-From 13611afff2c9b29346634e87ace5827d7c395fea Mon Sep 17 00:00:00 2001
-From: Harry Wentland <harry.wentland@amd.com>
-Date: Mon, 24 Jul 2017 14:04:27 -0400
-Subject: [PATCH 0663/4131] drm/amd/display: Roll core_sink into dc_sink
-
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
-Acked-by: Harry Wentland <Harry.Wentland@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 4 +-
- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +-
- .../drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 4 +-
- drivers/gpu/drm/amd/display/dc/core/dc.c | 4 +-
- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 60 +++++++++++-----------
- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 2 +-
- drivers/gpu/drm/amd/display/dc/core/dc_sink.c | 30 +++++------
- drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 15 +++---
- drivers/gpu/drm/amd/display/dc/dc.h | 19 ++++---
- .../amd/display/dc/dce110/dce110_hw_sequencer.c | 2 +-
- drivers/gpu/drm/amd/display/dc/inc/core_types.h | 21 +-------
- 11 files changed, 72 insertions(+), 91 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
-index cc4f3d1..5c527f4 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
-@@ -566,9 +566,9 @@ struct amdgpu_connector {
- int num_modes;
- /* The 'old' sink - before an HPD.
- * The 'current' sink is in dc_link->sink. */
-- const struct dc_sink *dc_sink;
-+ struct dc_sink *dc_sink;
- struct dc_link *dc_link;
-- const struct dc_sink *dc_em_sink;
-+ struct dc_sink *dc_em_sink;
- const struct dc_stream *stream;
- void *con_priv;
- bool dac_load_detect;
-diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-index 8f18058..71178c8 100644
---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-@@ -697,7 +697,7 @@ void amdgpu_dm_update_connector_after_detect(
- {
- struct drm_connector *connector = &aconnector->base;
- struct drm_device *dev = connector->dev;
-- const struct dc_sink *sink;
-+ struct dc_sink *sink;
-
- /* MST handled by drm_mst framework */
- if (aconnector->mst_mgr.mst_state == true)
-diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
-index e827e22..30b5f9f 100644
---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
-+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
-@@ -1409,7 +1409,7 @@ int amdgpu_dm_connector_mode_valid(
- struct drm_display_mode *mode)
- {
- int result = MODE_ERROR;
-- const struct dc_sink *dc_sink;
-+ struct dc_sink *dc_sink;
- struct amdgpu_device *adev = connector->dev->dev_private;
- struct dc_validation_set val_set = { 0 };
- /* TODO: Unhardcode stream count */
-@@ -1679,7 +1679,7 @@ int dm_create_validation_set_for_connector(struct drm_connector *connector,
- struct drm_display_mode *mode, struct dc_validation_set *val_set)
- {
- int result = MODE_ERROR;
-- const struct dc_sink *dc_sink =
-+ struct dc_sink *dc_sink =
- to_amdgpu_connector(connector)->dc_sink;
- /* TODO: Unhardcode stream count */
- struct dc_stream *stream;
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
-index 73740e2..30374ff 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
-@@ -939,7 +939,7 @@ static bool dc_commit_context_no_check(struct dc *dc, struct validate_context *c
- program_timing_sync(core_dc, context);
-
- for (i = 0; i < context->stream_count; i++) {
-- const struct core_sink *sink = context->streams[i]->sink;
-+ const struct dc_sink *sink = context->streams[i]->sink;
-
- for (j = 0; j < context->stream_status[i].surface_count; j++) {
- const struct dc_surface *surface =
-@@ -1984,7 +1984,7 @@ void dc_link_set_sink(struct dc_link *link, struct dc_sink *sink)
- }
- }
-
--void dc_link_remove_remote_sink(struct dc_link *link, const struct dc_sink *sink)
-+void dc_link_remove_remote_sink(struct dc_link *link, struct dc_sink *sink)
- {
- int i;
-
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-index 428dbff..e706206 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
-@@ -541,8 +541,7 @@ bool dc_link_detect(struct dc_link *link, bool boot)
- struct audio_support *aud_support = &link->dc->res_pool->audio_support;
- enum dc_edid_status edid_status;
- struct dc_context *dc_ctx = link->ctx;
-- struct dc_sink *dc_sink;
-- struct core_sink *sink = NULL;
-+ struct dc_sink *sink;
- enum dc_connection_type new_connection_type = dc_connection_none;
-
- if (link->connector_signal == SIGNAL_TYPE_VIRTUAL)
-@@ -637,22 +636,21 @@ bool dc_link_detect(struct dc_link *link, bool boot)
- sink_init_data.link = link;
- sink_init_data.sink_signal = sink_caps.signal;
-
-- dc_sink = dc_sink_create(&sink_init_data);
-- if (!dc_sink) {
-+ sink = dc_sink_create(&sink_init_data);
-+ if (!sink) {
- DC_ERROR("Failed to create sink!\n");
- return false;
- }
-
-- dc_sink->dongle_max_pix_clk = sink_caps.max_hdmi_pixel_clock;
-- dc_sink->converter_disable_audio = converter_disable_audio;
-+ sink->dongle_max_pix_clk = sink_caps.max_hdmi_pixel_clock;
-+ sink->converter_disable_audio = converter_disable_audio;
-
-- sink = DC_SINK_TO_CORE(dc_sink);
-- link->local_sink = &sink->public;
-+ link->local_sink = sink;
-
- edid_status = dm_helpers_read_local_edid(
- link->ctx,
- link,
-- &sink->public);
-+ sink);
-
- switch (edid_status) {
- case EDID_BAD_CHECKSUM:
-@@ -669,16 +667,16 @@ bool dc_link_detect(struct dc_link *link, bool boot)
- }
-
- /* HDMI-DVI Dongle */
-- if (dc_sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A &&
-- !dc_sink->edid_caps.edid_hdmi)
-- dc_sink->sink_signal = SIGNAL_TYPE_DVI_SINGLE_LINK;
-+ if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A &&
-+ !sink->edid_caps.edid_hdmi)
-+ sink->sink_signal = SIGNAL_TYPE_DVI_SINGLE_LINK;
-
- /* Connectivity log: detection */
-- for (i = 0; i < sink->public.dc_edid.length / EDID_BLOCK_SIZE; i++) {
-+ for (i = 0; i < sink->dc_edid.length / EDID_BLOCK_SIZE; i++) {
- CONN_DATA_DETECT(link,
-- &sink->public.dc_edid.raw_edid[i * EDID_BLOCK_SIZE],
-+ &sink->dc_edid.raw_edid[i * EDID_BLOCK_SIZE],
- EDID_BLOCK_SIZE,
-- "%s: [Block %d] ", sink->public.edid_caps.display_name, i);
-+ "%s: [Block %d] ", sink->edid_caps.display_name, i);
- }
-
- dm_logger_write(link->ctx->logger, LOG_DETECTION_EDID_PARSER,
-@@ -692,16 +690,16 @@ bool dc_link_detect(struct dc_link *link, bool boot)
- "speaker_flag = %d, "
- "audio_mode_count = %d\n",
- __func__,
-- sink->public.edid_caps.manufacturer_id,
-- sink->public.edid_caps.product_id,
-- sink->public.edid_caps.serial_number,
-- sink->public.edid_caps.manufacture_week,
-- sink->public.edid_caps.manufacture_year,
-- sink->public.edid_caps.display_name,
-- sink->public.edid_caps.speaker_flags,
-- sink->public.edid_caps.audio_mode_count);
--
-- for (i = 0; i < sink->public.edid_caps.audio_mode_count; i++) {
-+ sink->edid_caps.manufacturer_id,
-+ sink->edid_caps.product_id,
-+ sink->edid_caps.serial_number,
-+ sink->edid_caps.manufacture_week,
-+ sink->edid_caps.manufacture_year,
-+ sink->edid_caps.display_name,
-+ sink->edid_caps.speaker_flags,
-+ sink->edid_caps.audio_mode_count);
-+
-+ for (i = 0; i < sink->edid_caps.audio_mode_count; i++) {
- dm_logger_write(link->ctx->logger, LOG_DETECTION_EDID_PARSER,
- "%s: mode number = %d, "
- "format_code = %d, "
-@@ -710,10 +708,10 @@ bool dc_link_detect(struct dc_link *link, bool boot)
- "sample_size = %d\n",
- __func__,
- i,
-- sink->public.edid_caps.audio_modes[i].format_code,
-- sink->public.edid_caps.audio_modes[i].channel_count,
-- sink->public.edid_caps.audio_modes[i].sample_rate,
-- sink->public.edid_caps.audio_modes[i].sample_size);
-+ sink->edid_caps.audio_modes[i].format_code,
-+ sink->edid_caps.audio_modes[i].channel_count,
-+ sink->edid_caps.audio_modes[i].sample_rate,
-+ sink->edid_caps.audio_modes[i].sample_size);
- }
-
- } else {
-@@ -732,7 +730,7 @@ bool dc_link_detect(struct dc_link *link, bool boot)
- }
-
- LINK_INFO("link=%d, dc_sink_in=%p is now %s\n",
-- link->link_index, &sink->public,
-+ link->link_index, sink,
- (sink_caps.signal == SIGNAL_TYPE_NONE ?
- "Disconnected":"Connected"));
-
-@@ -1347,7 +1345,7 @@ enum dc_status dc_link_validate_mode_timing(
- struct dc_link *link,
- const struct dc_crtc_timing *timing)
- {
-- uint32_t max_pix_clk = stream->sink->public.dongle_max_pix_clk;
-+ uint32_t max_pix_clk = stream->sink->dongle_max_pix_clk;
-
- /* A hack to avoid failing any modes for EDID override feature on
- * topology change such as lower quality cable for DP or different dongle
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
-index ec4714e..71723fb 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
-@@ -1528,7 +1528,7 @@ enum dc_status resource_map_pool_resources(
- pipe_ctx->stream_enc);
-
- /* TODO: Add check if ASIC support and EDID audio */
-- if (!stream->sink->public.converter_disable_audio &&
-+ if (!stream->sink->converter_disable_audio &&
- dc_is_audio_capable_signal(pipe_ctx->stream->signal) &&
- stream->public.audio_info.mode_count) {
- pipe_ctx->audio = find_first_free_audio(
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_sink.c b/drivers/gpu/drm/amd/display/dc/core/dc_sink.c
-index 1f7985a..a83f124 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc_sink.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc_sink.c
-@@ -31,15 +31,15 @@
- * Private functions
- ******************************************************************************/
-
--static void destruct(struct core_sink *sink)
-+static void destruct(struct dc_sink *sink)
- {
-- if (sink->public.dc_container_id) {
-- dm_free(sink->public.dc_container_id);
-- sink->public.dc_container_id = NULL;
-+ if (sink->dc_container_id) {
-+ dm_free(sink->dc_container_id);
-+ sink->dc_container_id = NULL;
- }
- }
-
--static bool construct(struct core_sink *sink, const struct dc_sink_init_data *init_params)
-+static bool construct(struct dc_sink *sink, const struct dc_sink_init_data *init_params)
- {
-
- struct dc_link *link = init_params->link;
-@@ -47,12 +47,12 @@ static bool construct(struct core_sink *sink, const struct dc_sink_init_data *in
- if (!link)
- return false;
-
-- sink->public.sink_signal = init_params->sink_signal;
-+ sink->sink_signal = init_params->sink_signal;
- sink->link = link;
- sink->ctx = link->ctx;
-- sink->public.dongle_max_pix_clk = init_params->dongle_max_pix_clk;
-- sink->public.converter_disable_audio = init_params->converter_disable_audio;
-- sink->public.dc_container_id = NULL;
-+ sink->dongle_max_pix_clk = init_params->dongle_max_pix_clk;
-+ sink->converter_disable_audio = init_params->converter_disable_audio;
-+ sink->dc_container_id = NULL;
-
- return true;
- }
-@@ -61,18 +61,14 @@ static bool construct(struct core_sink *sink, const struct dc_sink_init_data *in
- * Public functions
- ******************************************************************************/
-
--void dc_sink_retain(const struct dc_sink *dc_sink)
-+void dc_sink_retain(struct dc_sink *sink)
- {
-- struct core_sink *sink = DC_SINK_TO_CORE(dc_sink);
--
- ASSERT(sink->ref_count > 0);
- ++sink->ref_count;
- }
-
--void dc_sink_release(const struct dc_sink *dc_sink)
-+void dc_sink_release(struct dc_sink *sink)
- {
-- struct core_sink *sink = DC_SINK_TO_CORE(dc_sink);
--
- ASSERT(sink->ref_count > 0);
- --sink->ref_count;
-
-@@ -84,7 +80,7 @@ void dc_sink_release(const struct dc_sink *dc_sink)
-
- struct dc_sink *dc_sink_create(const struct dc_sink_init_data *init_params)
- {
-- struct core_sink *sink = dm_alloc(sizeof(*sink));
-+ struct dc_sink *sink = dm_alloc(sizeof(*sink));
-
- if (NULL == sink)
- goto alloc_fail;
-@@ -94,7 +90,7 @@ struct dc_sink *dc_sink_create(const struct dc_sink_init_data *init_params)
-
- ++sink->ref_count;
-
-- return &sink->public;
-+ return sink;
-
- construct_fail:
- dm_free(sink);
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
-index a329709..5b356dd 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
-@@ -46,11 +46,11 @@ struct stream {
- ******************************************************************************/
-
- static bool construct(struct core_stream *stream,
-- const struct dc_sink *dc_sink_data)
-+ struct dc_sink *dc_sink_data)
- {
- uint32_t i = 0;
-
-- stream->sink = DC_SINK_TO_CORE(dc_sink_data);
-+ stream->sink = dc_sink_data;
- stream->ctx = stream->sink->ctx;
- stream->public.sink = dc_sink_data;
-
-@@ -97,7 +97,7 @@ static bool construct(struct core_stream *stream,
-
- static void destruct(struct core_stream *stream)
- {
-- dc_sink_release(&stream->sink->public);
-+ dc_sink_release(stream->sink);
- if (stream->public.out_transfer_func != NULL) {
- dc_transfer_func_release(
- stream->public.out_transfer_func);
-@@ -130,9 +130,8 @@ void dc_stream_release(const struct dc_stream *public)
- }
-
- struct dc_stream *dc_create_stream_for_sink(
-- const struct dc_sink *dc_sink)
-+ struct dc_sink *sink)
- {
-- struct core_sink *sink = DC_SINK_TO_CORE(dc_sink);
- struct stream *stream;
-
- if (sink == NULL)
-@@ -143,7 +142,7 @@ struct dc_stream *dc_create_stream_for_sink(
- if (NULL == stream)
- goto alloc_fail;
-
-- if (false == construct(&stream->protected, dc_sink))
-+ if (false == construct(&stream->protected, sink))
- goto construct_fail;
-
- stream->ref_count++;
-@@ -350,8 +349,8 @@ void dc_stream_log(
- dm_logger_write(dm_logger,
- log_type,
- "\tsink name: %s, serial: %d\n",
-- core_stream->sink->public.edid_caps.display_name,
-- core_stream->sink->public.edid_caps.serial_number);
-+ core_stream->sink->edid_caps.display_name,
-+ core_stream->sink->edid_caps.serial_number);
- dm_logger_write(dm_logger,
- log_type,
- "\tlink: %d\n",
-diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
-index e15e8fb..77bd546 100644
---- a/drivers/gpu/drm/amd/display/dc/dc.h
-+++ b/drivers/gpu/drm/amd/display/dc/dc.h
-@@ -629,7 +629,7 @@ bool dc_enable_stereo(
- /**
- * Create a new default stream for the requested sink
- */
--struct dc_stream *dc_create_stream_for_sink(const struct dc_sink *dc_sink);
-+struct dc_stream *dc_create_stream_for_sink(struct dc_sink *dc_sink);
-
- void dc_stream_retain(const struct dc_stream *dc_stream);
- void dc_stream_release(const struct dc_stream *dc_stream);
-@@ -712,9 +712,9 @@ struct link_mst_stream_allocation_table {
- * The currently active signal type (HDMI, DP-SST, DP-MST) is also reported.
- */
- struct dc_link {
-- const struct dc_sink *remote_sinks[MAX_SINKS_PER_LINK];
-+ struct dc_sink *remote_sinks[MAX_SINKS_PER_LINK];
- unsigned int sink_count;
-- const struct dc_sink *local_sink;
-+ struct dc_sink *local_sink;
- unsigned int link_index;
- enum dc_connection_type type;
- enum signal_type connector_signal;
-@@ -825,7 +825,7 @@ struct dc_sink *dc_link_add_remote_sink(
-
- void dc_link_remove_remote_sink(
- struct dc_link *link,
-- const struct dc_sink *sink);
-+ struct dc_sink *sink);
-
- /* Used by diagnostics for virtual link at the moment */
- void dc_link_set_sink(struct dc_link *link, struct dc_sink *sink);
-@@ -879,10 +879,17 @@ struct dc_sink {
- void *priv;
- struct stereo_3d_features features_3d[TIMING_3D_FORMAT_MAX];
- bool converter_disable_audio;
-+
-+ /* private to DC core */
-+ struct dc_link *link;
-+ struct dc_context *ctx;
-+
-+ /* private to dc_sink.c */
-+ int ref_count;
- };
-
--void dc_sink_retain(const struct dc_sink *sink);
--void dc_sink_release(const struct dc_sink *sink);
-+void dc_sink_retain(struct dc_sink *sink);
-+void dc_sink_release(struct dc_sink *sink);
-
- const struct audio **dc_get_audios(struct dc *dc);
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
-index fe8084e..58701fd 100644
---- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
-+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
-@@ -657,7 +657,7 @@ static enum dc_status bios_parser_crtc_source_select(
- * encoder block
- * note: video bios clears all FMT setting here. */
- struct bp_crtc_source_select crtc_source_select = {0};
-- const struct core_sink *sink = pipe_ctx->stream->sink;
-+ const struct dc_sink *sink = pipe_ctx->stream->sink;
-
- crtc_source_select.engine_id = pipe_ctx->stream_enc->id;
- crtc_source_select.controller_id = pipe_ctx->pipe_idx + 1;
-diff --git a/drivers/gpu/drm/amd/display/dc/inc/core_types.h b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
-index eed31a8..1d733c8 100644
---- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h
-+++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h
-@@ -68,7 +68,7 @@ struct core_stream {
-
- /* field internal to DC */
- struct dc_context *ctx;
-- const struct core_sink *sink;
-+ struct dc_sink *sink;
-
- /* used by DCP and FMT */
- struct bit_depth_reduction_params bit_depth_params;
-@@ -80,25 +80,6 @@ struct core_stream {
- struct dc_stream_status status;
- };
-
--/************ core_sink *****************/
--
--#define DC_SINK_TO_CORE(dc_sink) \
-- container_of(dc_sink, struct core_sink, public)
--
--struct core_sink {
-- /** The public, read-only (for DM) area of sink. **/
-- struct dc_sink public;
-- /** End-of-public area. **/
--
-- /** The 'protected' area - read/write access, for use only inside DC **/
-- /* not used for now */
-- struct dc_link *link;
-- struct dc_context *ctx;
--
-- /* private to dc_sink.c */
-- int ref_count;
--};
--
- /************ link *****************/
- struct link_init_data {
- const struct core_dc *dc;
---
-2.7.4
-