mirror of https://gitee.com/openkylin/linux.git
drm/amd/display: Allow passing of syspll id to get_smu_clock_info
Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo@amd.com> Reviewed-by: Hersen Wu <hersenxs.wu@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
623a7e96cd
commit
316178f072
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
#include "bios_parser_common.h"
|
#include "bios_parser_common.h"
|
||||||
#define LAST_RECORD_TYPE 0xff
|
#define LAST_RECORD_TYPE 0xff
|
||||||
|
#define SMU9_SYSPLL0_ID 0
|
||||||
|
|
||||||
struct i2c_id_config_access {
|
struct i2c_id_config_access {
|
||||||
uint8_t bfI2C_LineMux:4;
|
uint8_t bfI2C_LineMux:4;
|
||||||
|
@ -1220,7 +1220,7 @@ static unsigned int bios_parser_get_smu_clock_info(
|
||||||
if (!bp->cmd_tbl.get_smu_clock_info)
|
if (!bp->cmd_tbl.get_smu_clock_info)
|
||||||
return BP_RESULT_FAILURE;
|
return BP_RESULT_FAILURE;
|
||||||
|
|
||||||
return bp->cmd_tbl.get_smu_clock_info(bp);
|
return bp->cmd_tbl.get_smu_clock_info(bp, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static enum bp_result bios_parser_program_crtc_timing(
|
static enum bp_result bios_parser_program_crtc_timing(
|
||||||
|
@ -1376,7 +1376,7 @@ static enum bp_result get_firmware_info_v3_1(
|
||||||
if (bp->cmd_tbl.get_smu_clock_info != NULL) {
|
if (bp->cmd_tbl.get_smu_clock_info != NULL) {
|
||||||
/* VBIOS gives in 10KHz */
|
/* VBIOS gives in 10KHz */
|
||||||
info->smu_gpu_pll_output_freq =
|
info->smu_gpu_pll_output_freq =
|
||||||
bp->cmd_tbl.get_smu_clock_info(bp) * 10;
|
bp->cmd_tbl.get_smu_clock_info(bp, SMU9_SYSPLL0_ID) * 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
return BP_RESULT_OK;
|
return BP_RESULT_OK;
|
||||||
|
|
|
@ -796,7 +796,7 @@ static enum bp_result set_dce_clock_v2_1(
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
static unsigned int get_smu_clock_info_v3_1(struct bios_parser *bp);
|
static unsigned int get_smu_clock_info_v3_1(struct bios_parser *bp, uint8_t id);
|
||||||
|
|
||||||
static void init_get_smu_clock_info(struct bios_parser *bp)
|
static void init_get_smu_clock_info(struct bios_parser *bp)
|
||||||
{
|
{
|
||||||
|
@ -805,12 +805,13 @@ static void init_get_smu_clock_info(struct bios_parser *bp)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int get_smu_clock_info_v3_1(struct bios_parser *bp)
|
static unsigned int get_smu_clock_info_v3_1(struct bios_parser *bp, uint8_t id)
|
||||||
{
|
{
|
||||||
struct atom_get_smu_clock_info_parameters_v3_1 smu_input = {0};
|
struct atom_get_smu_clock_info_parameters_v3_1 smu_input = {0};
|
||||||
struct atom_get_smu_clock_info_output_parameters_v3_1 smu_output;
|
struct atom_get_smu_clock_info_output_parameters_v3_1 smu_output;
|
||||||
|
|
||||||
smu_input.command = GET_SMU_CLOCK_INFO_V3_1_GET_PLLVCO_FREQ;
|
smu_input.command = GET_SMU_CLOCK_INFO_V3_1_GET_PLLVCO_FREQ;
|
||||||
|
smu_input.syspll_id = id;
|
||||||
|
|
||||||
/* Get Specific Clock */
|
/* Get Specific Clock */
|
||||||
if (EXEC_BIOS_CMD_TABLE(getsmuclockinfo, smu_input)) {
|
if (EXEC_BIOS_CMD_TABLE(getsmuclockinfo, smu_input)) {
|
||||||
|
|
|
@ -96,7 +96,7 @@ struct cmd_tbl {
|
||||||
struct bios_parser *bp,
|
struct bios_parser *bp,
|
||||||
struct bp_set_dce_clock_parameters *bp_params);
|
struct bp_set_dce_clock_parameters *bp_params);
|
||||||
unsigned int (*get_smu_clock_info)(
|
unsigned int (*get_smu_clock_info)(
|
||||||
struct bios_parser *bp);
|
struct bios_parser *bp, uint8_t id);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue