[PATCH] drm/amd/display: fix kernel_fpu_begin/_end() warnings
Harry Wentland
hwentlan at amd.com
Mon Dec 23 15:21:02 UTC 2019
On 2019-12-22 10:22 p.m., Xiaojie Yuan wrote:
> kernel_fpu_begin/_end() are already called inside dcn20_resource_construct,
> and calling kernel_fpu_begin/_end() recursively triggers WARN_ON() when
> CONFIG_X86_DEBUG_FPU is enabled.
>
> [ 107.060434] WARNING: CPU: 6 PID: 1370 at arch/x86/kernel/fpu/core.c:90 kernel_fpu_begin+0xbd/0xe0
> <snip>
> [ 107.268197] Call Trace:
> [ 107.270751] dcn20_patch_bounding_box+0x17/0x100 [amdgpu]
> [ 107.276204] init_soc_bounding_box+0x1b3/0x5f0 [amdgpu]
> [ 107.281536] ? _cond_resched+0x19/0x30
> [ 107.285307] dcn20_resource_construct+0x3a9/0xa90 [amdgpu]
> [ 107.290957] ? dcn20_resource_construct+0x3a9/0xa90 [amdgpu]
> [ 107.296621] ? __alloc_pages_nodemask+0x16a/0x330
> [ 107.301476] ? _cond_resched+0x19/0x30
> [ 107.305284] ? kmem_cache_alloc_trace+0x197/0x230
> [ 107.310063] ? _cond_resched+0x19/0x30
> [ 107.313783] ? kmem_cache_alloc_trace+0x197/0x230
> [ 107.318691] dcn20_create_resource_pool+0x42/0x70 [amdgpu]
> [ 107.324315] dc_create_resource_pool+0x12d/0x170 [amdgpu]
> [ 107.329851] dc_create+0x1b8/0x6a0 [amdgpu]
> [ 107.334013] ? kmem_cache_alloc_trace+0x1e2/0x230
> [ 107.338832] amdgpu_dm_init+0x13e/0x1c0 [amdgpu]
> <snip>
>
> Signed-off-by: Xiaojie Yuan <xiaojie.yuan at amd.com>
Reviewed-by: Harry Wentland <harry.wentland at amd.com>
Harry
> ---
> drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
> index d72e921fffa0..9f346ffb6e78 100644
> --- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
> @@ -3225,7 +3225,6 @@ void dcn20_update_bounding_box(struct dc *dc, struct _vcs_dpi_soc_bounding_box_s
>
> void dcn20_patch_bounding_box(struct dc *dc, struct _vcs_dpi_soc_bounding_box_st *bb)
> {
> - DC_FP_START();
> if ((int)(bb->sr_exit_time_us * 1000) != dc->bb_overrides.sr_exit_time_ns
> && dc->bb_overrides.sr_exit_time_ns) {
> bb->sr_exit_time_us = dc->bb_overrides.sr_exit_time_ns / 1000.0;
> @@ -3249,7 +3248,6 @@ void dcn20_patch_bounding_box(struct dc *dc, struct _vcs_dpi_soc_bounding_box_st
> bb->dram_clock_change_latency_us =
> dc->bb_overrides.dram_clock_change_latency_ns / 1000.0;
> }
> - DC_FP_END();
> }
>
> static struct _vcs_dpi_soc_bounding_box_st *get_asic_rev_soc_bb(
>
More information about the amd-gfx
mailing list