[PATCH] drm/amd/powerplay: refine vce dpm update code on Cz.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Rex Zhu
> Sent: Tuesday, January 10, 2017 8:28 AM
> To: amd-gfx at lists.freedesktop.org
> Cc: Zhu, Rex
> Subject: [PATCH] drm/amd/powerplay: refine vce dpm update code on Cz.
> 
> Program HardMin based on the vce_arbiter.ecclk
> if ecclk is 0, disable ECLK DPM 0. Otherwise VCE
> could hang if switching SCLK from DPM 0 to 6/7
> 
> Change-Id: Ied5b1630a0322678601cf5744bd1ba6b3b42ca23
> Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>

Acked-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 24
> ++++++++++++++++--------
>  1 file changed, 16 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
> b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
> index 0668b0b..a4cde3d 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
> @@ -1407,14 +1407,22 @@ int  cz_dpm_update_vce_dpm(struct pp_hwmgr
> *hwmgr)
>  					     cz_hwmgr-
> >vce_dpm.hard_min_clk,
> 
> 	PPSMC_MSG_SetEclkHardMin));
>  	} else {
> -		/*EPR# 419220 -HW limitation to to */
> -		cz_hwmgr->vce_dpm.hard_min_clk = hwmgr-
> >vce_arbiter.ecclk;
> -		smum_send_msg_to_smc_with_parameter(hwmgr-
> >smumgr,
> -					    PPSMC_MSG_SetEclkHardMin,
> -					    cz_get_eclk_level(hwmgr,
> -				     cz_hwmgr->vce_dpm.hard_min_clk,
> -					  PPSMC_MSG_SetEclkHardMin));
> -
> +		/*Program HardMin based on the vce_arbiter.ecclk */
> +		if (hwmgr->vce_arbiter.ecclk == 0) {
> +			smum_send_msg_to_smc_with_parameter(hwmgr-
> >smumgr,
> +					    PPSMC_MSG_SetEclkHardMin, 0);
> +		/* disable ECLK DPM 0. Otherwise VCE could hang if
> +		 * switching SCLK from DPM 0 to 6/7 */
> +			smum_send_msg_to_smc_with_parameter(hwmgr-
> >smumgr,
> +					PPSMC_MSG_SetEclkSoftMin, 1);
> +		} else {
> +			cz_hwmgr->vce_dpm.hard_min_clk = hwmgr-
> >vce_arbiter.ecclk;
> +			smum_send_msg_to_smc_with_parameter(hwmgr-
> >smumgr,
> +
> 	PPSMC_MSG_SetEclkHardMin,
> +						cz_get_eclk_level(hwmgr,
> +						cz_hwmgr-
> >vce_dpm.hard_min_clk,
> +
> 	PPSMC_MSG_SetEclkHardMin));
> +		}
>  	}
>  	return 0;
>  }
> --
> 1.9.1
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux