/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/smu12/ |
H A D | smu_v12_0.c | 184 struct smu_table_context *smu_table = &smu->smu_table; in smu_v12_0_fini_smc_tables() local 186 kfree(smu_table->clocks_table); in smu_v12_0_fini_smc_tables() 187 smu_table->clocks_table = NULL; in smu_v12_0_fini_smc_tables() 189 kfree(smu_table->metrics_table); in smu_v12_0_fini_smc_tables() 190 smu_table->metrics_table = NULL; in smu_v12_0_fini_smc_tables() 192 kfree(smu_table->watermarks_table); in smu_v12_0_fini_smc_tables() 193 smu_table->watermarks_table = NULL; in smu_v12_0_fini_smc_tables() 195 kfree(smu_table->gpu_metrics_table); in smu_v12_0_fini_smc_tables() 196 smu_table->gpu_metrics_table = NULL; in smu_v12_0_fini_smc_tables() 203 struct smu_table_context *smu_table = &smu->smu_table; in smu_v12_0_set_default_dpm_tables() local [all …]
|
H A D | renoir_ppt.c | 158 struct smu_table_context *smu_table = &smu->smu_table; in renoir_init_smc_tables() local 159 struct smu_table *tables = smu_table->tables; in renoir_init_smc_tables() 168 smu_table->clocks_table = kzalloc(sizeof(DpmClocks_t), GFP_KERNEL); in renoir_init_smc_tables() 169 if (!smu_table->clocks_table) in renoir_init_smc_tables() 172 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL); in renoir_init_smc_tables() 173 if (!smu_table->metrics_table) in renoir_init_smc_tables() 175 smu_table->metrics_time = 0; in renoir_init_smc_tables() 177 smu_table->watermarks_table = kzalloc(sizeof(Watermarks_t), GFP_KERNEL); in renoir_init_smc_tables() 178 if (!smu_table->watermarks_table) in renoir_init_smc_tables() 181 smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v2_2); in renoir_init_smc_tables() [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/smu11/ |
H A D | smu_v11_0.c | 330 if (version_major == 2 && smu->smu_table.boot_values.pp_table_id > 0) { in smu_v11_0_setup_pptable() 331 dev_info(adev->dev, "use driver provided pptable %d\n", smu->smu_table.boot_values.pp_table_id); in smu_v11_0_setup_pptable() 338 smu->smu_table.boot_values.pp_table_id); in smu_v11_0_setup_pptable() 361 if (!smu->smu_table.power_play_table) in smu_v11_0_setup_pptable() 362 smu->smu_table.power_play_table = table; in smu_v11_0_setup_pptable() 363 if (!smu->smu_table.power_play_table_size) in smu_v11_0_setup_pptable() 364 smu->smu_table.power_play_table_size = size; in smu_v11_0_setup_pptable() 371 struct smu_table_context *smu_table = &smu->smu_table; in smu_v11_0_init_smc_tables() local 372 struct smu_table *tables = smu_table->tables; in smu_v11_0_init_smc_tables() 375 smu_table->driver_pptable = in smu_v11_0_init_smc_tables() [all …]
|
H A D | cyan_skillfish_ppt.c | 89 struct smu_table_context *smu_table = &smu->smu_table; in cyan_skillfish_tables_init() local 90 struct smu_table *tables = smu_table->tables; in cyan_skillfish_tables_init() 97 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL); in cyan_skillfish_tables_init() 98 if (!smu_table->metrics_table) in cyan_skillfish_tables_init() 101 smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v2_2); in cyan_skillfish_tables_init() 102 smu_table->gpu_metrics_table = kzalloc(smu_table->gpu_metrics_table_size, GFP_KERNEL); in cyan_skillfish_tables_init() 103 if (!smu_table->gpu_metrics_table) in cyan_skillfish_tables_init() 106 smu_table->metrics_time = 0; in cyan_skillfish_tables_init() 111 smu_table->gpu_metrics_table_size = 0; in cyan_skillfish_tables_init() 112 kfree(smu_table->metrics_table); in cyan_skillfish_tables_init() [all …]
|
H A D | vangogh_ppt.c | 226 struct smu_table_context *smu_table = &smu->smu_table; in vangogh_tables_init() local 227 struct smu_table *tables = smu_table->tables; in vangogh_tables_init() 249 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_legacy_t), GFP_KERNEL); in vangogh_tables_init() 253 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL); in vangogh_tables_init() 255 if (!smu_table->metrics_table) in vangogh_tables_init() 257 smu_table->metrics_time = 0; in vangogh_tables_init() 259 smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v2_2); in vangogh_tables_init() 260 …smu_table->gpu_metrics_table_size = max(smu_table->gpu_metrics_table_size, sizeof(struct gpu_metri… in vangogh_tables_init() 261 …smu_table->gpu_metrics_table_size = max(smu_table->gpu_metrics_table_size, sizeof(struct gpu_metri… in vangogh_tables_init() 262 smu_table->gpu_metrics_table = kzalloc(smu_table->gpu_metrics_table_size, GFP_KERNEL); in vangogh_tables_init() [all …]
|
H A D | navi10_ppt.c | 367 struct smu_table_context *table_context = &smu->smu_table; in navi10_check_bxco_support() 385 struct smu_table_context *table_context = &smu->smu_table; in navi10_check_powerplay_table() 409 struct smu_table_context *table_context = &smu->smu_table; in navi10_append_powerplay_table() 461 struct smu_table_context *table_context = &smu->smu_table; in navi10_store_powerplay_table() 496 struct smu_table_context *smu_table = &smu->smu_table; in navi10_tables_init() local 497 struct smu_table *tables = smu_table->tables; in navi10_tables_init() 498 struct smu_table *dummy_read_1_table = in navi10_tables_init() 499 &smu_table->dummy_read_1_table; in navi10_tables_init() 523 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_NV1X_t), in navi10_tables_init() 525 if (!smu_table->metrics_table) in navi10_tables_init() [all …]
|
H A D | arcturus_ppt.c | 252 struct smu_table_context *smu_table = &smu->smu_table; in arcturus_tables_init() local 253 struct smu_table *tables = smu_table->tables; in arcturus_tables_init() 271 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL); in arcturus_tables_init() 272 if (!smu_table->metrics_table) in arcturus_tables_init() 274 smu_table->metrics_time = 0; in arcturus_tables_init() 276 smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v1_3); in arcturus_tables_init() 277 smu_table->gpu_metrics_table = kzalloc(smu_table->gpu_metrics_table_size, GFP_KERNEL); in arcturus_tables_init() 278 if (!smu_table->gpu_metrics_table) { in arcturus_tables_init() 279 kfree(smu_table->metrics_table); in arcturus_tables_init() 330 PPTable_t *driver_ppt = smu->smu_table.driver_pptable; in arcturus_set_default_dpm_table() [all …]
|
H A D | sienna_cichlid_ppt.c | 78 (*member) = (smu->smu_table.driver_pptable + offsetof(PPTable_beige_goby_t, field));\ 80 (*member) = (smu->smu_table.driver_pptable + offsetof(PPTable_t, field));\ 360 struct smu_table_context *table_context = &smu->smu_table; in sienna_cichlid_check_bxco_support() 394 struct smu_table_context *table_context = &smu->smu_table; in sienna_cichlid_check_fan_support() 408 struct smu_table_context *table_context = &smu->smu_table; in sienna_cichlid_check_powerplay_table() 438 ppt_beige_goby = smu->smu_table.driver_pptable; in sienna_cichlid_append_powerplay_table() 440 ppt = smu->smu_table.driver_pptable; in sienna_cichlid_append_powerplay_table() 462 struct smu_table_context *table_context = &smu->smu_table; in sienna_cichlid_store_powerplay_table() 529 struct smu_table_context *smu_table = &smu->smu_table; in sienna_cichlid_tables_init() local 530 struct smu_table *tables = smu_table->tables; in sienna_cichlid_tables_init() [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/smu13/ |
H A D | smu_v13_0.c | 209 pptable_id = smu->smu_table.boot_values.pp_table_id; in smu_v13_0_init_pptable_microcode() 414 pptable_id = smu->smu_table.boot_values.pp_table_id; in smu_v13_0_setup_pptable() 426 if (!smu->smu_table.power_play_table) in smu_v13_0_setup_pptable() 427 smu->smu_table.power_play_table = table; in smu_v13_0_setup_pptable() 428 if (!smu->smu_table.power_play_table_size) in smu_v13_0_setup_pptable() 429 smu->smu_table.power_play_table_size = size; in smu_v13_0_setup_pptable() 436 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_init_smc_tables() local 437 struct smu_table *tables = smu_table->tables; in smu_v13_0_init_smc_tables() 440 smu_table->driver_pptable = in smu_v13_0_init_smc_tables() 442 if (!smu_table->driver_pptable) { in smu_v13_0_init_smc_tables() [all …]
|
H A D | smu_v13_0_5_ppt.c | 126 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_5_init_smc_tables() local 127 struct smu_table *tables = smu_table->tables; in smu_v13_0_5_init_smc_tables() 136 smu_table->clocks_table = kzalloc(sizeof(DpmClocks_t), GFP_KERNEL); in smu_v13_0_5_init_smc_tables() 137 if (!smu_table->clocks_table) in smu_v13_0_5_init_smc_tables() 140 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL); in smu_v13_0_5_init_smc_tables() 141 if (!smu_table->metrics_table) in smu_v13_0_5_init_smc_tables() 143 smu_table->metrics_time = 0; in smu_v13_0_5_init_smc_tables() 145 smu_table->watermarks_table = kzalloc(sizeof(Watermarks_t), GFP_KERNEL); in smu_v13_0_5_init_smc_tables() 146 if (!smu_table->watermarks_table) in smu_v13_0_5_init_smc_tables() 149 smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v2_1); in smu_v13_0_5_init_smc_tables() [all …]
|
H A D | smu_v13_0_4_ppt.c | 152 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_4_init_smc_tables() local 153 struct smu_table *tables = smu_table->tables; in smu_v13_0_4_init_smc_tables() 162 smu_table->clocks_table = kzalloc(sizeof(DpmClocks_t), GFP_KERNEL); in smu_v13_0_4_init_smc_tables() 163 if (!smu_table->clocks_table) in smu_v13_0_4_init_smc_tables() 166 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL); in smu_v13_0_4_init_smc_tables() 167 if (!smu_table->metrics_table) in smu_v13_0_4_init_smc_tables() 169 smu_table->metrics_time = 0; in smu_v13_0_4_init_smc_tables() 171 smu_table->watermarks_table = kzalloc(sizeof(Watermarks_t), GFP_KERNEL); in smu_v13_0_4_init_smc_tables() 172 if (!smu_table->watermarks_table) in smu_v13_0_4_init_smc_tables() 175 smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v2_1); in smu_v13_0_4_init_smc_tables() [all …]
|
H A D | yellow_carp_ppt.c | 153 struct smu_table_context *smu_table = &smu->smu_table; in yellow_carp_init_smc_tables() local 154 struct smu_table *tables = smu_table->tables; in yellow_carp_init_smc_tables() 163 smu_table->clocks_table = kzalloc(sizeof(DpmClocks_t), GFP_KERNEL); in yellow_carp_init_smc_tables() 164 if (!smu_table->clocks_table) in yellow_carp_init_smc_tables() 167 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL); in yellow_carp_init_smc_tables() 168 if (!smu_table->metrics_table) in yellow_carp_init_smc_tables() 170 smu_table->metrics_time = 0; in yellow_carp_init_smc_tables() 172 smu_table->watermarks_table = kzalloc(sizeof(Watermarks_t), GFP_KERNEL); in yellow_carp_init_smc_tables() 173 if (!smu_table->watermarks_table) in yellow_carp_init_smc_tables() 176 smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v2_1); in yellow_carp_init_smc_tables() [all …]
|
H A D | smu_v13_0_0_ppt.c | 339 struct smu_table_context *table_context = &smu->smu_table; in smu_v13_0_0_check_powerplay_table() 343 PPTable_t *pptable = smu->smu_table.driver_pptable; in smu_v13_0_0_check_powerplay_table() 345 PPTable_t *pptable = smu->smu_table.driver_pptable; in smu_v13_0_0_check_powerplay_table() 392 struct smu_table_context *table_context = &smu->smu_table; in smu_v13_0_0_store_powerplay_table() 411 struct smu_table_context *table_context = &smu->smu_table; in smu_v13_0_0_append_powerplay_table() 434 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_0_get_pptable_from_pmfw() local 435 void *combo_pptable = smu_table->combo_pptable; in smu_v13_0_0_get_pptable_from_pmfw() 450 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_0_setup_pptable() local 458 &smu_table->power_play_table, in smu_v13_0_0_setup_pptable() 459 &smu_table->power_play_table_size); in smu_v13_0_0_setup_pptable() [all …]
|
H A D | smu_v13_0_6_ppt.c | 220 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_6_tables_init() local 221 struct smu_table *tables = smu_table->tables; in smu_v13_0_6_tables_init() 236 smu_table->metrics_table = kzalloc(sizeof(MetricsTable_t), GFP_KERNEL); in smu_v13_0_6_tables_init() 237 if (!smu_table->metrics_table) in smu_v13_0_6_tables_init() 239 smu_table->metrics_time = 0; in smu_v13_0_6_tables_init() 241 smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v1_3); in smu_v13_0_6_tables_init() 242 smu_table->gpu_metrics_table = in smu_v13_0_6_tables_init() 243 kzalloc(smu_table->gpu_metrics_table_size, GFP_KERNEL); in smu_v13_0_6_tables_init() 244 if (!smu_table->gpu_metrics_table) { in smu_v13_0_6_tables_init() 245 kfree(smu_table->metrics_table); in smu_v13_0_6_tables_init() [all …]
|
H A D | smu_v13_0_7_ppt.c | 328 struct smu_table_context *table_context = &smu->smu_table; in smu_v13_0_7_check_powerplay_table() 374 struct smu_table_context *table_context = &smu->smu_table; in smu_v13_0_7_store_powerplay_table() 412 struct smu_table_context *table_context = &smu->smu_table; in smu_v13_0_7_append_powerplay_table() 439 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_7_get_pptable_from_pmfw() local 440 void *combo_pptable = smu_table->combo_pptable; in smu_v13_0_7_get_pptable_from_pmfw() 455 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_7_setup_pptable() local 465 &smu_table->power_play_table, in smu_v13_0_7_setup_pptable() 466 &smu_table->power_play_table_size); in smu_v13_0_7_setup_pptable() 493 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_7_tables_init() local 494 struct smu_table *tables = smu_table->tables; in smu_v13_0_7_tables_init() [all …]
|
H A D | aldebaran_ppt.c | 229 struct smu_table_context *smu_table = &smu->smu_table; in aldebaran_tables_init() local 230 struct smu_table *tables = smu_table->tables; in aldebaran_tables_init() 247 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL); in aldebaran_tables_init() 248 if (!smu_table->metrics_table) in aldebaran_tables_init() 250 smu_table->metrics_time = 0; in aldebaran_tables_init() 252 smu_table->gpu_metrics_table_size = sizeof(struct gpu_metrics_v1_3); in aldebaran_tables_init() 253 smu_table->gpu_metrics_table = kzalloc(smu_table->gpu_metrics_table_size, GFP_KERNEL); in aldebaran_tables_init() 254 if (!smu_table->gpu_metrics_table) { in aldebaran_tables_init() 255 kfree(smu_table->metrics_table); in aldebaran_tables_init() 259 smu_table->ecc_table = kzalloc(tables[SMU_TABLE_ECCINFO].size, GFP_KERNEL); in aldebaran_tables_init() [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/ |
H A D | smu_cmn.c | 865 struct smu_table_context *smu_table = &smu->smu_table; in smu_cmn_update_table() local 867 struct smu_table *table = &smu_table->driver_table; in smu_cmn_update_table() 876 table_size = smu_table->tables[table_index].size; in smu_cmn_update_table() 905 void *watermarks_table = smu->smu_table.watermarks_table; in smu_cmn_write_watermarks_table() 919 void *pptable = smu->smu_table.driver_pptable; in smu_cmn_write_pptable() 932 struct smu_table_context *smu_table = &smu->smu_table; in smu_cmn_get_metrics_table() local 934 smu_table->tables[SMU_TABLE_SMU_METRICS].size; in smu_cmn_get_metrics_table() 938 !smu_table->metrics_time || in smu_cmn_get_metrics_table() 939 time_after(jiffies, smu_table->metrics_time + msecs_to_jiffies(1))) { in smu_cmn_get_metrics_table() 943 smu_table->metrics_table, in smu_cmn_get_metrics_table() [all …]
|
H A D | amdgpu_smu.c | 487 struct smu_table_context *smu_table = &smu->smu_table; in smu_sys_get_pp_table() local 492 if (!smu_table->power_play_table && !smu_table->hardcode_pptable) in smu_sys_get_pp_table() 495 if (smu_table->hardcode_pptable) in smu_sys_get_pp_table() 496 *table = smu_table->hardcode_pptable; in smu_sys_get_pp_table() 498 *table = smu_table->power_play_table; in smu_sys_get_pp_table() 500 return smu_table->power_play_table_size; in smu_sys_get_pp_table() 508 struct smu_table_context *smu_table = &smu->smu_table; in smu_sys_set_pp_table() local 520 if (!smu_table->hardcode_pptable || smu_table->power_play_table_size < size) { in smu_sys_set_pp_table() 521 kfree(smu_table->hardcode_pptable); in smu_sys_set_pp_table() 522 smu_table->hardcode_pptable = kzalloc(size, GFP_KERNEL); in smu_sys_set_pp_table() [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/inc/ |
H A D | amdgpu_smu.h | 249 struct smu_table { struct 338 struct smu_table tables[SMU_TABLE_COUNT]; 347 struct smu_table driver_table; 348 struct smu_table memory_pool; 349 struct smu_table dummy_read_1_table; 484 struct smu_table_context smu_table; member
|