[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