diff options
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.patch | 69 |
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, ¶m); + +- if (hubp != NULL && hubp->funcs->set_cursor_position != NULL) +- hubp->funcs->set_cursor_position(hubp, &pos_cpy, ¶m); ++ if (!hubp) ++ continue; + +- if (xfm != NULL && xfm->funcs->set_cursor_position != NULL) +- xfm->funcs->set_cursor_position(xfm, &pos_cpy, ¶m, hubp->curs_attr.width); ++ if (hubp->funcs->set_cursor_position != NULL) ++ hubp->funcs->set_cursor_position(hubp, &pos_cpy, ¶m); + + if (dpp != NULL && dpp->funcs->set_cursor_position != NULL) + dpp->funcs->set_cursor_position(dpp, &pos_cpy, ¶m, 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 + |