Commit 040cd2d1 authored by Rex Zhu's avatar Rex Zhu Committed by Alex Deucher
Browse files

drm/amd/powerplay: Align with VBIOS to support AVFS parameters.

parent c5b053d2
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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;
};

+6 −6
Original line number Diff line number Diff line
@@ -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);

+2 −2
Original line number Diff line number Diff line
@@ -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;