1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/amd/display/dc
Nathan Chancellor 6740ec97bc drm/amd/display: Increase frame warning limit with KASAN or KCSAN in dml2
When building ARCH=x86_64 allmodconfig with clang, which will typically
have sanitizers enabled, there is a warning about a large stack frame.

  drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6265:13: error: stack frame size (2520) exceeds limit (2048) in 'dml_prefetch_check' [-Werror,-Wframe-larger-than]
   6265 | static void dml_prefetch_check(struct display_mode_lib_st *mode_lib)
        |             ^
  1 error generated.

Notably, GCC 13.2.0 does not do too much of a better job, as it is right
at the current limit of 2048 (and others have reported being over with
older GCC versions):

  drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c: In function 'dml_prefetch_check':
  drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6705:1: error: the frame size of 2048 bytes is larger than 1800 bytes [-Werror=frame-larger-than=]
   6705 | }
        | ^

In the past, these warnings have been avoided by reducing the number of
parameters to various functions so that not as many arguments need to be
passed on the stack. However, these patches take a good amount of effort
to write despite being mechanical due to code structure and complexity
and they are never carried forward to new generations of the code so
that effort has to be expended every new hardware generation, which
becomes harder to justify as time goes on.

To avoid having a noticeable or lengthy breakage in all{mod,yes}config,
which are easy testing targets that have -Werror enabled, increase the
limit for configurations that have KASAN or KCSAN enabled by 50% so that
cases of extremely poor code generation can still be caught while not
breaking the majority of builds. CONFIG_KMSAN also causes high stack
usage but the frame limit is already set to zero when it is enabled,
which is accounted for by the check for CONFIG_FRAME_WARN=0 in the dml2
Makefile.

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2023-11-03 11:59:52 -04:00
..
basics drm/amd/display: Move bw_fixed from DML folder 2023-10-09 16:48:37 -04:00
bios drm/amd/display: Improve code style on bios_parser2 2023-09-26 17:00:21 -04:00
clk_mgr drm/amd/display: Fix IPS handshake for idle optimizations 2023-10-26 18:57:58 -04:00
core drm/amd/display: Avoid NULL dereference of timing generator 2023-11-03 11:59:51 -04:00
dce drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
dce60 drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
dce80 drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
dce100 drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
dce110 drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
dce112 drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
dce120 drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
dcn10 drm/amd/display: Set the DML2 attribute to false in all DCNs older than version 3.5 2023-10-26 18:41:22 -04:00
dcn20 drm/amd/display: Set the DML2 attribute to false in all DCNs older than version 3.5 2023-10-26 18:41:22 -04:00
dcn21 drm/amd/display: Set the DML2 attribute to false in all DCNs older than version 3.5 2023-10-26 18:41:22 -04:00
dcn30 drm/amd/display: Set the DML2 attribute to false in all DCNs older than version 3.5 2023-10-26 18:41:22 -04:00
dcn31 drm/amd/display: Fix copyright notice in DC code 2023-10-26 18:41:23 -04:00
dcn32 drm/amd/display: add interface to query SubVP status 2023-10-26 19:02:31 -04:00
dcn35 drm/amd/display: Fix IPS handshake for idle optimizations 2023-10-26 18:57:58 -04:00
dcn201 drm/amd/display: Set the DML2 attribute to false in all DCNs older than version 3.5 2023-10-26 18:41:22 -04:00
dcn301 drm/amd/display: Set the DML2 attribute to false in all DCNs older than version 3.5 2023-10-26 18:41:22 -04:00
dcn302 drm/amd/display: Set the DML2 attribute to false in all DCNs older than version 3.5 2023-10-26 18:41:22 -04:00
dcn303 drm/amd/display: Fix copyright notice in DC code 2023-10-26 18:41:23 -04:00
dcn314 drm/amd/display: Disable SYMCLK32_SE RCO on DCN314 2023-10-26 19:02:13 -04:00
dcn315 drm/amd/display: Set the DML2 attribute to false in all DCNs older than version 3.5 2023-10-26 18:41:22 -04:00
dcn316 drm/amd/display: Set the DML2 attribute to false in all DCNs older than version 3.5 2023-10-26 18:41:22 -04:00
dcn321 drm/amd/display: add interface to query SubVP status 2023-10-26 19:02:31 -04:00
dml drm/amd/display: clean up some inconsistent indentings 2023-10-20 15:11:27 -04:00
dml2 drm/amd/display: Increase frame warning limit with KASAN or KCSAN in dml2 2023-11-03 11:59:52 -04:00
dsc drm/amd/display: Add link encoding to timing BW calculation parameters 2023-07-18 11:15:51 -04:00
gpio drm/amd/display: Add DCN35 GPIO 2023-08-30 15:51:14 -04:00
hdcp drm/amd/display: Fix copyright notice in DC code 2023-10-26 18:41:23 -04:00
hwss drm/amd/display: Fix shaper using bad LUT params 2023-10-26 19:02:06 -04:00
inc drm/amd/display: Add a check for idle power optimization 2023-10-26 18:57:15 -04:00
irq drm/amd/display: Fix copyright notice in DC code 2023-10-26 18:41:23 -04:00
link drm/amd/display: Read before writing Backlight Mode Set Register 2023-10-26 19:02:22 -04:00
virtual drm/amd/display: make virtual_disable_link_output static 2022-10-11 11:32:59 -04:00
dc.h drm/amd/display: 3.2.256 2023-10-26 19:02:37 -04:00
dc_bios_types.h drm/amd/display: Skip backlight control delay on external powered links 2023-01-17 15:40:28 -05:00
dc_ddc_types.h drm/amd/display: move public dc link function implementation to dc_link_exports 2023-02-14 16:06:28 -05:00
dc_dmub_srv.c drm/amd/display: Fix IPS handshake for idle optimizations 2023-10-26 18:57:58 -04:00
dc_dmub_srv.h drm/amd/display: Add DCN35 DMUB 2023-08-30 15:51:15 -04:00
dc_dp_types.h drm/amd/display: Remove unused DPCD declarations 2023-09-28 15:36:00 -04:00
dc_dsc.h drm/amd/display: Add link encoding to timing BW calculation parameters 2023-07-18 11:15:51 -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_hdmi_types.h drm/amd/display/dc/dc_hdmi_types: Move string definition to the only file it's used in 2023-03-22 00:47:59 -04:00
dc_helper.c drm/amd/display: switch DC over to the new DRM logging macros 2023-09-26 17:00:21 -04:00
dc_hw_types.h drm/amd/display: Adjust code style for hw_sequencer.h 2023-10-04 18:42:41 -04:00
dc_stat.h drm/amd/display: DMUB Outbound Interrupt Process-X86 2021-07-08 15:14:36 -04:00
dc_stream.h Revert "drm/amd/display: Disable DWB frame capture to emulate oneshot" 2023-10-13 11:04:30 -04:00
dc_trace.h drm/amd/display: Add events log to trace OPTC lock and unlock 2022-10-24 14:36:06 -04:00
dc_types.h drm/amd/display: switch DC over to the new DRM logging macros 2023-09-26 17:00:21 -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
dm_helpers.h drm/amd/display: Enable Freesync over PCon 2023-01-31 14:00:44 -05: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: Show the DCN/DCE version in the log 2023-06-09 09:34:09 -04:00
dm_services_types.h drm/amd/display: refactor dmub commands into single function 2023-04-18 16:28:52 -04:00
irq_types.h drm/amd/display: Correct enum typo 2023-10-26 18:59:56 -04:00
Makefile drm/amd/display: Refactor HWSS into component folder 2023-10-09 17:00:09 -04:00
os_types.h drm/amd/display: switch DC over to the new DRM logging macros 2023-09-26 17:00:21 -04:00