]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amd/display: Fix nested FPU context in dcn21_validate_bandwidth()
authorHolger Hoffstätte <holger@applied-asynchrony.com>
Fri, 5 Mar 2021 11:39:21 +0000 (12:39 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 10 Mar 2021 21:12:44 +0000 (16:12 -0500)
commit6f59797d6de8e53421315d379eb540d4f686ce4d
treeb90a38aa32a902428d20b2790085226e8a00621f
parent6940825d53c52a9f38c8e8b381f9253fa7cd7952
drm/amd/display: Fix nested FPU context in dcn21_validate_bandwidth()

Commit ad5697daf1c6 added FPU wrappers to dcn21_validate_bandwidth(),
which was correct. Unfortunately a nested function alredy contained
DC_FP_START()/DC_FP_END() calls, which results in nested FPU context
enter/exit and complaints by kernel_fpu_begin_mask().
This can be observed e.g. with 5.10.20, which backported ad5697daf1c6
and now emits the following warning on boot:

WARNING: CPU: 6 PID: 858 at arch/x86/kernel/fpu/core.c:129 kernel_fpu_begin_mask+0xa5/0xc0
Call Trace:
 dcn21_calculate_wm+0x47/0xa90 [amdgpu]
 dcn21_validate_bandwidth_fp+0x15d/0x2b0 [amdgpu]
 dcn21_validate_bandwidth+0x29/0x40 [amdgpu]
 dc_validate_global_state+0x3c7/0x4c0 [amdgpu]

The warning is emitted due to the additional DC_FP_START/END calls in
patch_bounding_box(), which is inlined into dcn21_calculate_wm(),
its only caller. Removing the calls brings the code in line with
dcn20 and makes the warning disappear.

Fixes: ad5697daf1c6 ("drm/amd/display: Add FPU wrappers to dcn21_validate_bandwidth()")
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c