[Intel-gfx] [PATCH] drm/i915: Free all DMC payloads

Souza, Jose jose.souza at intel.com
Mon Aug 9 19:51:35 UTC 2021


On Mon, 2021-08-09 at 12:48 -0700, Lucas De Marchi wrote:
> From: Chris Wilson <chris at chris-wilson.co.uk>
> 
> Free all the DMC payloads, not just DMC_MAIN.
> 
> unreferenced object 0xffff88ff32d4d800 (size 1024):
>   comm "kworker/1:5", pid 701, jiffies 4294904239 (age 109.736s)
>   hex dump (first 32 bytes):
>     40 40 00 0c 03 00 00 00 00 00 00 00 00 00 00 00  @@..............
>     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
>   backtrace:
>     [<00000000ba9d0d95>] dmc_load_work_fn+0x34d/0x510 [i915]
>     [<000000001049fcab>] process_one_work+0x261/0x550
>     [<00000000eeb995ac>] worker_thread+0x49/0x3c0
>     [<0000000021031dc3>] kthread+0x10b/0x140
>     [<000000004a0f69ee>] ret_from_fork+0x1f/0x30
> unreferenced object 0xffff88ff0bde4000 (size 1024):
>   comm "kworker/0:3", pid 708, jiffies 4294904469 (age 108.816s)
>   hex dump (first 32 bytes):
>     40 40 00 0c 01 00 00 00 00 00 00 00 00 00 00 00  @@..............
>     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
>   backtrace:
>     [<00000000ba9d0d95>] dmc_load_work_fn+0x34d/0x510 [i915]
>     [<000000001049fcab>] process_one_work+0x261/0x550
>     [<00000000eeb995ac>] worker_thread+0x49/0x3c0
>     [<0000000021031dc3>] kthread+0x10b/0x140
>     [<000000004a0f69ee>] ret_from_fork+0x1f/0x30


Reviewed-by: José Roberto de Souza <jose.souza at intel.com>

> 
> Fixes: 3d5928a168a9 ("drm/i915/xelpd: Pipe A DMC plugging")
> Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
> Cc: José Roberto de Souza <jose.souza at intel.com>
> Signed-off-by: Chris Wilson <chris.p.wilson at intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dmc.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c
> index 3c3c6cb5c0df..b3c8e1c450ef 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> @@ -805,11 +805,14 @@ void intel_dmc_ucode_resume(struct drm_i915_private *dev_priv)
>   */
>  void intel_dmc_ucode_fini(struct drm_i915_private *dev_priv)
>  {
> +	int id;
> +
>  	if (!HAS_DMC(dev_priv))
>  		return;
>  
>  	intel_dmc_ucode_suspend(dev_priv);
>  	drm_WARN_ON(&dev_priv->drm, dev_priv->dmc.wakeref);
>  
> -	kfree(dev_priv->dmc.dmc_info[DMC_FW_MAIN].payload);
> +	for (id = 0; id < DMC_FW_MAX; id++)
> +		kfree(dev_priv->dmc.dmc_info[id].payload);
>  }



More information about the Intel-gfx mailing list