summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
diff options
context:
space:
mode:
authorHersen Wu <hersenxs.wu@amd.com>2017-04-28 16:21:38 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 18:06:46 -0400
commit7d091f7a4466cd7d7b778c126072b3dc46d8141f (patch)
treedb4df73e179b20f265d7ac22de37d2b7eae3ce3d /drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
parent9c3b2b50b3f03e876d5df1cf8940a79013091e9d (diff)
downloadlinux-7d091f7a4466cd7d7b778c126072b3dc46d8141f.tar.gz
linux-7d091f7a4466cd7d7b778c126072b3dc46d8141f.tar.bz2
linux-7d091f7a4466cd7d7b778c126072b3dc46d8141f.zip
drm/amd/display: Get dprefclk ss percentage from vbios
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c')
-rw-r--r--drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c40
1 files changed, 10 insertions, 30 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c b/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
index 123942f4cbde..682fc9b9b3f2 100644
--- a/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
+++ b/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
@@ -1070,7 +1070,6 @@ static enum bp_result get_ss_info_v4_1(
{
enum bp_result result = BP_RESULT_OK;
struct atom_display_controller_info_v4_1 *disp_cntl_tbl = NULL;
- struct atom_smu_info_v3_1 *smu_tbl = NULL;
if (!ss_info)
return BP_RESULT_BADINPUT;
@@ -1078,19 +1077,11 @@ static enum bp_result get_ss_info_v4_1(
if (!DATA_TABLES(dce_info))
return BP_RESULT_BADBIOSTABLE;
- if (!DATA_TABLES(smu_info))
- return BP_RESULT_BADBIOSTABLE;
-
disp_cntl_tbl = GET_IMAGE(struct atom_display_controller_info_v4_1,
DATA_TABLES(dce_info));
if (!disp_cntl_tbl)
return BP_RESULT_BADBIOSTABLE;
- smu_tbl = GET_IMAGE(struct atom_smu_info_v3_1, DATA_TABLES(smu_info));
- if (!smu_tbl)
- return BP_RESULT_BADBIOSTABLE;
-
-
ss_info->type.STEP_AND_DELAY_INFO = false;
ss_info->spread_percentage_divider = 1000;
/* BIOS no longer uses target clock. Always enable for now */
@@ -1123,12 +1114,11 @@ static enum bp_result get_ss_info_v4_1(
ss_info->type.CENTER_MODE = true;
break;
case AS_SIGNAL_TYPE_GPU_PLL:
- ss_info->spread_spectrum_percentage =
- smu_tbl->gpuclk_ss_percentage;
- ss_info->spread_spectrum_range =
- smu_tbl->gpuclk_ss_rate_10hz * 10;
- if (smu_tbl->gpuclk_ss_mode & ATOM_SS_CENTRE_SPREAD_MODE)
- ss_info->type.CENTER_MODE = true;
+ /* atom_firmware: DAL only get data from dce_info table.
+ * if data within smu_info is needed for DAL, VBIOS should
+ * copy it into dce_info
+ */
+ result = BP_RESULT_UNSUPPORTED;
break;
default:
result = BP_RESULT_UNSUPPORTED;
@@ -1145,7 +1135,6 @@ static enum bp_result get_ss_info_v4_2(
{
enum bp_result result = BP_RESULT_OK;
struct atom_display_controller_info_v4_2 *disp_cntl_tbl = NULL;
- struct atom_smu_info_v3_1 *smu_tbl = NULL;
if (!ss_info)
return BP_RESULT_BADINPUT;
@@ -1153,19 +1142,11 @@ static enum bp_result get_ss_info_v4_2(
if (!DATA_TABLES(dce_info))
return BP_RESULT_BADBIOSTABLE;
- if (!DATA_TABLES(smu_info))
- return BP_RESULT_BADBIOSTABLE;
-
disp_cntl_tbl = GET_IMAGE(struct atom_display_controller_info_v4_2,
DATA_TABLES(dce_info));
if (!disp_cntl_tbl)
return BP_RESULT_BADBIOSTABLE;
- smu_tbl = GET_IMAGE(struct atom_smu_info_v3_1, DATA_TABLES(smu_info));
- if (!smu_tbl)
- return BP_RESULT_BADBIOSTABLE;
-
-
ss_info->type.STEP_AND_DELAY_INFO = false;
ss_info->spread_percentage_divider = 1000;
/* BIOS no longer uses target clock. Always enable for now */
@@ -1198,12 +1179,11 @@ static enum bp_result get_ss_info_v4_2(
ss_info->type.CENTER_MODE = true;
break;
case AS_SIGNAL_TYPE_GPU_PLL:
- ss_info->spread_spectrum_percentage =
- smu_tbl->gpuclk_ss_percentage;
- ss_info->spread_spectrum_range =
- smu_tbl->gpuclk_ss_rate_10hz * 10;
- if (smu_tbl->gpuclk_ss_mode & ATOM_SS_CENTRE_SPREAD_MODE)
- ss_info->type.CENTER_MODE = true;
+ /* atom_firmware: DAL only get data from dce_info table.
+ * if data within smu_info is needed for DAL, VBIOS should
+ * copy it into dce_info
+ */
+ result = BP_RESULT_UNSUPPORTED;
break;
default:
result = BP_RESULT_UNSUPPORTED;