Re: [bug report] drm/amd/display: Simplify the per-CPU usage.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024-02-01 15:18:04 [+0300], Dan Carpenter wrote:
> Hello Sebastian Andrzej Siewior,
Hi Dan,

> The patch de5e73dc6baf: "drm/amd/display: Simplify the per-CPU
> usage." from Sep 21, 2023 (linux-next), leads to the following Smatch
> static checker warning:

Did I introduce that or has it been made visible?
That change adds preempt_disable() to DC_FP_START() but this was there
already, just hidden. For x86 it is done within kernel_fpu_begin().

> drivers/gpu/drm/amd/amdgpu/../display/dc/resource/dcn30/dcn30_resource.c:2385 dcn30_resource_construct() warn: sleeping in atomic context
> drivers/gpu/drm/amd/amdgpu/../display/dc/resource/dcn32/dcn32_resource.c:2136 dcn32_resource_construct() warn: sleeping in atomic context
> 
> drivers/gpu/drm/amd/amdgpu/../display/dc/resource/dcn30/dcn30_resource.c
>     2263 static bool dcn30_resource_construct(
>     2264         uint8_t num_virtual_links,
>     2265         struct dc *dc,
>     2266         struct dcn30_resource_pool *pool)
>     2267 {
…
>     2281 
>     2282         DC_FP_START();
>                  ^^^^^^^^^^^^^^
> Preempt disabled here.
…
>     2383         /* Clock Sources for Pixel Clock*/
>     2384         pool->base.clock_sources[DCN30_CLK_SRC_PLL0] =
> --> 2385                         dcn30_clock_source_create(ctx, ctx->dc_bios,
>                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
> sleeping allocation here.
> 

Correct you are. But there is more. Later is also dccg30_create() and
dcn30_hubbub_create() and probably a few other, too.
Could we please restructure the init-phase so that the memory allocation
happen outside of DC_FP_START(). Is DC_FP_START() even needed here?

> regards,
> dan carpenter

Sebastian




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux