aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/0354-drm-amd-display-Return-context-from-validate_context.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0354-drm-amd-display-Return-context-from-validate_context.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/0354-drm-amd-display-Return-context-from-validate_context.patch171
1 files changed, 0 insertions, 171 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0354-drm-amd-display-Return-context-from-validate_context.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0354-drm-amd-display-Return-context-from-validate_context.patch
deleted file mode 100644
index 9f700078..00000000
--- a/common/recipes-kernel/linux/linux-yocto-4.14.71/0354-drm-amd-display-Return-context-from-validate_context.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From a3878a5da6834fafb5cc42ec335741a17713a091 Mon Sep 17 00:00:00 2001
-From: Harry Wentland <harry.wentland@amd.com>
-Date: Wed, 29 Mar 2017 11:22:05 -0400
-Subject: [PATCH 0354/4131] drm/amd/display: Return context from
- validate_context
-
-This will allow us to carry it from check to commit
-
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Acked-by: Harry Wentland <Harry.Wentland@amd.com>
-Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- .../drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 26 +++++++++++-----
- drivers/gpu/drm/amd/display/dc/core/dc.c | 36 +++++++++++++++++-----
- drivers/gpu/drm/amd/display/dc/dc.h | 5 +++
- 3 files changed, 52 insertions(+), 15 deletions(-)
-
-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 dbeee59..bb55944 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
-@@ -1557,6 +1557,7 @@ int amdgpu_dm_connector_mode_valid(
- /* TODO: Unhardcode stream count */
- struct dc_stream *stream;
- struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
-+ struct validate_context *context;
-
- if ((mode->flags & DRM_MODE_FLAG_INTERLACE) ||
- (mode->flags & DRM_MODE_FLAG_DBLSCAN))
-@@ -1591,8 +1592,13 @@ int amdgpu_dm_connector_mode_valid(
- stream->src.height = mode->vdisplay;
- stream->dst = stream->src;
-
-- if (dc_validate_resources(adev->dm.dc, &val_set, 1))
-+ context = dc_get_validate_context(adev->dm.dc, &val_set, 1);
-+
-+ if (context) {
- result = MODE_OK;
-+ dc_resource_validate_ctx_destruct(context);
-+ dm_free(context);
-+ }
-
- dc_stream_release(stream);
-
-@@ -3023,6 +3029,7 @@ int amdgpu_dm_atomic_check(struct drm_device *dev,
- struct amdgpu_device *adev = dev->dev_private;
- struct dc *dc = adev->dm.dc;
- bool need_to_validate = false;
-+ struct validate_context *context;
-
- ret = drm_atomic_helper_check(dev, state);
-
-@@ -3245,15 +3252,20 @@ int amdgpu_dm_atomic_check(struct drm_device *dev,
- }
- }
-
-- if (need_to_validate == false || set_count == 0 ||
-- dc_validate_resources(dc, set, set_count))
-+ context = dc_get_validate_context(dc, set, set_count);
-+
-+ if (need_to_validate == false || set_count == 0 || context)
- ret = 0;
-
-- for (i = 0; i < set_count; i++) {
-- for (j = 0; j < set[i].surface_count; j++) {
-- dc_surface_release(set[i].surfaces[j]);
-- }
-+ if (context) {
-+ dc_resource_validate_ctx_destruct(context);
-+ dm_free(context);
- }
-+
-+ for (i = 0; i < set_count; i++)
-+ for (j = 0; j < set[i].surface_count; j++)
-+ dc_surface_release(set[i].surfaces[j]);
-+
- for (i = 0; i < new_stream_count; i++)
- dc_stream_release(new_streams[i]);
-
-diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
-index 5620fe3..64b5216 100644
---- a/drivers/gpu/drm/amd/display/dc/core/dc.c
-+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
-@@ -635,7 +635,7 @@ static bool is_validation_required(
- return false;
- }
-
--bool dc_validate_resources(
-+struct validate_context *dc_get_validate_context(
- const struct dc *dc,
- const struct dc_validation_set set[],
- uint8_t set_count)
-@@ -644,31 +644,51 @@ bool dc_validate_resources(
- enum dc_status result = DC_ERROR_UNEXPECTED;
- struct validate_context *context;
-
-- if (!is_validation_required(core_dc, set, set_count))
-- return true;
--
- context = dm_alloc(sizeof(struct validate_context));
- if(context == NULL)
- goto context_alloc_fail;
-
-+ if (!is_validation_required(core_dc, set, set_count)) {
-+ dc_resource_validate_ctx_copy_construct(core_dc->current_context, context);
-+ return context;
-+ }
-+
- result = core_dc->res_pool->funcs->validate_with_context(
- core_dc, set, set_count, context);
-
-- dc_resource_validate_ctx_destruct(context);
-- dm_free(context);
--
- context_alloc_fail:
- if (result != DC_OK) {
- dm_logger_write(core_dc->ctx->logger, LOG_WARNING,
- "%s:resource validation failed, dc_status:%d\n",
- __func__,
- result);
-+
-+ dc_resource_validate_ctx_destruct(context);
-+ dm_free(context);
-+ context = NULL;
- }
-
-- return (result == DC_OK);
-+ return context;
-
- }
-
-+bool dc_validate_resources(
-+ const struct dc *dc,
-+ const struct dc_validation_set set[],
-+ uint8_t set_count)
-+{
-+ struct validate_context *ctx;
-+
-+ ctx = dc_get_validate_context(dc, set, set_count);
-+ if (ctx) {
-+ dc_resource_validate_ctx_destruct(ctx);
-+ dm_free(ctx);
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
- bool dc_validate_guaranteed(
- const struct dc *dc,
- const struct dc_stream *stream)
-diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
-index 7de2080..1b3fd79 100644
---- a/drivers/gpu/drm/amd/display/dc/dc.h
-+++ b/drivers/gpu/drm/amd/display/dc/dc.h
-@@ -505,6 +505,11 @@ struct dc_validation_set {
- * After this call:
- * No hardware is programmed for call. Only validation is done.
- */
-+struct validate_context *dc_get_validate_context(
-+ const struct dc *dc,
-+ const struct dc_validation_set set[],
-+ uint8_t set_count);
-+
- bool dc_validate_resources(
- const struct dc *dc,
- const struct dc_validation_set set[],
---
-2.7.4
-