aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2826-drm-amd-display-Fix-hubp-check-in-set_cursor_positio.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2826-drm-amd-display-Fix-hubp-check-in-set_cursor_positio.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2826-drm-amd-display-Fix-hubp-check-in-set_cursor_positio.patch69
1 files changed, 69 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2826-drm-amd-display-Fix-hubp-check-in-set_cursor_positio.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2826-drm-amd-display-Fix-hubp-check-in-set_cursor_positio.patch
new file mode 100644
index 00000000..0de1f953
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2826-drm-amd-display-Fix-hubp-check-in-set_cursor_positio.patch
@@ -0,0 +1,69 @@
+From e8ece2937c027acac2f488c90b375719e98169a5 Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Fri, 10 Nov 2017 19:49:44 -0500
+Subject: [PATCH 2826/4131] drm/amd/display: Fix hubp check in
+ set_cursor_position
+
+Found by smatch:
+drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_stream.c:298
+dc_stream_set_cursor_position() error: we previously assumed 'hubp'
+could be null (see line 294)
+
+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/display/dc/core/dc_stream.c | 9 ++++-----
+ drivers/gpu/drm/amd/display/dc/inc/hw/transform.h | 7 -------
+ 2 files changed, 4 insertions(+), 12 deletions(-)
+
+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 1efa5b6..375fb45 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c
+@@ -260,7 +260,6 @@ bool dc_stream_set_cursor_position(
+ struct input_pixel_processor *ipp = pipe_ctx->plane_res.ipp;
+ struct mem_input *mi = pipe_ctx->plane_res.mi;
+ struct hubp *hubp = pipe_ctx->plane_res.hubp;
+- struct transform *xfm = pipe_ctx->plane_res.xfm;
+ struct dpp *dpp = pipe_ctx->plane_res.dpp;
+ struct dc_cursor_position pos_cpy = *position;
+ struct dc_cursor_mi_param param = {
+@@ -291,11 +290,11 @@ bool dc_stream_set_cursor_position(
+ if (mi != NULL && mi->funcs->set_cursor_position != NULL)
+ mi->funcs->set_cursor_position(mi, &pos_cpy, &param);
+
+- if (hubp != NULL && hubp->funcs->set_cursor_position != NULL)
+- hubp->funcs->set_cursor_position(hubp, &pos_cpy, &param);
++ if (!hubp)
++ continue;
+
+- if (xfm != NULL && xfm->funcs->set_cursor_position != NULL)
+- xfm->funcs->set_cursor_position(xfm, &pos_cpy, &param, hubp->curs_attr.width);
++ if (hubp->funcs->set_cursor_position != NULL)
++ hubp->funcs->set_cursor_position(hubp, &pos_cpy, &param);
+
+ if (dpp != NULL && dpp->funcs->set_cursor_position != NULL)
+ dpp->funcs->set_cursor_position(dpp, &pos_cpy, &param, hubp->curs_attr.width);
+diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/transform.h b/drivers/gpu/drm/amd/display/dc/inc/hw/transform.h
+index d7b4441..6f6c02b 100644
+--- a/drivers/gpu/drm/amd/display/dc/inc/hw/transform.h
++++ b/drivers/gpu/drm/amd/display/dc/inc/hw/transform.h
+@@ -261,13 +261,6 @@ struct transform_funcs {
+ struct transform *xfm_base,
+ const struct dc_cursor_attributes *attr);
+
+- void (*set_cursor_position)(
+- struct transform *xfm_base,
+- const struct dc_cursor_position *pos,
+- const struct dc_cursor_mi_param *param,
+- uint32_t width
+- );
+-
+ };
+
+ const uint16_t *get_filter_2tap_16p(void);
+--
+2.7.4
+