[PATCH] drm/amd/powerplay: OD setting fix on Vega10
Quan, Evan
Evan.Quan at amd.com
Mon Jan 21 08:28:34 UTC 2019
Reviewed-by: Evan Quan <evan.quan at amd.com>
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of
> Kenneth Feng
> Sent: 2019年1月21日 16:17
> To: amd-gfx at lists.freedesktop.org
> Cc: Feng, Kenneth <Kenneth.Feng at amd.com>
> Subject: [PATCH] drm/amd/powerplay: OD setting fix on Vega10
>
> gfxclk for OD setting is limited to 1980M for non-acg ASICs of Vega10
>
> Signed-off-by: Kenneth Feng <kenneth.feng at amd.com>
> ---
> .../amd/powerplay/hwmgr/vega10_processpptables.c | 22
> +++++++++++++++++++++-
> 1 file changed, 21 insertions(+), 1 deletion(-)
>
> diff --git
> a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c
> b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c
> index b8747a5..99d596d 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c
> @@ -32,6 +32,7 @@
> #include "vega10_pptable.h"
>
> #define NUM_DSPCLK_LEVELS 8
> +#define VEGA10_ENGINECLOCK_HARDMAX 198000
>
> static void set_hw_cap(struct pp_hwmgr *hwmgr, bool enable,
> enum phm_platform_caps cap)
> @@ -258,7 +259,26 @@ static int init_over_drive_limits(
> struct pp_hwmgr *hwmgr,
> const ATOM_Vega10_POWERPLAYTABLE *powerplay_table)
> {
> - hwmgr->platform_descriptor.overdriveLimit.engineClock =
> + const ATOM_Vega10_GFXCLK_Dependency_Table
> *gfxclk_dep_table =
> + (const ATOM_Vega10_GFXCLK_Dependency_Table *)
> + (((unsigned long) powerplay_table) +
> + le16_to_cpu(powerplay_table-
> >usGfxclkDependencyTableOffset));
> + bool is_acg_enabled = false;
> + ATOM_Vega10_GFXCLK_Dependency_Record_V2
> *patom_record_v2;
> +
> + if (gfxclk_dep_table->ucRevId == 1) {
> + patom_record_v2 =
> + (ATOM_Vega10_GFXCLK_Dependency_Record_V2
> *)gfxclk_dep_table->entries;
> + is_acg_enabled =
> + (bool)patom_record_v2[gfxclk_dep_table-
> >ucNumEntries-1].ucACGEnable;
> + }
> +
> + if (powerplay_table->ulMaxODEngineClock >
> VEGA10_ENGINECLOCK_HARDMAX &&
> + !is_acg_enabled)
> + hwmgr->platform_descriptor.overdriveLimit.engineClock =
> + VEGA10_ENGINECLOCK_HARDMAX;
> + else
> + hwmgr->platform_descriptor.overdriveLimit.engineClock =
> le32_to_cpu(powerplay_table-
> >ulMaxODEngineClock);
> hwmgr->platform_descriptor.overdriveLimit.memoryClock =
> le32_to_cpu(powerplay_table-
> >ulMaxODMemoryClock);
> --
> 2.7.4
>
> _______________________________________________
> 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