[PATCH] drm/amd/powerplay free driver_pptable for smu reinit

Quan, Evan Evan.Quan at amd.com
Thu Dec 26 08:07:20 UTC 2019


As I know, the smu hw reinit is not on the path of gpu recover.
Can you help me understand the use case?

Regards,
Evan
> -----Original Message-----
> From: Zhang, Jack (Jian) <Jack.Zhang1 at amd.com>
> Sent: Thursday, December 26, 2019 10:58 AM
> To: Wang, Kevin(Yang) <Kevin1.Wang at amd.com>; Feng, Kenneth
> <Kenneth.Feng at amd.com>; Quan, Evan <Evan.Quan at amd.com>; Zhang, Jack
> (Jian) <Jack.Zhang1 at amd.com>; amd-gfx at lists.freedesktop.org
> Subject: RE: [PATCH] drm/amd/powerplay free driver_pptable for smu reinit
> 
> Ping...
> 
> -----Original Message-----
> From: Zhang, Jack (Jian)
> Sent: Tuesday, December 24, 2019 1:05 PM
> To: Wang, Kevin(Yang) <Kevin1.Wang at amd.com>; Feng, Kenneth
> <Kenneth.Feng at amd.com>; Quan, Evan <Evan.Quan at amd.com>; Jack Zhang
> <Jack.Zhang1 at amd.com>; amd-gfx at lists.freedesktop.org
> Subject: RE: [PATCH] drm/amd/powerplay free driver_pptable for smu reinit
> 
> 
> 
> -----Original Message-----
> From: Jack Zhang <Jack.Zhang1 at amd.com>
> Sent: Tuesday, December 24, 2019 1:05 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Zhang, Jack (Jian) <Jack.Zhang1 at amd.com>
> Subject: [PATCH] drm/amd/powerplay free driver_pptable for smu reinit
> 
> During gpu recover, smu hw reinit will fail becasue table_context-
> >driver_pptable is not freed and set to NULL.
> 
> Free the driver_pptable pointer if it's not NULL.
> 
> Signed-off-by: Jack Zhang <Jack.Zhang1 at amd.com>
> ---
>  drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
> b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
> index 7781d24..ca877bd 100644
> --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
> +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
> @@ -713,8 +713,10 @@ int smu_v11_0_parse_pptable(struct smu_context
> *smu)
>  	struct smu_table_context *table_context = &smu->smu_table;
>  	struct smu_table *table = &table_context-
> >tables[SMU_TABLE_PPTABLE];
> 
> -	if (table_context->driver_pptable)
> -		return -EINVAL;
> +	if (table_context->driver_pptable) {
> +		kfree(table_context->driver_pptable);
> +		table_context->driver_pptable = NULL;
> +	}
> 
>  	table_context->driver_pptable = kzalloc(table->size, GFP_KERNEL);
> 
> --
> 2.7.4



More information about the amd-gfx mailing list