[PATCH 3/4] drm/amd/powerplay: Align with VBIOS to support AVFS parameters.
Deucher, Alexander
Alexander.Deucher at amd.com
Wed May 31 15:04:39 UTC 2017
> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Rex Zhu
> Sent: Wednesday, May 31, 2017 8:16 AM
> To: amd-gfx at lists.freedesktop.org
> Cc: Zhu, Rex
> Subject: [PATCH 3/4] drm/amd/powerplay: Align with VBIOS to support AVFS
> parameters.
>
> Change-Id: I2a98edd3fb4c5b83520df772ebd61a962c73e5ca
> Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/include/atomfirmware.h | 12 ++++++------
> drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c | 12 ++++++------
> drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 4 ++--
> 3 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h
> b/drivers/gpu/drm/amd/include/atomfirmware.h
> index d386875..0021a1c 100644
> --- a/drivers/gpu/drm/amd/include/atomfirmware.h
> +++ b/drivers/gpu/drm/amd/include/atomfirmware.h
> @@ -1206,10 +1206,10 @@ struct atom_asic_profiling_info_v4_1
> uint32_t gb_vdroop_table_ckson_a1;
> uint32_t gb_vdroop_table_ckson_a2;
> uint32_t avfsgb_fuse_table_cksoff_m1;
> - uint16_t avfsgb_fuse_table_cksoff_m2;
> + uint32_t avfsgb_fuse_table_cksoff_m2;
> uint32_t avfsgb_fuse_table_cksoff_b;
> uint32_t avfsgb_fuse_table_ckson_m1;
> - uint16_t avfsgb_fuse_table_ckson_m2;
> + uint32_t avfsgb_fuse_table_ckson_m2;
> uint32_t avfsgb_fuse_table_ckson_b;
> uint16_t max_voltage_0_25mv;
> uint8_t enable_gb_vdroop_table_cksoff;
> @@ -1220,16 +1220,16 @@ struct atom_asic_profiling_info_v4_1
> uint8_t enable_apply_avfs_cksoff_voltage;
> uint8_t reserved;
> uint32_t dispclk2gfxclk_a;
> - uint16_t dispclk2gfxclk_b;
> + uint32_t dispclk2gfxclk_b;
> uint32_t dispclk2gfxclk_c;
> uint32_t pixclk2gfxclk_a;
> - uint16_t pixclk2gfxclk_b;
> + uint32_t pixclk2gfxclk_b;
> uint32_t pixclk2gfxclk_c;
> uint32_t dcefclk2gfxclk_a;
> - uint16_t dcefclk2gfxclk_b;
> + uint32_t dcefclk2gfxclk_b;
> uint32_t dcefclk2gfxclk_c;
> uint32_t phyclk2gfxclk_a;
> - uint16_t phyclk2gfxclk_b;
> + uint32_t phyclk2gfxclk_b;
> uint32_t phyclk2gfxclk_c;
> };
>
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
> b/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
> index 1ba05cc..720d500 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
> @@ -315,13 +315,13 @@ int pp_atomfwctrl_get_avfs_information(struct
> pp_hwmgr *hwmgr,
> param->ulGbFuseTableCksoffM1 =
> le32_to_cpu(profile-
> >avfsgb_fuse_table_cksoff_m1);
> param->ulGbFuseTableCksoffM2 =
> - le16_to_cpu(profile-
> >avfsgb_fuse_table_cksoff_m2);
> + le32_to_cpu(profile-
> >avfsgb_fuse_table_cksoff_m2);
> param->ulGbFuseTableCksoffB =
> le32_to_cpu(profile->avfsgb_fuse_table_cksoff_b);
> param->ulGbFuseTableCksonM1 =
> le32_to_cpu(profile-
> >avfsgb_fuse_table_ckson_m1);
> param->ulGbFuseTableCksonM2 =
> - le16_to_cpu(profile-
> >avfsgb_fuse_table_ckson_m2);
> + le32_to_cpu(profile-
> >avfsgb_fuse_table_ckson_m2);
> param->ulGbFuseTableCksonB =
> le32_to_cpu(profile->avfsgb_fuse_table_ckson_b);
>
> @@ -335,25 +335,25 @@ int pp_atomfwctrl_get_avfs_information(struct
> pp_hwmgr *hwmgr,
> param->ulDispclk2GfxclkM1 =
> le32_to_cpu(profile->dispclk2gfxclk_a);
> param->ulDispclk2GfxclkM2 =
> - le16_to_cpu(profile->dispclk2gfxclk_b);
> + le32_to_cpu(profile->dispclk2gfxclk_b);
> param->ulDispclk2GfxclkB =
> le32_to_cpu(profile->dispclk2gfxclk_c);
> param->ulDcefclk2GfxclkM1 =
> le32_to_cpu(profile->dcefclk2gfxclk_a);
> param->ulDcefclk2GfxclkM2 =
> - le16_to_cpu(profile->dcefclk2gfxclk_b);
> + le32_to_cpu(profile->dcefclk2gfxclk_b);
> param->ulDcefclk2GfxclkB =
> le32_to_cpu(profile->dcefclk2gfxclk_c);
> param->ulPixelclk2GfxclkM1 =
> le32_to_cpu(profile->pixclk2gfxclk_a);
> param->ulPixelclk2GfxclkM2 =
> - le16_to_cpu(profile->pixclk2gfxclk_b);
> + le32_to_cpu(profile->pixclk2gfxclk_b);
> param->ulPixelclk2GfxclkB =
> le32_to_cpu(profile->pixclk2gfxclk_c);
> param->ulPhyclk2GfxclkM1 =
> le32_to_cpu(profile->phyclk2gfxclk_a);
> param->ulPhyclk2GfxclkM2 =
> - le16_to_cpu(profile->phyclk2gfxclk_b);
> + le32_to_cpu(profile->phyclk2gfxclk_b);
> param->ulPhyclk2GfxclkB =
> le32_to_cpu(profile->phyclk2gfxclk_c);
>
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
> b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
> index 30bc053..971f789 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
> @@ -2097,7 +2097,7 @@ static int vega10_populate_avfs_parameters(struct
> pp_hwmgr *hwmgr)
> pp_table->AvfsGbCksOn.m1 =
>
> cpu_to_le32(avfs_params.ulGbFuseTableCksonM1);
> pp_table->AvfsGbCksOn.m2 =
> -
> cpu_to_le16(avfs_params.ulGbFuseTableCksonM2);
> +
> cpu_to_le32(avfs_params.ulGbFuseTableCksonM2);
> pp_table->AvfsGbCksOn.b =
>
> cpu_to_le32(avfs_params.ulGbFuseTableCksonB);
> pp_table->AvfsGbCksOn.m1_shift = 24;
> @@ -2109,7 +2109,7 @@ static int vega10_populate_avfs_parameters(struct
> pp_hwmgr *hwmgr)
> pp_table->AvfsGbCksOff.m1 =
>
> cpu_to_le32(avfs_params.ulGbFuseTableCksoffM1);
> pp_table->AvfsGbCksOff.m2 =
> -
> cpu_to_le16(avfs_params.ulGbFuseTableCksoffM2);
> +
> cpu_to_le32(avfs_params.ulGbFuseTableCksoffM2);
> pp_table->AvfsGbCksOff.b =
>
> cpu_to_le32(avfs_params.ulGbFuseTableCksoffB);
> pp_table->AvfsGbCksOff.m1_shift = 24;
> --
> 1.9.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