1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/amd/display/dc
Nathan Chancellor b0f4b23fc3 drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage
This function consumes a lot of stack space and it blows up the size of
dml30_ModeSupportAndSystemConfigurationFull() with clang:

  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/display_mode_vba_30.c:3542:6: error: stack frame size (2200) exceeds limit (2048) in 'dml30_ModeSupportAndSystemConfigurationFull' [-Werror,-Wframe-larger-than]
  void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_lib)
       ^
  1 error generated.

Commit a0f7e7f759 ("drm/amd/display: fix i386 frame size warning")
aimed to address this for i386 but it did not help x86_64.

To reduce the amount of stack space that
dml30_ModeSupportAndSystemConfigurationFull() uses, mark
UseMinimumDCFCLK() as noinline, using the _for_stack variant for
documentation. While this will increase the total amount of stack usage
between the two functions (1632 and 1304 bytes respectively), it will
make sure both stay below the limit of 2048 bytes for these files. The
aforementioned change does help reduce UseMinimumDCFCLK()'s stack usage
so it should not be reverted in favor of this change.

Link: https://github.com/ClangBuiltLinux/linux/issues/1681
Reported-by: "Sudip Mukherjee (Codethink)" <sudipm.mukherjee@gmail.com>
Tested-by: Maíra Canal <mairacanal@riseup.net>
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2022-09-13 14:33:01 -04:00
..
basics drm/amd/display: Include scaling factor for SubVP command 2022-08-16 18:14:20 -04:00
bios drm/amd/display: Adding log for spread_spectrum_info 2022-09-13 14:33:00 -04:00
clk_mgr drm/amd/display: Correct dram channel width for dcn314 2022-09-13 14:33:00 -04:00
core drm/amd/display: Avoid force minimal transaction in case of surface_count equal to 0 2022-09-13 14:33:00 -04:00
dce drm/amd/display: fix repeated words in comments 2022-09-13 14:32:58 -04:00
dce60 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dce80 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dce100 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dce110 drm/amd/display: Reverted DSC programming sequence change 2022-09-13 14:32:59 -04:00
dce112 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dce120 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dcn10 drm/amd/display: clean up some inconsistent indentings 2022-08-29 18:00:55 -04:00
dcn20 drm/amd/display: Update viewport position for phantom pipes 2022-09-13 14:33:00 -04:00
dcn21 drm/amd/display: avoid doing vm_init multiple time 2022-08-16 18:09:16 -04:00
dcn30 drm/amd/display: update header files 2022-09-13 12:56:08 -04:00
dcn31 drm/amd/display: fix wrong register access 2022-08-29 17:58:48 -04:00
dcn32 drm/amd/display: Fix register definitions for DCN32/321 2022-09-13 14:33:00 -04:00
dcn201 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dcn301 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dcn302 drm/amd/display: Add dc_ctx to link_enc_create() parameters 2022-07-25 17:17:28 -04:00
dcn303 drm/amd/display: Check correct bounds for stream encoder instances for DCN303 2022-08-10 15:30:06 -04:00
dcn314 drm/amd/display: Fixing DIG FIFO Error 2022-09-13 14:32:59 -04:00
dcn315 drm/amd/display: Cleanup PSR flag 2022-08-29 17:58:47 -04:00
dcn316 drm/amd/display: Cleanup PSR flag 2022-08-29 17:58:47 -04:00
dcn321 drm/amd/display: Fix register definitions for DCN32/321 2022-09-13 14:33:00 -04:00
dml drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage 2022-09-13 14:33:01 -04:00
dsc drm/amd: Fix spelling typo in comments 2022-06-03 16:43:36 -04:00
gpio drm/amd/display: Enable DCN314 in DC 2022-07-13 20:57:05 -04:00
hdcp drm/amd/display: Enforce DPCD Address ranges 2021-06-15 17:25:41 -04:00
inc drm/amd/display: Update viewport position for phantom pipes 2022-09-13 14:33:00 -04:00
irq drm/amd/display: Support vertical interrupt 0 for all dcn ASIC 2022-07-20 16:04:11 -04:00
link drm/amd/display: Fix DCN32 DPSTREAMCLK_CNTL programming 2022-08-29 17:45:10 -04:00
virtual drm/amd/display: Move all linux includes into OS types 2022-07-05 16:16:49 -04:00
dc.h drm/amd/display: 3.2.202 2022-09-13 14:33:00 -04:00
dc_bios_types.h drm/amd/display: Add dependant changes for DCN32/321 2022-06-03 16:43:38 -04:00
dc_ddc_types.h drm/amd/display: Support for DMUB AUX 2021-03-02 14:05:41 -05:00
dc_dmub_srv.c drm/amd/display: Refactor SubVP calculation to remove FPU 2022-09-13 14:33:00 -04:00
dc_dmub_srv.h drm/amd/display: Add support for visual confirm color 2022-08-29 17:58:47 -04:00
dc_dp_types.h drm/amd/display: add support for handling 128b/132b link training test request 2022-04-05 10:29:48 -04:00
dc_dsc.h drm/amd/display: move bpp range decision in decide dsc bw range function 2021-09-14 15:57:09 -04:00
dc_edid_parser.c drm/amd/display: Add Freesync HDMI support to DMCU 2021-02-02 12:11:41 -05:00
dc_edid_parser.h drm/amd/display: Add Freesync HDMI support to DMCU 2021-02-02 12:11:41 -05:00
dc_helper.c drm/amd/display: Support synchronized indirect reg access 2022-01-25 18:00:35 -05:00
dc_hw_types.h drm/amd/display: Expand documentation for timing 2022-08-16 18:14:31 -04:00
dc_link.h drm/amd/display: Add comments. 2022-08-29 17:59:29 -04:00
dc_stat.h drm/amd/display: DMUB Outbound Interrupt Process-X86 2021-07-08 15:14:36 -04:00
dc_stream.h drm/amd/display: HDMI ODM Combine Policy Correction 2022-08-25 13:34:40 -04:00
dc_trace.h drm/amd/display: Add control mechanism for FPU utilization 2021-08-05 21:17:59 -04:00
dc_types.h drm/amd/display: Add NBIO reg offsets to DC 2022-07-13 11:25:17 -04:00
dm_cp_psp.h drm/amd/display: unhard code link to phy idx mapping in dc link and clean up 2022-01-07 17:21:20 -05:00
dm_event_log.h drm/amd/display: Add customizable tracing event 2018-11-30 12:02:49 -05:00
dm_helpers.h Merge tag 'amd-drm-next-6.1-2022-09-08' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2022-09-12 19:17:41 +10:00
dm_pp_smu.h drm/amdgpu/pm: display vcn pp dpm (v4) 2021-05-21 10:31:55 -04:00
dm_services.h drm/amd/display: Decouple amdgpu_dm_trace from service 2020-10-26 13:33:59 -04:00
dm_services_types.h drm/amd/display: Add definition for number of backlight data points 2019-12-18 16:09:08 -05:00
irq_types.h drm/amd/display: Remove underflow IRQ type 2022-04-05 10:29:47 -04:00
Makefile drm/amd/display: Enable building new display engine with KCOV enabled 2022-07-18 16:42:38 -04:00
os_types.h drm/amd/display: remove repeated includes 2022-07-07 15:55:39 -04:00