aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2434-amdgpu-fixup-construct-to-void-paths-on-some-more-dc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2434-amdgpu-fixup-construct-to-void-paths-on-some-more-dc.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2434-amdgpu-fixup-construct-to-void-paths-on-some-more-dc.patch144
1 files changed, 144 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2434-amdgpu-fixup-construct-to-void-paths-on-some-more-dc.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2434-amdgpu-fixup-construct-to-void-paths-on-some-more-dc.patch
new file mode 100644
index 00000000..d99021be
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2434-amdgpu-fixup-construct-to-void-paths-on-some-more-dc.patch
@@ -0,0 +1,144 @@
+From f6efa859aef250154bf9430e124cfcd2ff2ea5d3 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Fri, 29 Sep 2017 14:34:41 +1000
+Subject: [PATCH 2434/4131] amdgpu: fixup construct to void paths on some more
+ dc objects.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Reviewed-by: Harry Wentland <harry.wentland@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c | 10 +++-------
+ drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 18 +++++-------------
+ drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 15 +++------------
+ 3 files changed, 11 insertions(+), 32 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
+index 226512c..315160d 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c
+@@ -245,7 +245,7 @@ void dal_ddc_aux_payloads_add(
+ }
+ }
+
+-static bool construct(
++static void construct(
+ struct ddc_service *ddc_service,
+ struct ddc_service_init_data *init_data)
+ {
+@@ -282,7 +282,6 @@ static bool construct(
+ connector_id == CONNECTOR_ID_LVDS;
+
+ ddc_service->wa.raw = 0;
+- return true;
+ }
+
+ struct ddc_service *dal_ddc_service_create(
+@@ -295,11 +294,8 @@ struct ddc_service *dal_ddc_service_create(
+ if (!ddc_service)
+ return NULL;
+
+- if (construct(ddc_service, init_data))
+- return ddc_service;
+-
+- kfree(ddc_service);
+- return NULL;
++ construct(ddc_service, init_data);
++ return ddc_service;
+ }
+
+ static void destruct(struct ddc_service *ddc)
+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 d5da847..a9919641 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
+@@ -56,7 +56,7 @@ static void update_stream_signal(struct dc_stream_state *stream)
+ }
+ }
+
+-static bool construct(struct dc_stream_state *stream,
++static void construct(struct dc_stream_state *stream,
+ struct dc_sink *dc_sink_data)
+ {
+ uint32_t i = 0;
+@@ -104,7 +104,6 @@ static bool construct(struct dc_stream_state *stream,
+ stream->status.link = stream->sink->link;
+
+ update_stream_signal(stream);
+- return true;
+ }
+
+ static void destruct(struct dc_stream_state *stream)
+@@ -142,25 +141,18 @@ struct dc_stream_state *dc_create_stream_for_sink(
+ struct dc_stream_state *stream;
+
+ if (sink == NULL)
+- goto alloc_fail;
++ return NULL;
+
+ stream = kzalloc(sizeof(struct dc_stream_state), GFP_KERNEL);
++ if (stream == NULL)
++ return NULL;
+
+- if (NULL == stream)
+- goto alloc_fail;
+-
+- if (false == construct(stream, sink))
+- goto construct_fail;
++ construct(stream, sink);
+
+ atomic_inc(&stream->ref_count);
+
+ return stream;
+
+-construct_fail:
+- kfree(stream);
+-
+-alloc_fail:
+- return NULL;
+ }
+
+ struct dc_stream_status *dc_stream_get_status(
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
+index 511ada9..f170ae9 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c
+@@ -34,12 +34,11 @@
+ /*******************************************************************************
+ * Private functions
+ ******************************************************************************/
+-static bool construct(struct dc_context *ctx, struct dc_plane_state *plane_state)
++static void construct(struct dc_context *ctx, struct dc_plane_state *plane_state)
+ {
+ plane_state->ctx = ctx;
+ memset(&plane_state->hdr_static_ctx,
+ 0, sizeof(struct dc_hdr_static_metadata));
+- return true;
+ }
+
+ static void destruct(struct dc_plane_state *plane_state)
+@@ -72,20 +71,12 @@ struct dc_plane_state *dc_create_plane_state(struct dc *dc)
+ GFP_KERNEL);
+
+ if (NULL == plane_state)
+- goto alloc_fail;
+-
+- if (false == construct(core_dc->ctx, plane_state))
+- goto construct_fail;
++ return NULL;
+
++ construct(core_dc->ctx, plane_state);
+ atomic_inc(&plane_state->ref_count);
+
+ return plane_state;
+-
+-construct_fail:
+- kfree(plane_state);
+-
+-alloc_fail:
+- return NULL;
+ }
+
+ const struct dc_plane_status *dc_plane_get_status(
+--
+2.7.4
+