aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/0700-drm-amd-display-Add-stateless-surface-validation-to-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0700-drm-amd-display-Add-stateless-surface-validation-to-.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/0700-drm-amd-display-Add-stateless-surface-validation-to-.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0700-drm-amd-display-Add-stateless-surface-validation-to-.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0700-drm-amd-display-Add-stateless-surface-validation-to-.patch
new file mode 100644
index 00000000..87316d0a
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/0700-drm-amd-display-Add-stateless-surface-validation-to-.patch
@@ -0,0 +1,63 @@
+From cef3345e8501fac7052c673e2f37f0b07f7accf3 Mon Sep 17 00:00:00 2001
+From: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
+Date: Thu, 27 Jul 2017 16:47:14 -0400
+Subject: [PATCH 0700/4131] drm/amd/display: Add stateless surface validation
+ to validate_resources
+
+Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@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/display/dc/core/dc.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
+index 1c0d218..83b8b19 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
+@@ -675,6 +675,21 @@ static bool validate_streams (
+ return true;
+ }
+
++static bool validate_surfaces(
++ const struct dc *dc,
++ const struct dc_validation_set set[],
++ int set_count)
++{
++ int i, j;
++
++ for (i = 0; i < set_count; i++)
++ for (j = 0; j < set[i].surface_count; j++)
++ if (!dc_validate_surface(dc, set[i].surfaces[j]))
++ return false;
++
++ return true;
++}
++
+ struct validate_context *dc_get_validate_context(
+ const struct dc *dc,
+ const struct dc_validation_set set[],
+@@ -726,6 +741,9 @@ bool dc_validate_resources(
+ if (!validate_streams(dc, set, set_count))
+ return false;
+
++ if (!validate_surfaces(dc, set, set_count))
++ return false;
++
+ context = dm_alloc(sizeof(struct validate_context));
+ if (context == NULL)
+ goto context_alloc_fail;
+@@ -1065,6 +1083,9 @@ bool dc_commit_streams(
+ if (!validate_streams(dc, set, stream_count))
+ return false;
+
++ if (!validate_surfaces(dc, set, stream_count))
++ return false;
++
+ context = dm_alloc(sizeof(struct validate_context));
+ if (context == NULL)
+ goto context_alloc_fail;
+--
+2.7.4
+