Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a94235af authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher
Browse files

drm/amd/powerplay: update arcturus_ppt.c/h V3



Arcturus ASIC specific powerplay interfaces.

V2: correct SMU msg naming
    drop unnecessary debugs

V3: rebase (Alex)

Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarKevin Wang <kevin1.wang@amd.com>
Reviewed-by: default avatarLe Ma <Le.Ma@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c8893d5c
Loading
Loading
Loading
Loading
+1192 −1

File changed.

Preview size limit exceeded, changes collapsed.

+44 −0
Original line number Diff line number Diff line
@@ -23,6 +23,50 @@
#ifndef __ARCTURUS_PPT_H__
#define __ARCTURUS_PPT_H__

#define ARCTURUS_UMD_PSTATE_GFXCLK_LEVEL         0x3
#define ARCTURUS_UMD_PSTATE_SOCCLK_LEVEL         0x3
#define ARCTURUS_UMD_PSTATE_MCLK_LEVEL           0x2

#define MAX_DPM_NUMBER 16
#define MAX_PCIE_CONF 2

struct arcturus_dpm_level {
        bool            enabled;
        uint32_t        value;
        uint32_t        param1;
};

struct arcturus_dpm_state {
        uint32_t  soft_min_level;
        uint32_t  soft_max_level;
        uint32_t  hard_min_level;
        uint32_t  hard_max_level;
};

struct arcturus_single_dpm_table {
        uint32_t                count;
        struct arcturus_dpm_state dpm_state;
        struct arcturus_dpm_level dpm_levels[MAX_DPM_NUMBER];
};

struct arcturus_pcie_table {
        uint16_t count;
        uint8_t  pcie_gen[MAX_PCIE_CONF];
        uint8_t  pcie_lane[MAX_PCIE_CONF];
        uint32_t lclk[MAX_PCIE_CONF];
};

struct arcturus_dpm_table {
        struct arcturus_single_dpm_table  soc_table;
        struct arcturus_single_dpm_table  gfx_table;
        struct arcturus_single_dpm_table  mem_table;
        struct arcturus_single_dpm_table  eclk_table;
        struct arcturus_single_dpm_table  vclk_table;
        struct arcturus_single_dpm_table  dclk_table;
        struct arcturus_single_dpm_table  fclk_table;
        struct arcturus_pcie_table        pcie_table;
};

extern void arcturus_set_ppt_funcs(struct smu_context *smu);

#endif
+1 −1
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@
       __SMU_DUMMY_MAP(GetVoltageByDpm),              \
       __SMU_DUMMY_MAP(GetVoltageByDpmOverdrive),     \
       __SMU_DUMMY_MAP(PowerUpVcn0),                  \
       __SMU_DUMMY_MAP(PowerDownVcn01),               \
       __SMU_DUMMY_MAP(PowerDownVcn0),               \
       __SMU_DUMMY_MAP(PowerUpVcn1),                  \
       __SMU_DUMMY_MAP(PowerDownVcn1),                \