[PATCH 9/9] drm/amdgpu/powerplay/vega120: only use PrepareMp1ForUnload for mode1 reset

Quan, Evan Evan.Quan at amd.com
Wed Jul 24 06:43:48 UTC 2019


Patch1 - 6: Reviewed-by: Evan Quan <evan.quan at amd.com>

Patch7 - 9: I think suspend needs also be taken into consideration as vega20_power_off_asic() is also on the suspend path.
                    That means even if the default asic method is baco, you may still need using PrepareMp1ForUnload() for suspend case.

BTW there is typo for patch9 header. The "vega120" should be "vega20".

Regards,
Evan
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Alex
> Deucher
> Sent: Wednesday, July 24, 2019 1:00 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>
> Subject: [PATCH 9/9] drm/amdgpu/powerplay/vega120: only use
> PrepareMp1ForUnload for mode1 reset
> 
> Use PrepareMp1ForUnload for mode1 reset and PrepareMp1ForShutdown
> for baco reset.
> 
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>  .../gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c | 18
> ++++++++++++++----
>  1 file changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c
> b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c
> index e16d6654692f..c3d2b32f0b66 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c
> @@ -3756,6 +3756,7 @@ static int vega20_disable_dpm_tasks(struct
> pp_hwmgr *hwmgr)  static int vega20_power_off_asic(struct pp_hwmgr
> *hwmgr)  {
>  	struct vega20_hwmgr *data = (struct vega20_hwmgr *)(hwmgr-
> >backend);
> +	struct amdgpu_device *adev = hwmgr->adev;
>  	int result;
> 
>  	result = vega20_disable_dpm_tasks(hwmgr); @@ -3764,10 +3765,19
> @@ static int vega20_power_off_asic(struct pp_hwmgr *hwmgr)
>  			);
>  	data->water_marks_bitmap &= ~(WaterMarksLoaded);
> 
> -	PP_ASSERT_WITH_CODE((result = smum_send_msg_to_smc(hwmgr,
> -			PPSMC_MSG_PrepareMp1ForUnload)) == 0,
> -			"[PrepareMp1ForUnload] Failed!",
> -			return result);
> +	if (amdgpu_asic_reset_method(adev) ==
> AMD_RESET_METHOD_MODE1) {
> +		PP_ASSERT_WITH_CODE((result =
> +				     smum_send_msg_to_smc(hwmgr,
> +
> PPSMC_MSG_PrepareMp1ForUnload)) == 0,
> +				    "[PrepareMp1ForUnload] Failed!",
> +				    return result);
> +	} else {
> +		PP_ASSERT_WITH_CODE((result =
> +				     smum_send_msg_to_smc(hwmgr,
> +
> PPSMC_MSG_PrepareMp1ForShutdown)) == 0,
> +				    "[PrepareMp1ForUnload] Failed!",
> +				    return result);
> +	}
> 
>  	return result;
>  }
> --
> 2.20.1
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list