Home
last modified time | relevance | path

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

12

/Linux-v5.15/drivers/gpu/drm/amd/pm/swsmu/
Dsmu_internal.h30 #define smu_ppt_funcs(intf, ret, smu, args...) \ argument
31 ((smu)->ppt_funcs ? ((smu)->ppt_funcs->intf ? (smu)->ppt_funcs->intf(smu, ##args) : ret) : -EINVAL)
33 #define smu_init_microcode(smu) smu_ppt_funcs(init_microcode, 0, smu) argument
34 #define smu_fini_microcode(smu) smu_ppt_funcs(fini_microcode, 0, smu) argument
35 #define smu_init_smc_tables(smu) smu_ppt_funcs(init_smc_tables, 0, smu) argument
36 #define smu_fini_smc_tables(smu) smu_ppt_funcs(fini_smc_tables, 0, smu) argument
37 #define smu_init_power(smu) smu_ppt_funcs(init_power, 0, smu) argument
38 #define smu_fini_power(smu) smu_ppt_funcs(fini_power, 0, smu) argument
39 #define smu_setup_pptable(smu) smu_ppt_funcs(setup_pptable, 0, smu) argument
40 #define smu_powergate_sdma(smu, gate) smu_ppt_funcs(powergate_sdma, 0, smu, gate) argument
[all …]
Damdgpu_smu.c53 static int smu_force_smuclk_levels(struct smu_context *smu,
56 static int smu_handle_task(struct smu_context *smu,
60 static int smu_reset(struct smu_context *smu);
62 static int smu_set_fan_control_mode(struct smu_context *smu, int value);
65 static int smu_set_gfx_cgpg(struct smu_context *smu, bool enabled);
70 struct smu_context *smu = handle; in smu_sys_get_pp_feature_mask() local
73 if (!smu->pm_enabled || !smu->adev->pm.dpm_enabled) in smu_sys_get_pp_feature_mask()
76 mutex_lock(&smu->mutex); in smu_sys_get_pp_feature_mask()
78 size = smu_get_pp_feature_mask(smu, buf); in smu_sys_get_pp_feature_mask()
80 mutex_unlock(&smu->mutex); in smu_sys_get_pp_feature_mask()
[all …]
Dsmu_cmn.c62 static const char *smu_get_message_name(struct smu_context *smu, in smu_get_message_name() argument
71 static void smu_cmn_read_arg(struct smu_context *smu, in smu_cmn_read_arg() argument
74 struct amdgpu_device *adev = smu->adev; in smu_cmn_read_arg()
115 static u32 __smu_cmn_poll_stat(struct smu_context *smu) in __smu_cmn_poll_stat() argument
117 struct amdgpu_device *adev = smu->adev; in __smu_cmn_poll_stat()
132 static void __smu_cmn_reg_print_error(struct smu_context *smu, in __smu_cmn_reg_print_error() argument
138 struct amdgpu_device *adev = smu->adev; in __smu_cmn_reg_print_error()
139 const char *message = smu_get_message_name(smu, msg); in __smu_cmn_reg_print_error()
183 static int __smu_cmn_reg2errno(struct smu_context *smu, u32 reg_c2pmsg_90) in __smu_cmn_reg2errno() argument
228 static void __smu_cmn_send_msg(struct smu_context *smu, in __smu_cmn_send_msg() argument
[all …]
Dsmu_cmn.h29 int smu_cmn_send_msg_without_waiting(struct smu_context *smu,
32 int smu_cmn_send_smc_msg_with_param(struct smu_context *smu,
37 int smu_cmn_send_smc_msg(struct smu_context *smu,
41 int smu_cmn_wait_for_response(struct smu_context *smu);
43 int smu_cmn_to_asic_specific_index(struct smu_context *smu,
47 int smu_cmn_feature_is_supported(struct smu_context *smu,
50 int smu_cmn_feature_is_enabled(struct smu_context *smu,
53 bool smu_cmn_clk_dpm_is_enabled(struct smu_context *smu,
56 int smu_cmn_get_enabled_mask(struct smu_context *smu,
60 int smu_cmn_get_enabled_32_bits_mask(struct smu_context *smu,
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/pm/swsmu/smu12/
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_check_fw_version(struct smu_context *smu) in smu_v12_0_check_fw_version() argument
75 struct amdgpu_device *adev = smu->adev; in smu_v12_0_check_fw_version()
81 ret = smu_cmn_get_smc_version(smu, &if_version, &smu_version); in smu_v12_0_check_fw_version()
88 if (smu->is_apu) in smu_v12_0_check_fw_version()
99 if (if_version != smu->smc_driver_if_version) { in smu_v12_0_check_fw_version()
100 dev_info(smu->adev->dev, "smu driver if version = 0x%08x, smu fw if version = 0x%08x, " in smu_v12_0_check_fw_version()
102 smu->smc_driver_if_version, if_version, in smu_v12_0_check_fw_version()
104 dev_warn(smu->adev->dev, "SMU driver if version not matched\n"); in smu_v12_0_check_fw_version()
[all …]
Drenoir_ppt.c147 static int renoir_init_smc_tables(struct smu_context *smu) in renoir_init_smc_tables() argument
149 struct smu_table_context *smu_table = &smu->smu_table; in renoir_init_smc_tables()
193 static int renoir_get_dpm_clk_limited(struct smu_context *smu, enum smu_clk_type clk_type, in renoir_get_dpm_clk_limited() argument
196 DpmClocks_t *clk_table = smu->smu_table.clocks_table; in renoir_get_dpm_clk_limited()
241 static int renoir_get_profiling_clk_mask(struct smu_context *smu, in renoir_get_profiling_clk_mask() argument
271 static int renoir_get_dpm_ultimate_freq(struct smu_context *smu, in renoir_get_dpm_ultimate_freq() argument
280 if (!smu_cmn_clk_dpm_is_enabled(smu, clk_type)) { in renoir_get_dpm_ultimate_freq()
284 clock_limit = smu->smu_table.boot_values.uclk; in renoir_get_dpm_ultimate_freq()
288 clock_limit = smu->smu_table.boot_values.gfxclk; in renoir_get_dpm_ultimate_freq()
291 clock_limit = smu->smu_table.boot_values.socclk; in renoir_get_dpm_ultimate_freq()
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/pm/swsmu/smu11/
Dvangogh_ppt.c207 static int vangogh_tables_init(struct smu_context *smu) in vangogh_tables_init() argument
209 struct smu_table_context *smu_table = &smu->smu_table; in vangogh_tables_init()
211 struct amdgpu_device *adev = smu->adev; in vangogh_tables_init()
215 ret = smu_cmn_get_smc_version(smu, &if_version, NULL); in vangogh_tables_init()
268 static int vangogh_get_legacy_smu_metrics_data(struct smu_context *smu, in vangogh_get_legacy_smu_metrics_data() argument
272 struct smu_table_context *smu_table = &smu->smu_table; in vangogh_get_legacy_smu_metrics_data()
276 mutex_lock(&smu->metrics_lock); in vangogh_get_legacy_smu_metrics_data()
278 ret = smu_cmn_get_metrics_table_locked(smu, in vangogh_get_legacy_smu_metrics_data()
282 mutex_unlock(&smu->metrics_lock); in vangogh_get_legacy_smu_metrics_data()
331 smu->cpu_core_num * sizeof(uint16_t)); in vangogh_get_legacy_smu_metrics_data()
[all …]
Dsienna_cichlid_ppt.c77 if (smu->adev->asic_type == CHIP_BEIGE_GOBY)\
78 (*member) = (smu->smu_table.driver_pptable + offsetof(PPTable_beige_goby_t, field));\
80 (*member) = (smu->smu_table.driver_pptable + offsetof(PPTable_t, field));\
83 static int get_table_size(struct smu_context *smu) in get_table_size() argument
85 if (smu->adev->asic_type == CHIP_BEIGE_GOBY) in get_table_size()
264 sienna_cichlid_get_allowed_feature_mask(struct smu_context *smu, in sienna_cichlid_get_allowed_feature_mask() argument
267 struct amdgpu_device *adev = smu->adev; in sienna_cichlid_get_allowed_feature_mask()
328 if (smu->adev->pg_flags & AMD_PG_SUPPORT_ATHUB) in sienna_cichlid_get_allowed_feature_mask()
331 if (smu->adev->pg_flags & AMD_PG_SUPPORT_MMHUB) in sienna_cichlid_get_allowed_feature_mask()
334 if (smu->adev->pg_flags & AMD_PG_SUPPORT_VCN || in sienna_cichlid_get_allowed_feature_mask()
[all …]
Dsmu_v11_0.c82 int smu_v11_0_init_microcode(struct smu_context *smu) in smu_v11_0_init_microcode() argument
84 struct amdgpu_device *adev = smu->adev; in smu_v11_0_init_microcode()
159 void smu_v11_0_fini_microcode(struct smu_context *smu) in smu_v11_0_fini_microcode() argument
161 struct amdgpu_device *adev = smu->adev; in smu_v11_0_fini_microcode()
168 int smu_v11_0_load_microcode(struct smu_context *smu) in smu_v11_0_load_microcode() argument
170 struct amdgpu_device *adev = smu->adev; in smu_v11_0_load_microcode()
208 int smu_v11_0_check_fw_status(struct smu_context *smu) in smu_v11_0_check_fw_status() argument
210 struct amdgpu_device *adev = smu->adev; in smu_v11_0_check_fw_status()
223 int smu_v11_0_check_fw_version(struct smu_context *smu) in smu_v11_0_check_fw_version() argument
225 struct amdgpu_device *adev = smu->adev; in smu_v11_0_check_fw_version()
[all …]
Darcturus_ppt.c252 static int arcturus_tables_init(struct smu_context *smu) in arcturus_tables_init() argument
254 struct smu_table_context *smu_table = &smu->smu_table; in arcturus_tables_init()
288 static int arcturus_allocate_dpm_context(struct smu_context *smu) in arcturus_allocate_dpm_context() argument
290 struct smu_dpm_context *smu_dpm = &smu->smu_dpm; in arcturus_allocate_dpm_context()
311 static int arcturus_init_smc_tables(struct smu_context *smu) in arcturus_init_smc_tables() argument
315 ret = arcturus_tables_init(smu); in arcturus_init_smc_tables()
319 ret = arcturus_allocate_dpm_context(smu); in arcturus_init_smc_tables()
323 return smu_v11_0_init_smc_tables(smu); in arcturus_init_smc_tables()
327 arcturus_get_allowed_feature_mask(struct smu_context *smu, in arcturus_get_allowed_feature_mask() argument
339 static int arcturus_set_default_dpm_table(struct smu_context *smu) in arcturus_set_default_dpm_table() argument
[all …]
Dnavi10_ppt.c263 static bool is_asic_secure(struct smu_context *smu) in is_asic_secure() argument
265 struct amdgpu_device *adev = smu->adev; in is_asic_secure()
279 navi10_get_allowed_feature_mask(struct smu_context *smu, in navi10_get_allowed_feature_mask() argument
282 struct amdgpu_device *adev = smu->adev; in navi10_get_allowed_feature_mask()
328 if (smu->adev->pg_flags & AMD_PG_SUPPORT_MMHUB) in navi10_get_allowed_feature_mask()
331 if (smu->adev->pg_flags & AMD_PG_SUPPORT_ATHUB) in navi10_get_allowed_feature_mask()
334 if (smu->adev->pg_flags & AMD_PG_SUPPORT_VCN) in navi10_get_allowed_feature_mask()
337 if (smu->adev->pg_flags & AMD_PG_SUPPORT_JPEG) in navi10_get_allowed_feature_mask()
340 if (smu->dc_controlled_by_gpio) in navi10_get_allowed_feature_mask()
347 if (!(is_asic_secure(smu) && in navi10_get_allowed_feature_mask()
[all …]
Dcyan_skillfish_ppt.c86 static int cyan_skillfish_tables_init(struct smu_context *smu) in cyan_skillfish_tables_init() argument
88 struct smu_table_context *smu_table = &smu->smu_table; in cyan_skillfish_tables_init()
116 static int cyan_skillfish_init_smc_tables(struct smu_context *smu) in cyan_skillfish_init_smc_tables() argument
120 ret = cyan_skillfish_tables_init(smu); in cyan_skillfish_init_smc_tables()
124 return smu_v11_0_init_smc_tables(smu); in cyan_skillfish_init_smc_tables()
127 static int cyan_skillfish_finit_smc_tables(struct smu_context *smu) in cyan_skillfish_finit_smc_tables() argument
129 struct smu_table_context *smu_table = &smu->smu_table; in cyan_skillfish_finit_smc_tables()
144 cyan_skillfish_get_smu_metrics_data(struct smu_context *smu, in cyan_skillfish_get_smu_metrics_data() argument
148 struct smu_table_context *smu_table = &smu->smu_table; in cyan_skillfish_get_smu_metrics_data()
152 mutex_lock(&smu->metrics_lock); in cyan_skillfish_get_smu_metrics_data()
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/pm/inc/
Dsmu_v13_0.h126 int smu_v13_0_init_microcode(struct smu_context *smu);
128 void smu_v13_0_fini_microcode(struct smu_context *smu);
130 int smu_v13_0_load_microcode(struct smu_context *smu);
132 int smu_v13_0_init_smc_tables(struct smu_context *smu);
134 int smu_v13_0_fini_smc_tables(struct smu_context *smu);
136 int smu_v13_0_init_power(struct smu_context *smu);
138 int smu_v13_0_fini_power(struct smu_context *smu);
140 int smu_v13_0_check_fw_status(struct smu_context *smu);
142 int smu_v13_0_setup_pptable(struct smu_context *smu);
144 int smu_v13_0_get_vbios_bootup_values(struct smu_context *smu);
[all …]
Dsmu_v11_0.h160 int smu_v11_0_init_microcode(struct smu_context *smu);
162 void smu_v11_0_fini_microcode(struct smu_context *smu);
164 int smu_v11_0_load_microcode(struct smu_context *smu);
166 int smu_v11_0_init_smc_tables(struct smu_context *smu);
168 int smu_v11_0_fini_smc_tables(struct smu_context *smu);
170 int smu_v11_0_init_power(struct smu_context *smu);
172 int smu_v11_0_fini_power(struct smu_context *smu);
174 int smu_v11_0_check_fw_status(struct smu_context *smu);
176 int smu_v11_0_setup_pptable(struct smu_context *smu);
178 int smu_v11_0_get_vbios_bootup_values(struct smu_context *smu);
[all …]
Damdgpu_smu.h575 int (*run_btc)(struct smu_context *smu);
582 int (*get_allowed_feature_mask)(struct smu_context *smu, uint32_t *feature_mask, uint32_t num);
589 enum amd_pm_state_type (*get_current_power_state)(struct smu_context *smu);
595 int (*set_default_dpm_table)(struct smu_context *smu);
597 int (*set_power_state)(struct smu_context *smu);
603 int (*populate_umd_state_clk)(struct smu_context *smu);
611 int (*print_clk_levels)(struct smu_context *smu, enum smu_clk_type clk_type, char *buf);
619 int (*force_clk_levels)(struct smu_context *smu, enum smu_clk_type clk_type, uint32_t mask);
627 int (*od_edit_dpm_table)(struct smu_context *smu,
635 int (*restore_user_od_settings)(struct smu_context *smu);
[all …]
Dsmu_v12_0.h36 int smu_v12_0_check_fw_status(struct smu_context *smu);
38 int smu_v12_0_check_fw_version(struct smu_context *smu);
40 int smu_v12_0_powergate_sdma(struct smu_context *smu, bool gate);
42 int smu_v12_0_powergate_vcn(struct smu_context *smu, bool gate);
44 int smu_v12_0_powergate_jpeg(struct smu_context *smu, bool gate);
46 int smu_v12_0_set_gfx_cgpg(struct smu_context *smu, bool enable);
48 uint32_t smu_v12_0_get_gfxoff_status(struct smu_context *smu);
50 int smu_v12_0_gfx_off_control(struct smu_context *smu, bool enable);
52 int smu_v12_0_fini_smc_tables(struct smu_context *smu);
54 int smu_v12_0_set_default_dpm_tables(struct smu_context *smu);
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/pm/swsmu/smu13/
Dsmu_v13_0.c78 int smu_v13_0_init_microcode(struct smu_context *smu) in smu_v13_0_init_microcode() argument
80 struct amdgpu_device *adev = smu->adev; in smu_v13_0_init_microcode()
133 void smu_v13_0_fini_microcode(struct smu_context *smu) in smu_v13_0_fini_microcode() argument
135 struct amdgpu_device *adev = smu->adev; in smu_v13_0_fini_microcode()
142 int smu_v13_0_load_microcode(struct smu_context *smu) in smu_v13_0_load_microcode() argument
145 struct amdgpu_device *adev = smu->adev; in smu_v13_0_load_microcode()
183 int smu_v13_0_check_fw_status(struct smu_context *smu) in smu_v13_0_check_fw_status() argument
185 struct amdgpu_device *adev = smu->adev; in smu_v13_0_check_fw_status()
198 int smu_v13_0_check_fw_version(struct smu_context *smu) in smu_v13_0_check_fw_version() argument
205 ret = smu_cmn_get_smc_version(smu, &if_version, &smu_version); in smu_v13_0_check_fw_version()
[all …]
Dyellow_carp_ppt.c147 static int yellow_carp_init_smc_tables(struct smu_context *smu) in yellow_carp_init_smc_tables() argument
149 struct smu_table_context *smu_table = &smu->smu_table; in yellow_carp_init_smc_tables()
189 static int yellow_carp_fini_smc_tables(struct smu_context *smu) in yellow_carp_fini_smc_tables() argument
191 struct smu_table_context *smu_table = &smu->smu_table; in yellow_carp_fini_smc_tables()
205 static int yellow_carp_system_features_control(struct smu_context *smu, bool en) in yellow_carp_system_features_control() argument
207 struct smu_feature *feature = &smu->smu_feature; in yellow_carp_system_features_control()
208 struct amdgpu_device *adev = smu->adev; in yellow_carp_system_features_control()
213 ret = smu_cmn_send_smc_msg(smu, SMU_MSG_PrepareMp1ForUnload, NULL); in yellow_carp_system_features_control()
221 ret = smu_cmn_get_enabled_32_bits_mask(smu, feature_mask, 2); in yellow_carp_system_features_control()
233 static int yellow_carp_dpm_set_vcn_enable(struct smu_context *smu, bool enable) in yellow_carp_dpm_set_vcn_enable() argument
[all …]
Daldebaran_ppt.c209 static int aldebaran_tables_init(struct smu_context *smu) in aldebaran_tables_init() argument
211 struct smu_table_context *smu_table = &smu->smu_table; in aldebaran_tables_init()
241 static int aldebaran_allocate_dpm_context(struct smu_context *smu) in aldebaran_allocate_dpm_context() argument
243 struct smu_dpm_context *smu_dpm = &smu->smu_dpm; in aldebaran_allocate_dpm_context()
264 static int aldebaran_init_smc_tables(struct smu_context *smu) in aldebaran_init_smc_tables() argument
268 ret = aldebaran_tables_init(smu); in aldebaran_init_smc_tables()
272 ret = aldebaran_allocate_dpm_context(smu); in aldebaran_init_smc_tables()
276 return smu_v13_0_init_smc_tables(smu); in aldebaran_init_smc_tables()
279 static int aldebaran_get_allowed_feature_mask(struct smu_context *smu, in aldebaran_get_allowed_feature_mask() argument
291 static int aldebaran_set_default_dpm_table(struct smu_context *smu) in aldebaran_set_default_dpm_table() argument
[all …]
/Linux-v5.15/drivers/macintosh/
Dsmu.c99 static struct smu_device *smu; variable
115 if (list_empty(&smu->cmd_list)) in smu_start_cmd()
119 cmd = list_entry(smu->cmd_list.next, struct smu_cmd, link); in smu_start_cmd()
120 smu->cmd_cur = cmd; in smu_start_cmd()
128 smu->cmd_buf->cmd = cmd->cmd; in smu_start_cmd()
129 smu->cmd_buf->length = cmd->data_len; in smu_start_cmd()
130 memcpy(smu->cmd_buf->data, cmd->data_buf, cmd->data_len); in smu_start_cmd()
133 faddr = (unsigned long)smu->cmd_buf; in smu_start_cmd()
134 fend = faddr + smu->cmd_buf->length + 2; in smu_start_cmd()
147 if (smu->broken_nap) in smu_start_cmd()
[all …]
Dwindfarm_smu_controls.c258 struct device_node *smu, *fans, *fan; in smu_controls_init() local
263 smu = of_find_node_by_type(NULL, "smu"); in smu_controls_init()
264 if (smu == NULL) in smu_controls_init()
268 for (fans = NULL; (fans = of_get_next_child(smu, fans)) != NULL;) in smu_controls_init()
288 for (fans = NULL; (fans = of_get_next_child(smu, fans)) != NULL;) in smu_controls_init()
304 of_node_put(smu); in smu_controls_init()
/Linux-v5.15/arch/arm/mach-shmobile/
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-v5.15/arch/arm/boot/dts/
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 …]
/Linux-v5.15/drivers/mtd/nand/raw/atmel/
Dpmecc.c175 s16 *smu; member
374 user->smu = user->lmu + (req->ecc.strength + 1); in atmel_pmecc_create_user()
375 user->mu = (s32 *)PTR_ALIGN(user->smu + in atmel_pmecc_create_user()
502 s16 *smu = user->smu; in atmel_pmecc_get_sigma() local
516 memset(smu, 0, sizeof(s16) * num); in atmel_pmecc_get_sigma()
517 smu[0] = 1; in atmel_pmecc_get_sigma()
530 memset(&smu[num], 0, sizeof(s16) * num); in atmel_pmecc_get_sigma()
531 smu[num] = 1; in atmel_pmecc_get_sigma()
542 memset(&smu[(strength + 1) * num], 0, sizeof(s16) * num); in atmel_pmecc_get_sigma()
559 smu[(strength + 1) * num + j] = in atmel_pmecc_get_sigma()
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/amdgpu/
Damdgpu_umc.c135 if (adev->smu.ppt_funcs && adev->smu.ppt_funcs->send_hbm_bad_pages_num) in amdgpu_umc_process_ras_data_cb()
136 adev->smu.ppt_funcs->send_hbm_bad_pages_num(&adev->smu, con->eeprom_control.ras_num_recs); in amdgpu_umc_process_ras_data_cb()

12