diff options
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-.patch | 63 |
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 + |