> -----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