mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-14 18:36:34 +00:00
drm/amd/powerplay: implement read_pptable_from_vbios function for smu11
This patch implements the function of read_pptable_from_vbios for smu11. Signed-off-by: Huang Rui <ray.huang@amd.com> Reviewed-by: Kevin Wang <Kevin1.Wang@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
ae2e201364
commit
244f344928
1 changed files with 23 additions and 0 deletions
|
|
@ -25,6 +25,7 @@
|
||||||
#include "amdgpu.h"
|
#include "amdgpu.h"
|
||||||
#include "amdgpu_smu.h"
|
#include "amdgpu_smu.h"
|
||||||
#include "atomfirmware.h"
|
#include "atomfirmware.h"
|
||||||
|
#include "amdgpu_atomfirmware.h"
|
||||||
#include "smu_v11_0.h"
|
#include "smu_v11_0.h"
|
||||||
#include "smu_v11_0_ppsmc.h"
|
#include "smu_v11_0_ppsmc.h"
|
||||||
#include "smu11_driver_if.h"
|
#include "smu11_driver_if.h"
|
||||||
|
|
@ -212,6 +213,27 @@ err:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int smu_v11_0_read_pptable_from_vbios(struct smu_context *smu)
|
||||||
|
{
|
||||||
|
int ret, index;
|
||||||
|
uint16_t size;
|
||||||
|
uint8_t frev, crev;
|
||||||
|
struct smu_11_0_powerplay_table *table;
|
||||||
|
|
||||||
|
index = get_index_into_master_table(atom_master_list_of_data_tables_v2_1,
|
||||||
|
powerplayinfo);
|
||||||
|
|
||||||
|
ret = smu_get_atom_data_table(smu, index, &size, &frev, &crev,
|
||||||
|
(uint8_t **)&table);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
smu->smu_table.power_play_table = table;
|
||||||
|
smu->smu_table.power_play_table_size = size;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct smu_funcs smu_v11_0_funcs = {
|
static const struct smu_funcs smu_v11_0_funcs = {
|
||||||
.init_microcode = smu_v11_0_init_microcode,
|
.init_microcode = smu_v11_0_init_microcode,
|
||||||
.load_microcode = smu_v11_0_load_microcode,
|
.load_microcode = smu_v11_0_load_microcode,
|
||||||
|
|
@ -219,6 +241,7 @@ static const struct smu_funcs smu_v11_0_funcs = {
|
||||||
.check_fw_version = smu_v11_0_check_fw_version,
|
.check_fw_version = smu_v11_0_check_fw_version,
|
||||||
.send_smc_msg = smu_v11_0_send_msg,
|
.send_smc_msg = smu_v11_0_send_msg,
|
||||||
.send_smc_msg_with_param = smu_v11_0_send_msg_with_param,
|
.send_smc_msg_with_param = smu_v11_0_send_msg_with_param,
|
||||||
|
.read_pptable_from_vbios = smu_v11_0_read_pptable_from_vbios,
|
||||||
};
|
};
|
||||||
|
|
||||||
void smu_v11_0_set_smu_funcs(struct smu_context *smu)
|
void smu_v11_0_set_smu_funcs(struct smu_context *smu)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue