drm/amd/powerplay: Enable/Disable NBPSTATE on On/OFF of UVD
authorAkshu Agrawal <akshu.agrawal@amd.com>
Mon, 24 Sep 2018 10:18:02 +0000 (15:48 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 9 Oct 2018 22:01:03 +0000 (17:01 -0500)
We observe black lines (underflow) on display when playing a
4K video with UVD. On Disabling Low memory P state this issue is
not seen.
Multiple runs of power measurement shows no imapct.

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Signed-off-by: Satyajit Sahu <satyajit.sahu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/powerplay/hwmgr/smu8_hwmgr.c

index 53cf787..fef111d 100644 (file)
@@ -1228,14 +1228,17 @@ static int smu8_dpm_force_dpm_level(struct pp_hwmgr *hwmgr,
 
 static int smu8_dpm_powerdown_uvd(struct pp_hwmgr *hwmgr)
 {
-       if (PP_CAP(PHM_PlatformCaps_UVDPowerGating))
+       if (PP_CAP(PHM_PlatformCaps_UVDPowerGating)) {
+               smu8_nbdpm_pstate_enable_disable(hwmgr, true, true);
                return smum_send_msg_to_smc(hwmgr, PPSMC_MSG_UVDPowerOFF);
+       }
        return 0;
 }
 
 static int smu8_dpm_powerup_uvd(struct pp_hwmgr *hwmgr)
 {
        if (PP_CAP(PHM_PlatformCaps_UVDPowerGating)) {
+               smu8_nbdpm_pstate_enable_disable(hwmgr, false, true);
                return smum_send_msg_to_smc_with_parameter(
                        hwmgr,
                        PPSMC_MSG_UVDPowerON,