Home
last modified time | relevance | path

Searched refs:smu (Results 1 – 25 of 38) sorted by relevance

12

/linux/drivers/gpu/drm/amd/pm/swsmu/smu12/
H A Dsmu_v12_0.c58 int smu_v12_0_check_fw_status(struct smu_context *smu) in smu_v12_0_check_fw_status() argument
60 struct amdgpu_device *adev = smu->adev; in smu_v12_0_check_fw_status()
73 int smu_v12_0_powergate_sdma(struct smu_context *smu, bool gate) in smu_v12_0_powergate_sdma() argument
75 if (!smu->is_apu) in smu_v12_0_powergate_sdma()
79 return smu_cmn_send_smc_msg(smu, SMU_MSG_PowerDownSdma, NULL); in smu_v12_0_powergate_sdma()
81 return smu_cmn_send_smc_msg(smu, SMU_MSG_PowerUpSdma, NULL); in smu_v12_0_powergate_sdma()
84 int smu_v12_0_set_gfx_cgpg(struct smu_context *smu, bool enable) in smu_v12_0_set_gfx_cgpg() argument
87 if (!(smu->adev->pg_flags & AMD_PG_SUPPORT_GFX_PG) || smu->adev->in_s0ix) in smu_v12_0_set_gfx_cgpg()
90 return smu_cmn_send_smc_msg_with_param(smu, in smu_v12_0_set_gfx_cgpg()
108 uint32_t smu_v12_0_get_gfxoff_status(struct smu_context *smu) in smu_v12_0_get_gfxoff_status() argument
[all …]
/linux/drivers/gpu/drm/amd/pm/swsmu/smu11/
H A Dsmu_v11_0.c82 static void smu_v11_0_poll_baco_exit(struct smu_context *smu) in smu_v11_0_poll_baco_exit() argument
84 struct amdgpu_device *adev = smu->adev; in smu_v11_0_poll_baco_exit()
93 int smu_v11_0_init_microcode(struct smu_context *smu) in smu_v11_0_init_microcode() argument
95 struct amdgpu_device *adev = smu->adev; in smu_v11_0_init_microcode()
132 void smu_v11_0_fini_microcode(struct smu_context *smu) in smu_v11_0_fini_microcode() argument
134 struct amdgpu_device *adev = smu->adev; in smu_v11_0_fini_microcode()
140 int smu_v11_0_load_microcode(struct smu_context *smu) in smu_v11_0_load_microcode() argument
142 struct amdgpu_device *adev = smu->adev; in smu_v11_0_load_microcode()
180 int smu_v11_0_check_fw_status(struct smu_context *smu) in smu_v11_0_check_fw_status() argument
182 struct amdgpu_device *adev = smu->adev; in smu_v11_0_check_fw_status()
[all …]
H A Dcyan_skillfish_ppt.h27 extern void cyan_skillfish_set_ppt_funcs(struct smu_context *smu);
/linux/drivers/gpu/drm/amd/pm/swsmu/smu15/
H A Dsmu_v15_0.c63 int smu_v15_0_init_microcode(struct smu_context *smu) in smu_v15_0_init_microcode() argument
65 struct amdgpu_device *adev = smu->adev; in smu_v15_0_init_microcode()
101 void smu_v15_0_fini_microcode(struct smu_context *smu) in smu_v15_0_fini_microcode() argument
103 struct amdgpu_device *adev = smu->adev; in smu_v15_0_fini_microcode()
109 int smu_v15_0_load_microcode(struct smu_context *smu) in smu_v15_0_load_microcode() argument
111 struct amdgpu_device *adev = smu->adev; in smu_v15_0_load_microcode()
131 if (smu->is_apu) in smu_v15_0_load_microcode()
147 int smu_v15_0_init_pptable_microcode(struct smu_context *smu) in smu_v15_0_init_pptable_microcode() argument
149 struct amdgpu_device *adev = smu->adev; in smu_v15_0_init_pptable_microcode()
170 pptable_id = smu->smu_table.boot_values.pp_table_id; in smu_v15_0_init_pptable_microcode()
[all …]
/linux/drivers/gpu/drm/amd/pm/swsmu/smu14/
H A Dsmu_v14_0.c69 int smu_v14_0_init_microcode(struct smu_context *smu) in smu_v14_0_init_microcode() argument
71 struct amdgpu_device *adev = smu->adev; in smu_v14_0_init_microcode()
111 void smu_v14_0_fini_microcode(struct smu_context *smu) in smu_v14_0_fini_microcode() argument
113 struct amdgpu_device *adev = smu->adev; in smu_v14_0_fini_microcode()
119 int smu_v14_0_load_microcode(struct smu_context *smu) in smu_v14_0_load_microcode() argument
121 struct amdgpu_device *adev = smu->adev; in smu_v14_0_load_microcode()
145 if (smu->is_apu) in smu_v14_0_load_microcode()
163 int smu_v14_0_init_pptable_microcode(struct smu_context *smu) in smu_v14_0_init_pptable_microcode() argument
165 struct amdgpu_device *adev = smu->adev; in smu_v14_0_init_pptable_microcode()
190 pptable_id = smu->smu_table.boot_values.pp_table_id; in smu_v14_0_init_pptable_microcode()
[all …]
H A Dsmu_v14_0_0_ppt.c190 static int smu_v14_0_0_init_smc_tables(struct smu_context *smu) in smu_v14_0_0_init_smc_tables() argument
192 struct smu_table_context *smu_table = &smu->smu_table; in smu_v14_0_0_init_smc_tables()
216 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in smu_v14_0_0_init_smc_tables()
234 static int smu_v14_0_0_fini_smc_tables(struct smu_context *smu) in smu_v14_0_0_fini_smc_tables() argument
236 struct smu_table_context *smu_table = &smu->smu_table; in smu_v14_0_0_fini_smc_tables()
247 smu_driver_table_fini(smu, SMU_DRIVER_TABLE_GPU_METRICS); in smu_v14_0_0_fini_smc_tables()
252 static int smu_v14_0_0_system_features_control(struct smu_context *smu, bool en) in smu_v14_0_0_system_features_control() argument
254 struct amdgpu_device *adev = smu->adev; in smu_v14_0_0_system_features_control()
258 ret = smu_cmn_send_smc_msg(smu, SMU_MSG_PrepareMp1ForUnload, NULL); in smu_v14_0_0_system_features_control()
263 static int smu_v14_0_0_get_smu_metrics_data(struct smu_context *smu, in smu_v14_0_0_get_smu_metrics_data() argument
[all …]
H A Dsmu_v14_0_2_ppt.c59 static void smu_v14_0_2_get_od_setting_limits(struct smu_context *smu,
273 static int smu_v14_0_2_init_allowed_features(struct smu_context *smu) in smu_v14_0_2_init_allowed_features() argument
275 smu_feature_list_set_all(smu, SMU_FEATURE_LIST_ALLOWED); in smu_v14_0_2_init_allowed_features()
280 static int smu_v14_0_2_check_powerplay_table(struct smu_context *smu) in smu_v14_0_2_check_powerplay_table() argument
282 struct smu_table_context *table_context = &smu->smu_table; in smu_v14_0_2_check_powerplay_table()
285 struct smu_baco_context *smu_baco = &smu->smu_baco; in smu_v14_0_2_check_powerplay_table()
286 PPTable_t *pptable = smu->smu_table.driver_pptable; in smu_v14_0_2_check_powerplay_table()
293 smu->dc_controlled_by_gpio = true; in smu_v14_0_2_check_powerplay_table()
304 smu->od_enabled = false; in smu_v14_0_2_check_powerplay_table()
313 smu->od_settings = &powerplay_table->overdrive_table; in smu_v14_0_2_check_powerplay_table()
[all …]
H A Dsmu_v14_0_0_ppt.h26 extern void smu_v14_0_0_set_ppt_funcs(struct smu_context *smu);
H A Dsmu_v14_0_2_ppt.h26 extern void smu_v14_0_2_set_ppt_funcs(struct smu_context *smu);
/linux/drivers/gpu/drm/amd/pm/swsmu/inc/
H A Damdgpu_smu.h654 struct smu_context *smu; member
810 ssize_t (*get_temp_metrics)(struct smu_context *smu,
818 bool (*temp_metrics_is_supported)(struct smu_context *smu, enum smu_temp_metric_type type);
831 int (*run_btc)(struct smu_context *smu);
837 int (*init_allowed_features)(struct smu_context *smu);
844 enum amd_pm_state_type (*get_current_power_state)(struct smu_context *smu);
850 int (*set_default_dpm_table)(struct smu_context *smu);
852 int (*set_power_state)(struct smu_context *smu);
858 int (*populate_umd_state_clk)(struct smu_context *smu);
871 …int (*emit_clk_levels)(struct smu_context *smu, enum smu_clk_type clk_type, char *buf, int *offset…
[all …]
/linux/drivers/gpu/drm/amd/pm/swsmu/smu13/
H A Dsmu_v13_0_6_ppt.c259 static inline int smu_v13_0_6_get_metrics_version(struct smu_context *smu) in smu_v13_0_6_get_metrics_version() argument
261 if ((smu->adev->flags & AMD_IS_APU) && in smu_v13_0_6_get_metrics_version()
262 smu->smc_fw_version <= 0x4556900) in smu_v13_0_6_get_metrics_version()
264 else if (amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == in smu_v13_0_6_get_metrics_version()
271 static inline void smu_v13_0_6_cap_set(struct smu_context *smu, in smu_v13_0_6_cap_set() argument
274 struct smu_13_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context; in smu_v13_0_6_cap_set()
279 static inline void smu_v13_0_6_cap_clear(struct smu_context *smu, in smu_v13_0_6_cap_clear() argument
282 struct smu_13_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context; in smu_v13_0_6_cap_clear()
287 bool smu_v13_0_6_cap_supported(struct smu_context *smu, in smu_v13_0_6_cap_supported() argument
290 struct smu_13_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context; in smu_v13_0_6_cap_supported()
[all …]
H A Daldebaran_ppt.c227 static int aldebaran_tables_init(struct smu_context *smu) in aldebaran_tables_init() argument
229 struct smu_table_context *smu_table = &smu->smu_table; in aldebaran_tables_init()
253 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in aldebaran_tables_init()
264 smu_driver_table_fini(smu, SMU_DRIVER_TABLE_GPU_METRICS); in aldebaran_tables_init()
271 static int aldebaran_select_plpd_policy(struct smu_context *smu, int level) in aldebaran_select_plpd_policy() argument
273 struct amdgpu_device *adev = smu->adev; in aldebaran_select_plpd_policy()
284 smu, SMU_MSG_GmiPwrDnControl, 0, NULL); in aldebaran_select_plpd_policy()
287 smu, SMU_MSG_GmiPwrDnControl, 1, NULL); in aldebaran_select_plpd_policy()
292 static int aldebaran_allocate_dpm_context(struct smu_context *smu) in aldebaran_allocate_dpm_context() argument
294 struct smu_dpm_context *smu_dpm = &smu->smu_dpm; in aldebaran_allocate_dpm_context()
[all …]
H A Dsmu_v13_0_0_ppt.c62 static void smu_v13_0_0_get_od_setting_limits(struct smu_context *smu,
296 smu_v13_0_0_init_allowed_features(struct smu_context *smu) in smu_v13_0_0_init_allowed_features() argument
298 struct amdgpu_device *adev = smu->adev; in smu_v13_0_0_init_allowed_features()
300 smu_feature_list_set_all(smu, SMU_FEATURE_LIST_ALLOWED); in smu_v13_0_0_init_allowed_features()
303 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_GFXCLK_BIT); in smu_v13_0_0_init_allowed_features()
304 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_GFX_IMU_BIT); in smu_v13_0_0_init_allowed_features()
309 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_ATHUB_MMHUB_PG_BIT); in smu_v13_0_0_init_allowed_features()
312 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_SOCCLK_BIT); in smu_v13_0_0_init_allowed_features()
314 if ((smu->smc_fw_version < 0x004e3a00) || in smu_v13_0_0_init_allowed_features()
316 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_GFXOFF_BIT); in smu_v13_0_0_init_allowed_features()
[all …]
H A Dsmu_v13_0_7_ppt.c62 static void smu_v13_0_7_get_od_setting_limits(struct smu_context *smu,
285 smu_v13_0_7_init_allowed_features(struct smu_context *smu) in smu_v13_0_7_init_allowed_features() argument
287 struct amdgpu_device *adev = smu->adev; in smu_v13_0_7_init_allowed_features()
289 smu_feature_list_clear_all(smu, SMU_FEATURE_LIST_ALLOWED); in smu_v13_0_7_init_allowed_features()
291 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_FW_DATA_READ_BIT); in smu_v13_0_7_init_allowed_features()
294 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_GFXCLK_BIT); in smu_v13_0_7_init_allowed_features()
295 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_GFX_IMU_BIT); in smu_v13_0_7_init_allowed_features()
296 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_GFX_POWER_OPTIMIZER_BIT); in smu_v13_0_7_init_allowed_features()
300 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_GFXOFF_BIT); in smu_v13_0_7_init_allowed_features()
303 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_UCLK_BIT); in smu_v13_0_7_init_allowed_features()
[all …]
H A Dsmu_v13_0_0_ppt.h26 extern void smu_v13_0_0_set_ppt_funcs(struct smu_context *smu);
H A Dsmu_v13_0_4_ppt.h26 extern void smu_v13_0_4_set_ppt_funcs(struct smu_context *smu);
H A Dyellow_carp_ppt.h26 extern void yellow_carp_set_ppt_funcs(struct smu_context *smu);
H A Dsmu_v13_0_7_ppt.h26 extern void smu_v13_0_7_set_ppt_funcs(struct smu_context *smu);
/linux/drivers/gpu/drm/amd/pm/swsmu/
H A Dsmu_cmn.c50 #define smu_cmn_call_asic_func(intf, smu, args...) \ argument
51 ((smu)->ppt_funcs ? ((smu)->ppt_funcs->intf ? \
52 (smu)->ppt_funcs->intf(smu, ##args) : \
59 static const char *smu_get_message_name(struct smu_context *smu, in smu_get_message_name() argument
88 struct amdgpu_device *adev = ctl->smu->adev; in smu_msg_v1_send_debug_msg()
125 int smu_cmn_wait_for_response(struct smu_context *smu) in smu_cmn_wait_for_response() argument
127 return smu_msg_wait_response(&smu->msg_ctl, 0); in smu_cmn_wait_for_response()
162 int smu_cmn_send_smc_msg_with_param(struct smu_context *smu, in smu_cmn_send_smc_msg_with_param() argument
167 struct smu_msg_ctl *ctl = &smu->msg_ctl; in smu_cmn_send_smc_msg_with_param()
186 int smu_cmn_send_smc_msg(struct smu_context *smu, in smu_cmn_send_smc_msg() argument
[all …]
H A Dsmu_cmn.h105 #define smu_cmn_update_table(smu, table_index, argument, table_data, drv2smu) \ argument
106 smu_cmn_update_table_read_arg((smu), (table_index), (argument), (table_data), NULL, (drv2smu))
116 int smu_cmn_send_smc_msg_with_param(struct smu_context *smu,
121 int smu_cmn_send_smc_msg(struct smu_context *smu,
125 int smu_cmn_send_debug_smc_msg(struct smu_context *smu,
128 int smu_cmn_send_debug_smc_msg_with_param(struct smu_context *smu,
131 int smu_cmn_wait_for_response(struct smu_context *smu);
133 int smu_cmn_to_asic_specific_index(struct smu_context *smu,
137 int smu_cmn_feature_is_supported(struct smu_context *smu,
140 int smu_cmn_feature_is_enabled(struct smu_context *smu,
[all …]
/linux/drivers/macintosh/
H A Dsmu.c100 static struct smu_device *smu; variable
116 if (list_empty(&smu->cmd_list)) in smu_start_cmd()
120 cmd = list_entry(smu->cmd_list.next, struct smu_cmd, link); in smu_start_cmd()
121 smu->cmd_cur = cmd; in smu_start_cmd()
129 smu->cmd_buf->cmd = cmd->cmd; in smu_start_cmd()
130 smu->cmd_buf->length = cmd->data_len; in smu_start_cmd()
131 memcpy(smu->cmd_buf->data, cmd->data_buf, cmd->data_len); in smu_start_cmd()
134 faddr = (unsigned long)smu->cmd_buf; in smu_start_cmd()
135 fend = faddr + smu->cmd_buf->length + 2; in smu_start_cmd()
148 if (smu->broken_nap) in smu_start_cmd()
[all …]
H A Dwindfarm_smu_controls.c259 struct device_node *smu, *fans, *fan; in smu_controls_init() local
264 smu = of_find_node_by_type(NULL, "smu"); in smu_controls_init()
265 if (smu == NULL) in smu_controls_init()
269 for_each_child_of_node(smu, fans) in smu_controls_init()
288 for_each_child_of_node(smu, fans) in smu_controls_init()
303 of_node_put(smu); in smu_controls_init()
H A Dwindfarm_smu_sensors.c411 struct device_node *smu, *sensors, *s; in smu_sensors_init() local
420 smu = of_find_node_by_type(NULL, "smu"); in smu_sensors_init()
421 if (smu == NULL) in smu_sensors_init()
425 for_each_child_of_node(smu, sensors) in smu_sensors_init()
429 of_node_put(smu); in smu_sensors_init()
/linux/arch/arm/mach-shmobile/
H A Dsmp-emev2.c32 void __iomem *smu; in emev2_smp_prepare_cpus() local
35 smu = ioremap(EMEV2_SMU_BASE, PAGE_SIZE); in emev2_smp_prepare_cpus()
36 if (smu) { in emev2_smp_prepare_cpus()
37 iowrite32(__pa(shmobile_boot_vector), smu + SMU_GENERAL_REG0); in emev2_smp_prepare_cpus()
38 iounmap(smu); in emev2_smp_prepare_cpus()
/linux/arch/arm/boot/dts/renesas/
H A Demev2.dtsi61 compatible = "renesas,emev2-smu";
72 compatible = "renesas,emev2-smu-clkdiv";
78 compatible = "renesas,emev2-smu-gclk";
84 compatible = "renesas,emev2-smu-clkdiv";
90 compatible = "renesas,emev2-smu-gclk";
103 compatible = "renesas,emev2-smu-clkdiv";
109 compatible = "renesas,emev2-smu-clkdiv";
115 compatible = "renesas,emev2-smu-clkdiv";
121 compatible = "renesas,emev2-smu-clkdiv";
127 compatible = "renesas,emev2-smu-gclk";
[all …]

12