On Wed, Jan 13, 2021 at 3:08 AM Lee Jones <[email protected]> wrote:
>
> Fixes the following W=1 kernel build warning(s):
>
> drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link.c: In function
> ‘dc_link_construct’:
> drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link.c:1588:1: warning: the
> frame size of 1176 bytes is larger than 1024 bytes [-Wframe-larger-than=]
>
> Cc: Harry Wentland <[email protected]>
> Cc: Leo Li <[email protected]>
> Cc: Alex Deucher <[email protected]>
> Cc: "Christian König" <[email protected]>
> Cc: David Airlie <[email protected]>
> Cc: Daniel Vetter <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Lee Jones <[email protected]>
Applied. Thanks!
Alex
> ---
> drivers/gpu/drm/amd/display/dc/core/dc_link.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
> b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
> index 8ccda8b9ac2eb..3366a49f11dc7 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
> @@ -1364,13 +1364,17 @@ static bool dc_link_construct(struct dc_link *link,
> struct dc_context *dc_ctx = init_params->ctx;
> struct encoder_init_data enc_init_data = { 0 };
> struct panel_cntl_init_data panel_cntl_init_data = { 0 };
> - struct integrated_info info = {{{ 0 }}};
> + struct integrated_info *info;
> struct dc_bios *bios = init_params->dc->ctx->dc_bios;
> const struct dc_vbios_funcs *bp_funcs = bios->funcs;
> struct bp_disp_connector_caps_info disp_connect_caps_info = { 0 };
>
> DC_LOGGER_INIT(dc_ctx->logger);
>
> + info = kzalloc(sizeof(info), GFP_KERNEL);
> + if (!info)
> + goto create_fail;
> +
> link->irq_source_hpd = DC_IRQ_SOURCE_INVALID;
> link->irq_source_hpd_rx = DC_IRQ_SOURCE_INVALID;
>
> @@ -1532,12 +1536,12 @@ static bool dc_link_construct(struct dc_link *link,
> }
>
> if (bios->integrated_info)
> - info = *bios->integrated_info;
> + memcpy(info, bios->integrated_info, sizeof(*info));
>
> /* Look for channel mapping corresponding to connector and device tag
> */
> for (i = 0; i < MAX_NUMBER_OF_EXT_DISPLAY_PATH; i++) {
> struct external_display_path *path =
> - &info.ext_disp_conn_info.path[i];
> + &info->ext_disp_conn_info.path[i];
>
> if (path->device_connector_id.enum_id ==
> link->link_id.enum_id &&
> path->device_connector_id.id == link->link_id.id &&
> @@ -1584,6 +1588,8 @@ static bool dc_link_construct(struct dc_link *link,
> link->hpd_gpio = NULL;
> }
>
> + kfree(info);
> +
> return false;
> }
>
> --
> 2.25.1
>
> _______________________________________________
> dri-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/dri-devel