0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #ifndef __SMU_INTERNAL_H__
0024 #define __SMU_INTERNAL_H__
0025
0026 #include "amdgpu_smu.h"
0027
0028 #if defined(SWSMU_CODE_LAYER_L1)
0029
0030 #define smu_ppt_funcs(intf, ret, smu, args...) \
0031 ((smu)->ppt_funcs ? ((smu)->ppt_funcs->intf ? (smu)->ppt_funcs->intf(smu, ##args) : ret) : -EINVAL)
0032
0033 #define smu_init_microcode(smu) smu_ppt_funcs(init_microcode, 0, smu)
0034 #define smu_fini_microcode(smu) smu_ppt_funcs(fini_microcode, 0, smu)
0035 #define smu_init_smc_tables(smu) smu_ppt_funcs(init_smc_tables, 0, smu)
0036 #define smu_fini_smc_tables(smu) smu_ppt_funcs(fini_smc_tables, 0, smu)
0037 #define smu_init_power(smu) smu_ppt_funcs(init_power, 0, smu)
0038 #define smu_fini_power(smu) smu_ppt_funcs(fini_power, 0, smu)
0039 #define smu_setup_pptable(smu) smu_ppt_funcs(setup_pptable, 0, smu)
0040 #define smu_powergate_sdma(smu, gate) smu_ppt_funcs(powergate_sdma, 0, smu, gate)
0041 #define smu_get_vbios_bootup_values(smu) smu_ppt_funcs(get_vbios_bootup_values, 0, smu)
0042 #define smu_check_fw_version(smu) smu_ppt_funcs(check_fw_version, 0, smu)
0043 #define smu_write_pptable(smu) smu_ppt_funcs(write_pptable, 0, smu)
0044 #define smu_set_min_dcef_deep_sleep(smu, clk) smu_ppt_funcs(set_min_dcef_deep_sleep, 0, smu, clk)
0045 #define smu_set_driver_table_location(smu) smu_ppt_funcs(set_driver_table_location, 0, smu)
0046 #define smu_set_tool_table_location(smu) smu_ppt_funcs(set_tool_table_location, 0, smu)
0047 #define smu_notify_memory_pool_location(smu) smu_ppt_funcs(notify_memory_pool_location, 0, smu)
0048 #define smu_gfx_off_control(smu, enable) smu_ppt_funcs(gfx_off_control, 0, smu, enable)
0049 #define smu_get_gfx_off_status(smu) smu_ppt_funcs(get_gfx_off_status, 0, smu)
0050 #define smu_set_last_dcef_min_deep_sleep_clk(smu) smu_ppt_funcs(set_last_dcef_min_deep_sleep_clk, 0, smu)
0051 #define smu_system_features_control(smu, en) smu_ppt_funcs(system_features_control, 0, smu, en)
0052 #define smu_init_max_sustainable_clocks(smu) smu_ppt_funcs(init_max_sustainable_clocks, 0, smu)
0053 #define smu_set_default_od_settings(smu) smu_ppt_funcs(set_default_od_settings, 0, smu)
0054 #define smu_send_smc_msg_with_param(smu, msg, param, read_arg) smu_ppt_funcs(send_smc_msg_with_param, 0, smu, msg, param, read_arg)
0055 #define smu_send_smc_msg(smu, msg, read_arg) smu_ppt_funcs(send_smc_msg, 0, smu, msg, read_arg)
0056 #define smu_init_display_count(smu, count) smu_ppt_funcs(init_display_count, 0, smu, count)
0057 #define smu_feature_set_allowed_mask(smu) smu_ppt_funcs(set_allowed_mask, 0, smu)
0058 #define smu_feature_get_enabled_mask(smu, mask) smu_ppt_funcs(get_enabled_mask, -EOPNOTSUPP, smu, mask)
0059 #define smu_feature_is_enabled(smu, mask) smu_ppt_funcs(feature_is_enabled, 0, smu, mask)
0060 #define smu_disable_all_features_with_exception(smu, mask) smu_ppt_funcs(disable_all_features_with_exception, 0, smu, mask)
0061 #define smu_is_dpm_running(smu) smu_ppt_funcs(is_dpm_running, 0 , smu)
0062 #define smu_notify_display_change(smu) smu_ppt_funcs(notify_display_change, 0, smu)
0063 #define smu_populate_umd_state_clk(smu) smu_ppt_funcs(populate_umd_state_clk, 0, smu)
0064 #define smu_enable_thermal_alert(smu) smu_ppt_funcs(enable_thermal_alert, 0, smu)
0065 #define smu_disable_thermal_alert(smu) smu_ppt_funcs(disable_thermal_alert, 0, smu)
0066 #define smu_smc_read_sensor(smu, sensor, data, size) smu_ppt_funcs(read_sensor, -EINVAL, smu, sensor, data, size)
0067 #define smu_pre_display_config_changed(smu) smu_ppt_funcs(pre_display_config_changed, 0, smu)
0068 #define smu_display_config_changed(smu) smu_ppt_funcs(display_config_changed, 0 , smu)
0069 #define smu_apply_clocks_adjust_rules(smu) smu_ppt_funcs(apply_clocks_adjust_rules, 0, smu)
0070 #define smu_notify_smc_display_config(smu) smu_ppt_funcs(notify_smc_display_config, 0, smu)
0071 #define smu_run_btc(smu) smu_ppt_funcs(run_btc, 0, smu)
0072 #define smu_get_allowed_feature_mask(smu, feature_mask, num) smu_ppt_funcs(get_allowed_feature_mask, 0, smu, feature_mask, num)
0073 #define smu_set_watermarks_table(smu, clock_ranges) smu_ppt_funcs(set_watermarks_table, 0, smu, clock_ranges)
0074 #define smu_thermal_temperature_range_update(smu, range, rw) smu_ppt_funcs(thermal_temperature_range_update, 0, smu, range, rw)
0075 #define smu_register_irq_handler(smu) smu_ppt_funcs(register_irq_handler, 0, smu)
0076 #define smu_get_dpm_ultimate_freq(smu, param, min, max) smu_ppt_funcs(get_dpm_ultimate_freq, 0, smu, param, min, max)
0077 #define smu_asic_set_performance_level(smu, level) smu_ppt_funcs(set_performance_level, -EINVAL, smu, level)
0078 #define smu_dump_pptable(smu) smu_ppt_funcs(dump_pptable, 0, smu)
0079 #define smu_update_pcie_parameters(smu, pcie_gen_cap, pcie_width_cap) smu_ppt_funcs(update_pcie_parameters, 0, smu, pcie_gen_cap, pcie_width_cap)
0080 #define smu_set_power_source(smu, power_src) smu_ppt_funcs(set_power_source, 0, smu, power_src)
0081 #define smu_i2c_init(smu) smu_ppt_funcs(i2c_init, 0, smu)
0082 #define smu_i2c_fini(smu) smu_ppt_funcs(i2c_fini, 0, smu)
0083 #define smu_get_unique_id(smu) smu_ppt_funcs(get_unique_id, 0, smu)
0084 #define smu_log_thermal_throttling(smu) smu_ppt_funcs(log_thermal_throttling_event, 0, smu)
0085 #define smu_get_asic_power_limits(smu, current, default, max) smu_ppt_funcs(get_power_limit, 0, smu, current, default, max)
0086 #define smu_get_pp_feature_mask(smu, buf) smu_ppt_funcs(get_pp_feature_mask, 0, smu, buf)
0087 #define smu_set_pp_feature_mask(smu, new_mask) smu_ppt_funcs(set_pp_feature_mask, 0, smu, new_mask)
0088 #define smu_gfx_ulv_control(smu, enablement) smu_ppt_funcs(gfx_ulv_control, 0, smu, enablement)
0089 #define smu_deep_sleep_control(smu, enablement) smu_ppt_funcs(deep_sleep_control, 0, smu, enablement)
0090 #define smu_get_fan_parameters(smu) smu_ppt_funcs(get_fan_parameters, 0, smu)
0091 #define smu_post_init(smu) smu_ppt_funcs(post_init, 0, smu)
0092 #define smu_gpo_control(smu, enablement) smu_ppt_funcs(gpo_control, 0, smu, enablement)
0093 #define smu_set_fine_grain_gfx_freq_parameters(smu) smu_ppt_funcs(set_fine_grain_gfx_freq_parameters, 0, smu)
0094 #define smu_get_default_config_table_settings(smu, config_table) smu_ppt_funcs(get_default_config_table_settings, -EOPNOTSUPP, smu, config_table)
0095 #define smu_set_config_table(smu, config_table) smu_ppt_funcs(set_config_table, -EOPNOTSUPP, smu, config_table)
0096 #define smu_init_pptable_microcode(smu) smu_ppt_funcs(init_pptable_microcode, 0, smu)
0097
0098 #endif
0099 #endif