[PATCH] Revert "drm/amd/display: dynamically allocate dml2_configuration_options structures"

Arnd Bergmann arnd at arndb.de
Mon Jun 3 21:05:28 UTC 2024


On Mon, Jun 3, 2024, at 22:59, George Zhang wrote:
> This reverts commit 416b5c5eec9e708b31c68f00cb79130f2cfaf7ed.
>
> This patch caused a regression on DCN 3.2 on the IGT test 
> assr-links-suspend, with
> the dmesg warning:
>
> BUG: sleeping function called from invalid context at 
> include/linux/sched/mm.h:306
> in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 449, name: 
> kworker/u64:8


>  static void dcn32_update_bw_bounding_box(struct dc *dc, struct 
> clk_bw_params *bw_params)
>  {
> -	struct dml2_configuration_options *dml2_opt;
> -
> -	dml2_opt = kmemdup(&dc->dml2_options, sizeof(dc->dml2_options), 
> GFP_KERNEL);
> -	if (!dml2_opt)
> -		return;
> +	struct dml2_configuration_options dml2_opt = dc->dml2_options;
> 
>  	DC_FP_START();

This means we also enable floating-point mode inside of an
atomic section. Is that safe?

      Arnd


More information about the amd-gfx mailing list