[PATCH 18/28] drm/amd/display: Remove unnecessary DC_FP_START/DC_FP_END

Alex Deucher alexdeucher at gmail.com
Tue Apr 29 15:04:12 UTC 2025


On Mon, Apr 28, 2025 at 9:57 AM Ray Wu <ray.wu at amd.com> wrote:
>
> From: Alex Hung <alex.hung at amd.com>
>
> [WHY & HOW]
> Remove the unnecessary DC_FP_START/DC_FP_END pair to reduce time in
> preempt_disable. It also fixes "BUG: sleeping function called from
> invalid context" error messages because of calling kzalloc with
> GFP_KERNEL which can sleep.

Is this safe?  If this function uses FP or calls a function which uses
FP, removing these will lead to register corruption.

Alex

>
> Reviewed-by: Aurabindo Pillai <aurabindo.pillai at amd.com>
> Signed-off-by: Alex Hung <alex.hung at amd.com>
> Signed-off-by: Ray Wu <ray.wu at amd.com>
> ---
>  .../gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c  | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
> index 2a59cc61ed8c..944650cb13de 100644
> --- a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
> @@ -2114,8 +2114,6 @@ static bool dcn32_resource_construct(
>  #define REG_STRUCT dccg_regs
>         dccg_regs_init();
>
> -       DC_FP_START();
> -
>         ctx->dc_bios->regs = &bios_regs;
>
>         pool->base.res_cap = &res_cap_dcn32;
> @@ -2501,14 +2499,10 @@ static bool dcn32_resource_construct(
>         if (ASICREV_IS_GC_11_0_3(dc->ctx->asic_id.hw_internal_rev) && (dc->config.sdpif_request_limit_words_per_umc == 0))
>                 dc->config.sdpif_request_limit_words_per_umc = 16;
>
> -       DC_FP_END();
> -
>         return true;
>
>  create_fail:
>
> -       DC_FP_END();
> -
>         dcn32_resource_destruct(pool);
>
>         return false;
> --
> 2.43.0
>


More information about the amd-gfx mailing list