drm/amd/display/dc/core/dc_link: Move some local data from the stack to the heap
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 <harry.wentland@amd.com> Cc: Leo Li <sunpeng.li@amd.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: "Christian König" <christian.koenig@amd.com> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: amd-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
e9f8fb6aa0
commit
3a00c04212
1 changed files with 9 additions and 3 deletions
|
@ -1372,13 +1372,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;
|
||||
|
||||
|
@ -1540,12 +1544,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 &&
|
||||
|
@ -1592,6 +1596,8 @@ create_fail:
|
|||
link->hpd_gpio = NULL;
|
||||
}
|
||||
|
||||
kfree(info);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue