> -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf > Of Rex Zhu > Sent: Tuesday, November 29, 2016 6:24 AM > To: amd-gfx at lists.freedesktop.org > Cc: Zhu, Rex > Subject: [PATCH 2/2] drm/amd/powerplay: disable cg pg task when pp > uninitialize. > > fix bug on uvd pg enabled, when reboot vm in pass through case, > we need to notify smu power up uvd/vce if they were power down. > otherwise, the vbios post will fail. > > Change-Id: I5df801ab0f6105be550fbbbd98dbf8329357784a > Signed-off-by: Rex Zhu <Rex.Zhu at amd.com> For the series: Reviewed-by: Alex Deucher <alexander.deucher at amd.com> > --- > drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c | 2 +- > drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 13 > +++++++++++++ > drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h | 1 + > 3 files changed, 15 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c > b/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c > index b6f45fd..ec36c0e 100644 > --- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c > +++ b/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c > @@ -154,7 +154,7 @@ int pem_task_powerdown_vce_tasks(struct > pp_eventmgr *eventmgr, struct pem_event_ > > int pem_task_disable_clock_power_gatings_tasks(struct pp_eventmgr > *eventmgr, struct pem_event_data *event_data) > { > - /* TODO */ > + phm_disable_clock_power_gatings(eventmgr->hwmgr); > return 0; > } > > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > index 0723758..c355a0f 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > @@ -209,6 +209,19 @@ int phm_enable_clock_power_gatings(struct > pp_hwmgr *hwmgr) > return 0; > } > > +int phm_disable_clock_power_gatings(struct pp_hwmgr *hwmgr) > +{ > + PHM_FUNC_CHECK(hwmgr); > + > + if (phm_cap_enabled(hwmgr->platform_descriptor.platformCaps, > + PHM_PlatformCaps_TablelessHardwareInterface)) { > + if (NULL != hwmgr->hwmgr_func- > >disable_clock_power_gating) > + return hwmgr->hwmgr_func- > >disable_clock_power_gating(hwmgr); > + } > + return 0; > +} > + > + > int phm_display_configuration_changed(struct pp_hwmgr *hwmgr) > { > PHM_FUNC_CHECK(hwmgr); > diff --git a/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h > b/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h > index d449583..2612997 100644 > --- a/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h > +++ b/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h > @@ -334,6 +334,7 @@ struct phm_clocks { > uint32_t clock[MAX_NUM_CLOCKS]; > }; > > +extern int phm_disable_clock_power_gatings(struct pp_hwmgr *hwmgr); > extern int phm_enable_clock_power_gatings(struct pp_hwmgr *hwmgr); > extern int phm_powergate_uvd(struct pp_hwmgr *hwmgr, bool gate); > extern int phm_powergate_vce(struct pp_hwmgr *hwmgr, bool gate); > -- > 1.9.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx