diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0907-drm-amd-powerplay-delete-eventmgr-related-files.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0907-drm-amd-powerplay-delete-eventmgr-related-files.patch | 2548 |
1 files changed, 0 insertions, 2548 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0907-drm-amd-powerplay-delete-eventmgr-related-files.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0907-drm-amd-powerplay-delete-eventmgr-related-files.patch deleted file mode 100644 index bafa67e6..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0907-drm-amd-powerplay-delete-eventmgr-related-files.patch +++ /dev/null @@ -1,2548 +0,0 @@ -From 39723db4364b89bc96d409a154fe223cd86a9d11 Mon Sep 17 00:00:00 2001 -From: Rex Zhu <Rex.Zhu@amd.com> -Date: Fri, 1 Sep 2017 13:48:11 +0800 -Subject: [PATCH 0907/4131] drm/amd/powerplay: delete eventmgr related files. - -Change-Id: I6296a8cc697b51bf7d377c428ab02db64d3908fc -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> -Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> ---- - drivers/gpu/drm/amd/powerplay/eventmgr/Makefile | 11 - - .../drm/amd/powerplay/eventmgr/eventactionchains.c | 291 -------------- - .../drm/amd/powerplay/eventmgr/eventactionchains.h | 62 --- - drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.c | 195 --------- - drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.h | 34 -- - .../drm/amd/powerplay/eventmgr/eventmanagement.c | 215 ---------- - .../drm/amd/powerplay/eventmgr/eventmanagement.h | 59 --- - drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c | 104 ----- - .../drm/amd/powerplay/eventmgr/eventsubchains.c | 410 ------------------- - .../drm/amd/powerplay/eventmgr/eventsubchains.h | 100 ----- - .../gpu/drm/amd/powerplay/eventmgr/eventtasks.c | 445 --------------------- - .../gpu/drm/amd/powerplay/eventmgr/eventtasks.h | 89 ----- - drivers/gpu/drm/amd/powerplay/eventmgr/psm.c | 119 ------ - drivers/gpu/drm/amd/powerplay/eventmgr/psm.h | 38 -- - drivers/gpu/drm/amd/powerplay/inc/eventmanager.h | 109 ----- - drivers/gpu/drm/amd/powerplay/inc/eventmgr.h | 124 ------ - 16 files changed, 2405 deletions(-) - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/Makefile - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.c - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.h - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.c - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.h - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.c - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.h - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.c - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.h - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.h - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/psm.c - delete mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/psm.h - delete mode 100644 drivers/gpu/drm/amd/powerplay/inc/eventmanager.h - delete mode 100644 drivers/gpu/drm/amd/powerplay/inc/eventmgr.h - -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/Makefile b/drivers/gpu/drm/amd/powerplay/eventmgr/Makefile -deleted file mode 100644 -index 7509e38..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/Makefile -+++ /dev/null -@@ -1,11 +0,0 @@ --# --# Makefile for the 'event manager' sub-component of powerplay. --# It provides the event management services for the driver. -- --EVENT_MGR = eventmgr.o eventinit.o eventmanagement.o \ -- eventactionchains.o eventsubchains.o eventtasks.o psm.o -- --AMD_PP_EVENT = $(addprefix $(AMD_PP_PATH)/eventmgr/,$(EVENT_MGR)) -- --AMD_POWERPLAY_FILES += $(AMD_PP_EVENT) -- -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.c b/drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.c -deleted file mode 100644 -index 8cee4e0..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.c -+++ /dev/null -@@ -1,291 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ --#include "eventmgr.h" --#include "eventactionchains.h" --#include "eventsubchains.h" -- --static const pem_event_action * const initialize_event[] = { -- block_adjust_power_state_tasks, -- power_budget_tasks, -- system_config_tasks, -- setup_asic_tasks, -- enable_dynamic_state_management_tasks, -- get_2d_performance_state_tasks, -- set_performance_state_tasks, -- initialize_thermal_controller_tasks, -- conditionally_force_3d_performance_state_tasks, -- process_vbios_eventinfo_tasks, -- broadcast_power_policy_tasks, -- NULL --}; -- --const struct action_chain initialize_action_chain = { -- "Initialize", -- initialize_event --}; -- --static const pem_event_action * const uninitialize_event[] = { -- ungate_all_display_phys_tasks, -- uninitialize_display_phy_access_tasks, -- disable_gfx_voltage_island_power_gating_tasks, -- disable_gfx_clock_gating_tasks, -- uninitialize_thermal_controller_tasks, -- set_boot_state_tasks, -- adjust_power_state_tasks, -- disable_dynamic_state_management_tasks, -- disable_clock_power_gatings_tasks, -- cleanup_asic_tasks, -- prepare_for_pnp_stop_tasks, -- NULL --}; -- --const struct action_chain uninitialize_action_chain = { -- "Uninitialize", -- uninitialize_event --}; -- --static const pem_event_action * const power_source_change_event_pp_enabled[] = { -- set_power_source_tasks, -- set_power_saving_state_tasks, -- adjust_power_state_tasks, -- enable_disable_fps_tasks, -- set_nbmcu_state_tasks, -- broadcast_power_policy_tasks, -- NULL --}; -- --const struct action_chain power_source_change_action_chain_pp_enabled = { -- "Power source change - PowerPlay enabled", -- power_source_change_event_pp_enabled --}; -- --static const pem_event_action * const power_source_change_event_pp_disabled[] = { -- set_power_source_tasks, -- set_nbmcu_state_tasks, -- NULL --}; -- --const struct action_chain power_source_changes_action_chain_pp_disabled = { -- "Power source change - PowerPlay disabled", -- power_source_change_event_pp_disabled --}; -- --static const pem_event_action * const power_source_change_event_hardware_dc[] = { -- set_power_source_tasks, -- set_power_saving_state_tasks, -- adjust_power_state_tasks, -- enable_disable_fps_tasks, -- reset_hardware_dc_notification_tasks, -- set_nbmcu_state_tasks, -- broadcast_power_policy_tasks, -- NULL --}; -- --const struct action_chain power_source_change_action_chain_hardware_dc = { -- "Power source change - with Hardware DC switching", -- power_source_change_event_hardware_dc --}; -- --static const pem_event_action * const suspend_event[] = { -- reset_display_phy_access_tasks, -- unregister_interrupt_tasks, -- disable_gfx_voltage_island_power_gating_tasks, -- disable_gfx_clock_gating_tasks, -- notify_smu_suspend_tasks, -- disable_smc_firmware_ctf_tasks, -- set_boot_state_tasks, -- adjust_power_state_tasks, -- disable_fps_tasks, -- vari_bright_suspend_tasks, -- reset_fan_speed_to_default_tasks, -- power_down_asic_tasks, -- disable_stutter_mode_tasks, -- set_connected_standby_tasks, -- block_hw_access_tasks, -- NULL --}; -- --const struct action_chain suspend_action_chain = { -- "Suspend", -- suspend_event --}; -- --static const pem_event_action * const resume_event[] = { -- unblock_hw_access_tasks, -- resume_connected_standby_tasks, -- notify_smu_resume_tasks, -- reset_display_configCounter_tasks, -- update_dal_configuration_tasks, -- vari_bright_resume_tasks, -- setup_asic_tasks, -- enable_stutter_mode_tasks, /*must do this in boot state and before SMC is started */ -- enable_dynamic_state_management_tasks, -- enable_disable_bapm_tasks, -- initialize_thermal_controller_tasks, -- get_2d_performance_state_tasks, -- set_performance_state_tasks, -- adjust_power_state_tasks, -- enable_disable_fps_tasks, -- notify_hw_power_source_tasks, -- process_vbios_event_info_tasks, -- enable_gfx_clock_gating_tasks, -- enable_gfx_voltage_island_power_gating_tasks, -- reset_clock_gating_tasks, -- notify_smu_vpu_recovery_end_tasks, -- disable_vpu_cap_tasks, -- execute_escape_sequence_tasks, -- NULL --}; -- -- --const struct action_chain resume_action_chain = { -- "resume", -- resume_event --}; -- --static const pem_event_action * const complete_init_event[] = { -- unblock_adjust_power_state_tasks, -- adjust_power_state_tasks, -- enable_gfx_clock_gating_tasks, -- enable_gfx_voltage_island_power_gating_tasks, -- notify_power_state_change_tasks, -- NULL --}; -- --const struct action_chain complete_init_action_chain = { -- "complete init", -- complete_init_event --}; -- --static const pem_event_action * const enable_gfx_clock_gating_event[] = { -- enable_gfx_clock_gating_tasks, -- NULL --}; -- --const struct action_chain enable_gfx_clock_gating_action_chain = { -- "enable gfx clock gate", -- enable_gfx_clock_gating_event --}; -- --static const pem_event_action * const disable_gfx_clock_gating_event[] = { -- disable_gfx_clock_gating_tasks, -- NULL --}; -- --const struct action_chain disable_gfx_clock_gating_action_chain = { -- "disable gfx clock gate", -- disable_gfx_clock_gating_event --}; -- --static const pem_event_action * const enable_cgpg_event[] = { -- enable_cgpg_tasks, -- NULL --}; -- --const struct action_chain enable_cgpg_action_chain = { -- "eable cg pg", -- enable_cgpg_event --}; -- --static const pem_event_action * const disable_cgpg_event[] = { -- disable_cgpg_tasks, -- NULL --}; -- --const struct action_chain disable_cgpg_action_chain = { -- "disable cg pg", -- disable_cgpg_event --}; -- -- --/* Enable user _2d performance and activate */ -- --static const pem_event_action * const enable_user_state_event[] = { -- create_new_user_performance_state_tasks, -- adjust_power_state_tasks, -- NULL --}; -- --const struct action_chain enable_user_state_action_chain = { -- "Enable user state", -- enable_user_state_event --}; -- --static const pem_event_action * const enable_user_2d_performance_event[] = { -- enable_user_2d_performance_tasks, -- add_user_2d_performance_state_tasks, -- set_performance_state_tasks, -- adjust_power_state_tasks, -- delete_user_2d_performance_state_tasks, -- NULL --}; -- --const struct action_chain enable_user_2d_performance_action_chain = { -- "enable_user_2d_performance_event_activate", -- enable_user_2d_performance_event --}; -- -- --static const pem_event_action * const disable_user_2d_performance_event[] = { -- disable_user_2d_performance_tasks, -- delete_user_2d_performance_state_tasks, -- NULL --}; -- --const struct action_chain disable_user_2d_performance_action_chain = { -- "disable_user_2d_performance_event", -- disable_user_2d_performance_event --}; -- -- --static const pem_event_action * const display_config_change_event[] = { -- /* countDisplayConfigurationChangeEventTasks, */ -- unblock_adjust_power_state_tasks, -- set_cpu_power_state, -- notify_hw_power_source_tasks, -- get_2d_performance_state_tasks, -- set_performance_state_tasks, -- /* updateDALConfigurationTasks, -- variBrightDisplayConfigurationChangeTasks, */ -- adjust_power_state_tasks, -- /*enableDisableFPSTasks, -- setNBMCUStateTasks, -- notifyPCIEDeviceReadyTasks,*/ -- NULL --}; -- --const struct action_chain display_config_change_action_chain = { -- "Display configuration change", -- display_config_change_event --}; -- --static const pem_event_action * const readjust_power_state_event[] = { -- adjust_power_state_tasks, -- NULL --}; -- --const struct action_chain readjust_power_state_action_chain = { -- "re-adjust power state", -- readjust_power_state_event --}; -- -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.h b/drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.h -deleted file mode 100644 -index f181e53..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.h -+++ /dev/null -@@ -1,62 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ --#ifndef _EVENT_ACTION_CHAINS_H_ --#define _EVENT_ACTION_CHAINS_H_ --#include "eventmgr.h" -- --extern const struct action_chain initialize_action_chain; -- --extern const struct action_chain uninitialize_action_chain; -- --extern const struct action_chain power_source_change_action_chain_pp_enabled; -- --extern const struct action_chain power_source_changes_action_chain_pp_disabled; -- --extern const struct action_chain power_source_change_action_chain_hardware_dc; -- --extern const struct action_chain suspend_action_chain; -- --extern const struct action_chain resume_action_chain; -- --extern const struct action_chain complete_init_action_chain; -- --extern const struct action_chain enable_gfx_clock_gating_action_chain; -- --extern const struct action_chain disable_gfx_clock_gating_action_chain; -- --extern const struct action_chain enable_cgpg_action_chain; -- --extern const struct action_chain disable_cgpg_action_chain; -- --extern const struct action_chain enable_user_2d_performance_action_chain; -- --extern const struct action_chain disable_user_2d_performance_action_chain; -- --extern const struct action_chain enable_user_state_action_chain; -- --extern const struct action_chain readjust_power_state_action_chain; -- --extern const struct action_chain display_config_change_action_chain; -- --#endif /*_EVENT_ACTION_CHAINS_H_*/ -- -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.c b/drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.c -deleted file mode 100644 -index a3cd230..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.c -+++ /dev/null -@@ -1,195 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ --#include "eventmgr.h" --#include "eventinit.h" --#include "ppinterrupt.h" --#include "hardwaremanager.h" -- --void pem_init_feature_info(struct pp_eventmgr *eventmgr) --{ -- -- /* PowerPlay info */ -- eventmgr->ui_state_info[PP_PowerSource_AC].default_ui_lable = -- PP_StateUILabel_Performance; -- -- eventmgr->ui_state_info[PP_PowerSource_AC].current_ui_label = -- PP_StateUILabel_Performance; -- -- eventmgr->ui_state_info[PP_PowerSource_DC].default_ui_lable = -- PP_StateUILabel_Battery; -- -- eventmgr->ui_state_info[PP_PowerSource_DC].current_ui_label = -- PP_StateUILabel_Battery; -- -- if (phm_cap_enabled(eventmgr->platform_descriptor->platformCaps, PHM_PlatformCaps_PowerPlaySupport)) { -- eventmgr->features[PP_Feature_PowerPlay].supported = true; -- eventmgr->features[PP_Feature_PowerPlay].version = PEM_CURRENT_POWERPLAY_FEATURE_VERSION; -- eventmgr->features[PP_Feature_PowerPlay].enabled_default = true; -- eventmgr->features[PP_Feature_PowerPlay].enabled = true; -- } else { -- eventmgr->features[PP_Feature_PowerPlay].supported = false; -- eventmgr->features[PP_Feature_PowerPlay].enabled = false; -- eventmgr->features[PP_Feature_PowerPlay].enabled_default = false; -- } -- -- eventmgr->features[PP_Feature_Force3DClock].supported = true; -- eventmgr->features[PP_Feature_Force3DClock].enabled = false; -- eventmgr->features[PP_Feature_Force3DClock].enabled_default = false; -- eventmgr->features[PP_Feature_Force3DClock].version = 1; -- -- /* over drive*/ -- eventmgr->features[PP_Feature_User2DPerformance].version = 4; -- eventmgr->features[PP_Feature_User3DPerformance].version = 4; -- eventmgr->features[PP_Feature_OverdriveTest].version = 4; -- -- eventmgr->features[PP_Feature_OverDrive].version = 4; -- eventmgr->features[PP_Feature_OverDrive].enabled = false; -- eventmgr->features[PP_Feature_OverDrive].enabled_default = false; -- -- eventmgr->features[PP_Feature_User2DPerformance].supported = false; -- eventmgr->features[PP_Feature_User2DPerformance].enabled = false; -- eventmgr->features[PP_Feature_User2DPerformance].enabled_default = false; -- -- eventmgr->features[PP_Feature_User3DPerformance].supported = false; -- eventmgr->features[PP_Feature_User3DPerformance].enabled = false; -- eventmgr->features[PP_Feature_User3DPerformance].enabled_default = false; -- -- eventmgr->features[PP_Feature_OverdriveTest].supported = false; -- eventmgr->features[PP_Feature_OverdriveTest].enabled = false; -- eventmgr->features[PP_Feature_OverdriveTest].enabled_default = false; -- -- eventmgr->features[PP_Feature_OverDrive].supported = false; -- -- eventmgr->features[PP_Feature_PowerBudgetWaiver].enabled_default = false; -- eventmgr->features[PP_Feature_PowerBudgetWaiver].version = 1; -- eventmgr->features[PP_Feature_PowerBudgetWaiver].supported = false; -- eventmgr->features[PP_Feature_PowerBudgetWaiver].enabled = false; -- -- /* Multi UVD States support */ -- eventmgr->features[PP_Feature_MultiUVDState].supported = false; -- eventmgr->features[PP_Feature_MultiUVDState].enabled = false; -- eventmgr->features[PP_Feature_MultiUVDState].enabled_default = false; -- -- /* Dynamic UVD States support */ -- eventmgr->features[PP_Feature_DynamicUVDState].supported = false; -- eventmgr->features[PP_Feature_DynamicUVDState].enabled = false; -- eventmgr->features[PP_Feature_DynamicUVDState].enabled_default = false; -- -- /* VCE DPM support */ -- eventmgr->features[PP_Feature_VCEDPM].supported = false; -- eventmgr->features[PP_Feature_VCEDPM].enabled = false; -- eventmgr->features[PP_Feature_VCEDPM].enabled_default = false; -- -- /* ACP PowerGating support */ -- eventmgr->features[PP_Feature_ACP_POWERGATING].supported = false; -- eventmgr->features[PP_Feature_ACP_POWERGATING].enabled = false; -- eventmgr->features[PP_Feature_ACP_POWERGATING].enabled_default = false; -- -- /* PPM support */ -- eventmgr->features[PP_Feature_PPM].version = 1; -- eventmgr->features[PP_Feature_PPM].supported = false; -- eventmgr->features[PP_Feature_PPM].enabled = false; -- -- /* FFC support (enables fan and temp settings, Gemini needs temp settings) */ -- if (phm_cap_enabled(eventmgr->platform_descriptor->platformCaps, PHM_PlatformCaps_ODFuzzyFanControlSupport) || -- phm_cap_enabled(eventmgr->platform_descriptor->platformCaps, PHM_PlatformCaps_GeminiRegulatorFanControlSupport)) { -- eventmgr->features[PP_Feature_FFC].version = 1; -- eventmgr->features[PP_Feature_FFC].supported = true; -- eventmgr->features[PP_Feature_FFC].enabled = true; -- eventmgr->features[PP_Feature_FFC].enabled_default = true; -- } else { -- eventmgr->features[PP_Feature_FFC].supported = false; -- eventmgr->features[PP_Feature_FFC].enabled = false; -- eventmgr->features[PP_Feature_FFC].enabled_default = false; -- } -- -- eventmgr->features[PP_Feature_VariBright].supported = false; -- eventmgr->features[PP_Feature_VariBright].enabled = false; -- eventmgr->features[PP_Feature_VariBright].enabled_default = false; -- -- eventmgr->features[PP_Feature_BACO].supported = false; -- eventmgr->features[PP_Feature_BACO].supported = false; -- eventmgr->features[PP_Feature_BACO].enabled_default = false; -- -- /* PowerDown feature support */ -- eventmgr->features[PP_Feature_PowerDown].supported = false; -- eventmgr->features[PP_Feature_PowerDown].enabled = false; -- eventmgr->features[PP_Feature_PowerDown].enabled_default = false; -- -- eventmgr->features[PP_Feature_FPS].version = 1; -- eventmgr->features[PP_Feature_FPS].supported = false; -- eventmgr->features[PP_Feature_FPS].enabled_default = false; -- eventmgr->features[PP_Feature_FPS].enabled = false; -- -- eventmgr->features[PP_Feature_ViPG].version = 1; -- eventmgr->features[PP_Feature_ViPG].supported = false; -- eventmgr->features[PP_Feature_ViPG].enabled_default = false; -- eventmgr->features[PP_Feature_ViPG].enabled = false; --} -- --static int thermal_interrupt_callback(void *private_data, -- unsigned src_id, const uint32_t *iv_entry) --{ -- /* TO DO hanle PEM_Event_ThermalNotification (struct pp_eventmgr *)private_data*/ -- pr_info("current thermal is out of range \n"); -- return 0; --} -- --int pem_register_interrupts(struct pp_eventmgr *eventmgr) --{ -- int result = 0; -- struct pp_interrupt_registration_info info; -- -- info.call_back = thermal_interrupt_callback; -- info.context = eventmgr; -- -- result = phm_register_thermal_interrupt(eventmgr->hwmgr, &info); -- -- /* TODO: -- * 2. Register CTF event interrupt -- * 3. Register for vbios events interrupt -- * 4. Register External Throttle Interrupt -- * 5. Register Smc To Host Interrupt -- * */ -- return result; --} -- -- --int pem_unregister_interrupts(struct pp_eventmgr *eventmgr) --{ -- return 0; --} -- -- --void pem_uninit_featureInfo(struct pp_eventmgr *eventmgr) --{ -- eventmgr->features[PP_Feature_MultiUVDState].supported = false; -- eventmgr->features[PP_Feature_VariBright].supported = false; -- eventmgr->features[PP_Feature_PowerBudgetWaiver].supported = false; -- eventmgr->features[PP_Feature_OverDrive].supported = false; -- eventmgr->features[PP_Feature_OverdriveTest].supported = false; -- eventmgr->features[PP_Feature_User3DPerformance].supported = false; -- eventmgr->features[PP_Feature_User2DPerformance].supported = false; -- eventmgr->features[PP_Feature_PowerPlay].supported = false; -- eventmgr->features[PP_Feature_Force3DClock].supported = false; --} -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.h b/drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.h -deleted file mode 100644 -index 9ef96aa..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.h -+++ /dev/null -@@ -1,34 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ -- --#ifndef _EVENTINIT_H_ --#define _EVENTINIT_H_ -- --#define PEM_CURRENT_POWERPLAY_FEATURE_VERSION 4 -- --void pem_init_feature_info(struct pp_eventmgr *eventmgr); --void pem_uninit_featureInfo(struct pp_eventmgr *eventmgr); --int pem_register_interrupts(struct pp_eventmgr *eventmgr); --int pem_unregister_interrupts(struct pp_eventmgr *eventmgr); -- --#endif /* _EVENTINIT_H_ */ -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.c b/drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.c -deleted file mode 100644 -index cd1ca07..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.c -+++ /dev/null -@@ -1,215 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ --#include "eventmanagement.h" --#include "eventmgr.h" --#include "eventactionchains.h" -- --int pem_init_event_action_chains(struct pp_eventmgr *eventmgr) --{ -- int i; -- -- for (i = 0; i < AMD_PP_EVENT_MAX; i++) -- eventmgr->event_chain[i] = NULL; -- -- eventmgr->event_chain[AMD_PP_EVENT_SUSPEND] = pem_get_suspend_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_INITIALIZE] = pem_get_initialize_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_UNINITIALIZE] = pem_get_uninitialize_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_POWER_SOURCE_CHANGE] = pem_get_power_source_change_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_HIBERNATE] = pem_get_hibernate_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_RESUME] = pem_get_resume_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_THERMAL_NOTIFICATION] = pem_get_thermal_notification_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_VBIOS_NOTIFICATION] = pem_get_vbios_notification_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_ENTER_THERMAL_STATE] = pem_get_enter_thermal_state_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_EXIT_THERMAL_STATE] = pem_get_exit_thermal_state_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_ENABLE_POWER_PLAY] = pem_get_enable_powerplay_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_DISABLE_POWER_PLAY] = pem_get_disable_powerplay_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_ENABLE_OVER_DRIVE_TEST] = pem_get_enable_overdrive_test_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_DISABLE_OVER_DRIVE_TEST] = pem_get_disable_overdrive_test_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_ENABLE_GFX_CLOCK_GATING] = pem_get_enable_gfx_clock_gating_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_DISABLE_GFX_CLOCK_GATING] = pem_get_disable_gfx_clock_gating_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_ENABLE_CGPG] = pem_get_enable_cgpg_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_DISABLE_CGPG] = pem_get_disable_cgpg_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_COMPLETE_INIT] = pem_get_complete_init_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_SCREEN_ON] = pem_get_screen_on_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_SCREEN_OFF] = pem_get_screen_off_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_PRE_SUSPEND] = pem_get_pre_suspend_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_PRE_RESUME] = pem_get_pre_resume_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_ENABLE_USER_STATE] = pem_enable_user_state_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_READJUST_POWER_STATE] = pem_readjust_power_state_action_chain(eventmgr); -- eventmgr->event_chain[AMD_PP_EVENT_DISPLAY_CONFIG_CHANGE] = pem_display_config_change_action_chain(eventmgr); -- return 0; --} -- --int pem_excute_event_chain(struct pp_eventmgr *eventmgr, const struct action_chain *event_chain, struct pem_event_data *event_data) --{ -- const pem_event_action * const *paction_chain; -- const pem_event_action *psub_chain; -- int tmp_result = 0; -- int result = 0; -- -- if (eventmgr == NULL || event_chain == NULL || event_data == NULL) -- return -EINVAL; -- -- for (paction_chain = event_chain->action_chain; NULL != *paction_chain; paction_chain++) { -- if (0 != result) -- return result; -- -- for (psub_chain = *paction_chain; NULL != *psub_chain; psub_chain++) { -- tmp_result = (*psub_chain)(eventmgr, event_data); -- if (0 == result) -- result = tmp_result; -- } -- } -- -- return result; --} -- --const struct action_chain *pem_get_suspend_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &suspend_action_chain; --} -- --const struct action_chain *pem_get_initialize_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &initialize_action_chain; --} -- --const struct action_chain *pem_get_uninitialize_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &uninitialize_action_chain; --} -- --const struct action_chain *pem_get_power_source_change_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &power_source_change_action_chain_pp_enabled; /* other case base on feature info*/ --} -- --const struct action_chain *pem_get_resume_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &resume_action_chain; --} -- --const struct action_chain *pem_get_hibernate_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_thermal_notification_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_vbios_notification_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_enter_thermal_state_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_exit_thermal_state_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_enable_powerplay_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_disable_powerplay_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_enable_overdrive_test_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_disable_overdrive_test_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_enable_gfx_clock_gating_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &enable_gfx_clock_gating_action_chain; --} -- --const struct action_chain *pem_get_disable_gfx_clock_gating_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &disable_gfx_clock_gating_action_chain; --} -- --const struct action_chain *pem_get_enable_cgpg_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &enable_cgpg_action_chain; --} -- --const struct action_chain *pem_get_disable_cgpg_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &disable_cgpg_action_chain; --} -- --const struct action_chain *pem_get_complete_init_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &complete_init_action_chain; --} -- --const struct action_chain *pem_get_screen_on_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_screen_off_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_pre_suspend_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_get_pre_resume_action_chain(struct pp_eventmgr *eventmgr) --{ -- return NULL; --} -- --const struct action_chain *pem_enable_user_state_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &enable_user_state_action_chain; --} -- --const struct action_chain *pem_readjust_power_state_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &readjust_power_state_action_chain; --} -- --const struct action_chain *pem_display_config_change_action_chain(struct pp_eventmgr *eventmgr) --{ -- return &display_config_change_action_chain; --} -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.h b/drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.h -deleted file mode 100644 -index 383d4b2..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.h -+++ /dev/null -@@ -1,59 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ --#ifndef _EVENT_MANAGEMENT_H_ --#define _EVENT_MANAGEMENT_H_ -- --#include "eventmgr.h" -- --int pem_init_event_action_chains(struct pp_eventmgr *eventmgr); --int pem_excute_event_chain(struct pp_eventmgr *eventmgr, const struct action_chain *event_chain, struct pem_event_data *event_data); --const struct action_chain *pem_get_suspend_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_initialize_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_uninitialize_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_power_source_change_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_resume_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_hibernate_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_thermal_notification_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_vbios_notification_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_enter_thermal_state_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_exit_thermal_state_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_enable_powerplay_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_disable_powerplay_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_enable_overdrive_test_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_disable_overdrive_test_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_enable_gfx_clock_gating_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_disable_gfx_clock_gating_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_enable_cgpg_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_disable_cgpg_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_complete_init_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_screen_on_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_screen_off_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_pre_suspend_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_get_pre_resume_action_chain(struct pp_eventmgr *eventmgr); -- --extern const struct action_chain *pem_enable_user_state_action_chain(struct pp_eventmgr *eventmgr); --extern const struct action_chain *pem_readjust_power_state_action_chain(struct pp_eventmgr *eventmgr); --const struct action_chain *pem_display_config_change_action_chain(struct pp_eventmgr *eventmgr); -- -- --#endif /* _EVENT_MANAGEMENT_H_ */ -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c b/drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c -deleted file mode 100644 -index 3e3ca03..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c -+++ /dev/null -@@ -1,104 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ --#include <linux/types.h> --#include <linux/kernel.h> --#include <linux/slab.h> --#include "eventmgr.h" --#include "hwmgr.h" --#include "eventinit.h" --#include "eventmanagement.h" -- --static int pem_init(struct pp_eventmgr *eventmgr) --{ -- int result = 0; -- struct pem_event_data event_data = { {0} }; -- -- /* Initialize PowerPlay feature info */ -- pem_init_feature_info(eventmgr); -- -- /* Initialize event action chains */ -- pem_init_event_action_chains(eventmgr); -- -- /* Call initialization event */ -- result = pem_handle_event(eventmgr, AMD_PP_EVENT_INITIALIZE, &event_data); -- -- /* if (0 != result) -- return result; */ -- -- /* Register interrupt callback functions */ -- result = pem_register_interrupts(eventmgr); -- return 0; --} -- --static void pem_fini(struct pp_eventmgr *eventmgr) --{ -- struct pem_event_data event_data = { {0} }; -- -- pem_uninit_featureInfo(eventmgr); -- pem_unregister_interrupts(eventmgr); -- -- pem_handle_event(eventmgr, AMD_PP_EVENT_UNINITIALIZE, &event_data); --} -- --int eventmgr_early_init(struct pp_instance *handle) --{ -- struct pp_eventmgr *eventmgr; -- -- if (handle == NULL) -- return -EINVAL; -- -- eventmgr = kzalloc(sizeof(struct pp_eventmgr), GFP_KERNEL); -- if (eventmgr == NULL) -- return -ENOMEM; -- -- eventmgr->hwmgr = handle->hwmgr; -- handle->eventmgr = eventmgr; -- -- eventmgr->platform_descriptor = &(eventmgr->hwmgr->platform_descriptor); -- eventmgr->pp_eventmgr_init = pem_init; -- eventmgr->pp_eventmgr_fini = pem_fini; -- -- return 0; --} -- --static int pem_handle_event_unlocked(struct pp_eventmgr *eventmgr, enum amd_pp_event event, struct pem_event_data *data) --{ -- if (eventmgr == NULL || event >= AMD_PP_EVENT_MAX || data == NULL) -- return -EINVAL; -- -- return pem_excute_event_chain(eventmgr, eventmgr->event_chain[event], data); --} -- --int pem_handle_event(struct pp_eventmgr *eventmgr, enum amd_pp_event event, struct pem_event_data *event_data) --{ -- int r = 0; -- -- r = pem_handle_event_unlocked(eventmgr, event, event_data); -- -- return r; --} -- --bool pem_is_hw_access_blocked(struct pp_eventmgr *eventmgr) --{ -- return (eventmgr->block_adjust_power_state || phm_is_hw_access_blocked(eventmgr->hwmgr)); --} -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.c b/drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.c -deleted file mode 100644 -index b82c43a..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.c -+++ /dev/null -@@ -1,410 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ -- --#include "eventmgr.h" --#include "eventsubchains.h" --#include "eventtasks.h" --#include "hardwaremanager.h" -- --const pem_event_action reset_display_phy_access_tasks[] = { -- pem_task_reset_display_phys_access, -- NULL --}; -- --const pem_event_action broadcast_power_policy_tasks[] = { -- /* PEM_Task_BroadcastPowerPolicyChange, */ -- NULL --}; -- --const pem_event_action unregister_interrupt_tasks[] = { -- pem_task_unregister_interrupts, -- NULL --}; -- --/* Disable GFX Voltage Islands Power Gating */ --const pem_event_action disable_gfx_voltage_island_powergating_tasks[] = { -- pem_task_disable_voltage_island_power_gating, -- NULL --}; -- --const pem_event_action disable_gfx_clockgating_tasks[] = { -- pem_task_disable_gfx_clock_gating, -- NULL --}; -- --const pem_event_action block_adjust_power_state_tasks[] = { -- pem_task_block_adjust_power_state, -- NULL --}; -- -- --const pem_event_action unblock_adjust_power_state_tasks[] = { -- pem_task_unblock_adjust_power_state, -- NULL --}; -- --const pem_event_action set_performance_state_tasks[] = { -- pem_task_set_performance_state, -- NULL --}; -- --const pem_event_action get_2d_performance_state_tasks[] = { -- pem_task_get_2D_performance_state_id, -- NULL --}; -- --const pem_event_action conditionally_force3D_performance_state_tasks[] = { -- pem_task_conditionally_force_3d_performance_state, -- NULL --}; -- --const pem_event_action process_vbios_eventinfo_tasks[] = { -- /* PEM_Task_ProcessVbiosEventInfo,*/ -- NULL --}; -- --const pem_event_action enable_dynamic_state_management_tasks[] = { -- /* PEM_Task_ResetBAPMPolicyChangedFlag,*/ -- pem_task_get_boot_state_id, -- pem_task_enable_dynamic_state_management, -- pem_task_register_interrupts, -- NULL --}; -- --const pem_event_action enable_clock_power_gatings_tasks[] = { -- pem_task_enable_clock_power_gatings_tasks, -- pem_task_powerdown_uvd_tasks, -- pem_task_powerdown_vce_tasks, -- NULL --}; -- --const pem_event_action setup_asic_tasks[] = { -- pem_task_setup_asic, -- NULL --}; -- --const pem_event_action power_budget_tasks[] = { -- /* TODO -- * PEM_Task_PowerBudgetWaiverAvailable, -- * PEM_Task_PowerBudgetWarningMessage, -- * PEM_Task_PruneStatesBasedOnPowerBudget, -- */ -- NULL --}; -- --const pem_event_action system_config_tasks[] = { -- /* PEM_Task_PruneStatesBasedOnSystemConfig,*/ -- NULL --}; -- -- --const pem_event_action conditionally_force_3d_performance_state_tasks[] = { -- pem_task_conditionally_force_3d_performance_state, -- NULL --}; -- --const pem_event_action ungate_all_display_phys_tasks[] = { -- /* PEM_Task_GetDisplayPhyAccessInfo */ -- NULL --}; -- --const pem_event_action uninitialize_display_phy_access_tasks[] = { -- /* PEM_Task_UninitializeDisplayPhysAccess, */ -- NULL --}; -- --const pem_event_action disable_gfx_voltage_island_power_gating_tasks[] = { -- /* PEM_Task_DisableVoltageIslandPowerGating, */ -- NULL --}; -- --const pem_event_action disable_gfx_clock_gating_tasks[] = { -- pem_task_disable_gfx_clock_gating, -- NULL --}; -- --const pem_event_action set_boot_state_tasks[] = { -- pem_task_get_boot_state_id, -- pem_task_set_boot_state, -- NULL --}; -- --const pem_event_action adjust_power_state_tasks[] = { -- pem_task_notify_hw_mgr_display_configuration_change, -- pem_task_adjust_power_state, -- pem_task_notify_smc_display_config_after_power_state_adjustment, -- pem_task_update_allowed_performance_levels, -- /* to do pem_task_Enable_disable_bapm, */ -- NULL --}; -- --const pem_event_action disable_dynamic_state_management_tasks[] = { -- pem_task_unregister_interrupts, -- pem_task_get_boot_state_id, -- pem_task_disable_dynamic_state_management, -- NULL --}; -- --const pem_event_action disable_clock_power_gatings_tasks[] = { -- pem_task_disable_clock_power_gatings_tasks, -- NULL --}; -- --const pem_event_action cleanup_asic_tasks[] = { -- /* PEM_Task_DisableFPS,*/ -- pem_task_cleanup_asic, -- NULL --}; -- --const pem_event_action prepare_for_pnp_stop_tasks[] = { -- /* PEM_Task_PrepareForPnpStop,*/ -- NULL --}; -- --const pem_event_action set_power_source_tasks[] = { -- pem_task_set_power_source, -- pem_task_notify_hw_of_power_source, -- NULL --}; -- --const pem_event_action set_power_saving_state_tasks[] = { -- pem_task_reset_power_saving_state, -- pem_task_get_power_saving_state, -- pem_task_set_power_saving_state, -- /* PEM_Task_ResetODDCState, -- * PEM_Task_GetODDCState, -- * PEM_Task_SetODDCState,*/ -- NULL --}; -- --const pem_event_action enable_disable_fps_tasks[] = { -- /* PEM_Task_EnableDisableFPS,*/ -- NULL --}; -- --const pem_event_action set_nbmcu_state_tasks[] = { -- /* PEM_Task_NBMCUStateChange,*/ -- NULL --}; -- --const pem_event_action reset_hardware_dc_notification_tasks[] = { -- /* PEM_Task_ResetHardwareDCNotification,*/ -- NULL --}; -- -- --const pem_event_action notify_smu_suspend_tasks[] = { -- /* PEM_Task_NotifySMUSuspend,*/ -- NULL --}; -- --const pem_event_action disable_smc_firmware_ctf_tasks[] = { -- pem_task_disable_smc_firmware_ctf, -- NULL --}; -- --const pem_event_action disable_fps_tasks[] = { -- /* PEM_Task_DisableFPS,*/ -- NULL --}; -- --const pem_event_action vari_bright_suspend_tasks[] = { -- /* PEM_Task_VariBright_Suspend,*/ -- NULL --}; -- --const pem_event_action reset_fan_speed_to_default_tasks[] = { -- /* PEM_Task_ResetFanSpeedToDefault,*/ -- NULL --}; -- --const pem_event_action power_down_asic_tasks[] = { -- /* PEM_Task_DisableFPS,*/ -- pem_task_power_down_asic, -- NULL --}; -- --const pem_event_action disable_stutter_mode_tasks[] = { -- /* PEM_Task_DisableStutterMode,*/ -- NULL --}; -- --const pem_event_action set_connected_standby_tasks[] = { -- /* PEM_Task_SetConnectedStandby,*/ -- NULL --}; -- --const pem_event_action block_hw_access_tasks[] = { -- pem_task_block_hw_access, -- NULL --}; -- --const pem_event_action unblock_hw_access_tasks[] = { -- pem_task_un_block_hw_access, -- NULL --}; -- --const pem_event_action resume_connected_standby_tasks[] = { -- /* PEM_Task_ResumeConnectedStandby,*/ -- NULL --}; -- --const pem_event_action notify_smu_resume_tasks[] = { -- /* PEM_Task_NotifySMUResume,*/ -- NULL --}; -- --const pem_event_action reset_display_configCounter_tasks[] = { -- pem_task_reset_display_phys_access, -- NULL --}; -- --const pem_event_action update_dal_configuration_tasks[] = { -- /* PEM_Task_CheckVBlankTime,*/ -- NULL --}; -- --const pem_event_action vari_bright_resume_tasks[] = { -- /* PEM_Task_VariBright_Resume,*/ -- NULL --}; -- --const pem_event_action notify_hw_power_source_tasks[] = { -- pem_task_notify_hw_of_power_source, -- NULL --}; -- --const pem_event_action process_vbios_event_info_tasks[] = { -- /* PEM_Task_ProcessVbiosEventInfo,*/ -- NULL --}; -- --const pem_event_action enable_gfx_clock_gating_tasks[] = { -- pem_task_enable_gfx_clock_gating, -- NULL --}; -- --const pem_event_action enable_gfx_voltage_island_power_gating_tasks[] = { -- pem_task_enable_voltage_island_power_gating, -- NULL --}; -- --const pem_event_action reset_clock_gating_tasks[] = { -- /* PEM_Task_ResetClockGating*/ -- NULL --}; -- --const pem_event_action notify_smu_vpu_recovery_end_tasks[] = { -- /* PEM_Task_NotifySmuVPURecoveryEnd,*/ -- NULL --}; -- --const pem_event_action disable_vpu_cap_tasks[] = { -- /* PEM_Task_DisableVPUCap,*/ -- NULL --}; -- --const pem_event_action execute_escape_sequence_tasks[] = { -- /* PEM_Task_ExecuteEscapesequence,*/ -- NULL --}; -- --const pem_event_action notify_power_state_change_tasks[] = { -- pem_task_notify_power_state_change, -- NULL --}; -- --const pem_event_action enable_cgpg_tasks[] = { -- pem_task_enable_cgpg, -- NULL --}; -- --const pem_event_action disable_cgpg_tasks[] = { -- pem_task_disable_cgpg, -- NULL --}; -- --const pem_event_action enable_user_2d_performance_tasks[] = { -- /* PEM_Task_SetUser2DPerformanceFlag,*/ -- /* PEM_Task_UpdateUser2DPerformanceEnableEvents,*/ -- NULL --}; -- --const pem_event_action add_user_2d_performance_state_tasks[] = { -- /* PEM_Task_Get2DPerformanceTemplate,*/ -- /* PEM_Task_AllocateNewPowerStateMemory,*/ -- /* PEM_Task_CopyNewPowerStateInfo,*/ -- /* PEM_Task_UpdateNewPowerStateClocks,*/ -- /* PEM_Task_UpdateNewPowerStateUser2DPerformanceFlag,*/ -- /* PEM_Task_AddPowerState,*/ -- /* PEM_Task_ReleaseNewPowerStateMemory,*/ -- NULL --}; -- --const pem_event_action delete_user_2d_performance_state_tasks[] = { -- /* PEM_Task_GetCurrentUser2DPerformanceStateID,*/ -- /* PEM_Task_DeletePowerState,*/ -- /* PEM_Task_SetCurrentUser2DPerformanceStateID,*/ -- NULL --}; -- --const pem_event_action disable_user_2d_performance_tasks[] = { -- /* PEM_Task_ResetUser2DPerformanceFlag,*/ -- /* PEM_Task_UpdateUser2DPerformanceDisableEvents,*/ -- NULL --}; -- --const pem_event_action enable_stutter_mode_tasks[] = { -- pem_task_enable_stutter_mode, -- NULL --}; -- --const pem_event_action enable_disable_bapm_tasks[] = { -- /*PEM_Task_EnableDisableBAPM,*/ -- NULL --}; -- --const pem_event_action reset_boot_state_tasks[] = { -- pem_task_reset_boot_state, -- NULL --}; -- --const pem_event_action create_new_user_performance_state_tasks[] = { -- pem_task_create_user_performance_state, -- NULL --}; -- --const pem_event_action initialize_thermal_controller_tasks[] = { -- pem_task_initialize_thermal_controller, -- NULL --}; -- --const pem_event_action uninitialize_thermal_controller_tasks[] = { -- pem_task_uninitialize_thermal_controller, -- NULL --}; -- --const pem_event_action set_cpu_power_state[] = { -- pem_task_set_cpu_power_state, -- NULL --}; -\ No newline at end of file -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.h b/drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.h -deleted file mode 100644 -index 7714cb92..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.h -+++ /dev/null -@@ -1,100 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ -- --#ifndef _EVENT_SUB_CHAINS_H_ --#define _EVENT_SUB_CHAINS_H_ -- --#include "eventmgr.h" -- --extern const pem_event_action reset_display_phy_access_tasks[]; --extern const pem_event_action broadcast_power_policy_tasks[]; --extern const pem_event_action unregister_interrupt_tasks[]; --extern const pem_event_action disable_GFX_voltage_island_powergating_tasks[]; --extern const pem_event_action disable_GFX_clockgating_tasks[]; --extern const pem_event_action block_adjust_power_state_tasks[]; --extern const pem_event_action unblock_adjust_power_state_tasks[]; --extern const pem_event_action set_performance_state_tasks[]; --extern const pem_event_action get_2D_performance_state_tasks[]; --extern const pem_event_action conditionally_force3D_performance_state_tasks[]; --extern const pem_event_action process_vbios_eventinfo_tasks[]; --extern const pem_event_action enable_dynamic_state_management_tasks[]; --extern const pem_event_action enable_clock_power_gatings_tasks[]; --extern const pem_event_action conditionally_force3D_performance_state_tasks[]; --extern const pem_event_action setup_asic_tasks[]; --extern const pem_event_action power_budget_tasks[]; --extern const pem_event_action system_config_tasks[]; --extern const pem_event_action get_2d_performance_state_tasks[]; --extern const pem_event_action conditionally_force_3d_performance_state_tasks[]; --extern const pem_event_action ungate_all_display_phys_tasks[]; --extern const pem_event_action uninitialize_display_phy_access_tasks[]; --extern const pem_event_action disable_gfx_voltage_island_power_gating_tasks[]; --extern const pem_event_action disable_gfx_clock_gating_tasks[]; --extern const pem_event_action set_boot_state_tasks[]; --extern const pem_event_action adjust_power_state_tasks[]; --extern const pem_event_action disable_dynamic_state_management_tasks[]; --extern const pem_event_action disable_clock_power_gatings_tasks[]; --extern const pem_event_action cleanup_asic_tasks[]; --extern const pem_event_action prepare_for_pnp_stop_tasks[]; --extern const pem_event_action set_power_source_tasks[]; --extern const pem_event_action set_power_saving_state_tasks[]; --extern const pem_event_action enable_disable_fps_tasks[]; --extern const pem_event_action set_nbmcu_state_tasks[]; --extern const pem_event_action reset_hardware_dc_notification_tasks[]; --extern const pem_event_action notify_smu_suspend_tasks[]; --extern const pem_event_action disable_smc_firmware_ctf_tasks[]; --extern const pem_event_action disable_fps_tasks[]; --extern const pem_event_action vari_bright_suspend_tasks[]; --extern const pem_event_action reset_fan_speed_to_default_tasks[]; --extern const pem_event_action power_down_asic_tasks[]; --extern const pem_event_action disable_stutter_mode_tasks[]; --extern const pem_event_action set_connected_standby_tasks[]; --extern const pem_event_action block_hw_access_tasks[]; --extern const pem_event_action unblock_hw_access_tasks[]; --extern const pem_event_action resume_connected_standby_tasks[]; --extern const pem_event_action notify_smu_resume_tasks[]; --extern const pem_event_action reset_display_configCounter_tasks[]; --extern const pem_event_action update_dal_configuration_tasks[]; --extern const pem_event_action vari_bright_resume_tasks[]; --extern const pem_event_action notify_hw_power_source_tasks[]; --extern const pem_event_action process_vbios_event_info_tasks[]; --extern const pem_event_action enable_gfx_clock_gating_tasks[]; --extern const pem_event_action enable_gfx_voltage_island_power_gating_tasks[]; --extern const pem_event_action reset_clock_gating_tasks[]; --extern const pem_event_action notify_smu_vpu_recovery_end_tasks[]; --extern const pem_event_action disable_vpu_cap_tasks[]; --extern const pem_event_action execute_escape_sequence_tasks[]; --extern const pem_event_action notify_power_state_change_tasks[]; --extern const pem_event_action enable_cgpg_tasks[]; --extern const pem_event_action disable_cgpg_tasks[]; --extern const pem_event_action enable_user_2d_performance_tasks[]; --extern const pem_event_action add_user_2d_performance_state_tasks[]; --extern const pem_event_action delete_user_2d_performance_state_tasks[]; --extern const pem_event_action disable_user_2d_performance_tasks[]; --extern const pem_event_action enable_stutter_mode_tasks[]; --extern const pem_event_action enable_disable_bapm_tasks[]; --extern const pem_event_action reset_boot_state_tasks[]; --extern const pem_event_action create_new_user_performance_state_tasks[]; --extern const pem_event_action initialize_thermal_controller_tasks[]; --extern const pem_event_action uninitialize_thermal_controller_tasks[]; --extern const pem_event_action set_cpu_power_state[]; --#endif /* _EVENT_SUB_CHAINS_H_ */ -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c b/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c -deleted file mode 100644 -index 8c4ebaa..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c -+++ /dev/null -@@ -1,445 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ -- --#include "eventmgr.h" --#include "eventinit.h" --#include "eventmanagement.h" --#include "eventmanager.h" --#include "hardwaremanager.h" --#include "eventtasks.h" --#include "power_state.h" --#include "hwmgr.h" --#include "amd_powerplay.h" --#include "psm.h" -- --#define TEMP_RANGE_MIN (90 * 1000) --#define TEMP_RANGE_MAX (120 * 1000) -- --int pem_task_update_allowed_performance_levels(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- -- if (eventmgr == NULL || eventmgr->hwmgr == NULL) -- return -EINVAL; -- -- if (pem_is_hw_access_blocked(eventmgr)) -- return 0; -- -- phm_force_dpm_levels(eventmgr->hwmgr, eventmgr->hwmgr->dpm_level); -- -- return 0; --} -- --/* eventtasks_generic.c */ --int pem_task_adjust_power_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- struct pp_hwmgr *hwmgr; -- -- if (pem_is_hw_access_blocked(eventmgr)) -- return 0; -- -- hwmgr = eventmgr->hwmgr; -- if (event_data->pnew_power_state != NULL) -- hwmgr->request_ps = event_data->pnew_power_state; -- -- if (phm_cap_enabled(eventmgr->platform_descriptor->platformCaps, PHM_PlatformCaps_DynamicPatchPowerState)) -- psm_adjust_power_state_dynamic(eventmgr, event_data->skip_state_adjust_rules); -- else -- psm_adjust_power_state_static(eventmgr, event_data->skip_state_adjust_rules); -- -- return 0; --} -- --int pem_task_power_down_asic(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return phm_power_down_asic(eventmgr->hwmgr); --} -- --int pem_task_set_boot_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- if (pem_is_event_data_valid(event_data->valid_fields, PEM_EventDataValid_RequestedStateID)) -- return psm_set_states(eventmgr, &(event_data->requested_state_id)); -- -- return 0; --} -- --int pem_task_reset_boot_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_update_new_power_state_clocks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_system_shutdown(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_register_interrupts(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_unregister_interrupts(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return pem_unregister_interrupts(eventmgr); --} -- --int pem_task_get_boot_state_id(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- int result; -- -- result = psm_get_state_by_classification(eventmgr, -- PP_StateClassificationFlag_Boot, -- &(event_data->requested_state_id) -- ); -- -- if (0 == result) -- pem_set_event_data_valid(event_data->valid_fields, PEM_EventDataValid_RequestedStateID); -- else -- pem_unset_event_data_valid(event_data->valid_fields, PEM_EventDataValid_RequestedStateID); -- -- return result; --} -- --int pem_task_enable_dynamic_state_management(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return phm_enable_dynamic_state_management(eventmgr->hwmgr); --} -- --int pem_task_disable_dynamic_state_management(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return phm_disable_dynamic_state_management(eventmgr->hwmgr); --} -- --int pem_task_enable_clock_power_gatings_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return phm_enable_clock_power_gatings(eventmgr->hwmgr); --} -- --int pem_task_powerdown_uvd_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return phm_powerdown_uvd(eventmgr->hwmgr); --} -- --int pem_task_powerdown_vce_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- phm_powergate_uvd(eventmgr->hwmgr, true); -- phm_powergate_vce(eventmgr->hwmgr, true); -- return 0; --} -- --int pem_task_disable_clock_power_gatings_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- phm_disable_clock_power_gatings(eventmgr->hwmgr); -- return 0; --} -- --int pem_task_start_asic_block_usage(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_stop_asic_block_usage(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_disable_smc_firmware_ctf(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return phm_disable_smc_firmware_ctf(eventmgr->hwmgr); --} -- --int pem_task_setup_asic(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return phm_setup_asic(eventmgr->hwmgr); --} -- --int pem_task_cleanup_asic(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_store_dal_configuration(struct pp_eventmgr *eventmgr, const struct amd_display_configuration *display_config) --{ -- /* TODO */ -- return 0; -- /*phm_store_dal_configuration_data(eventmgr->hwmgr, display_config) */ --} -- --int pem_task_notify_hw_mgr_display_configuration_change(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- if (pem_is_hw_access_blocked(eventmgr)) -- return 0; -- -- return phm_display_configuration_changed(eventmgr->hwmgr); --} -- --int pem_task_notify_hw_mgr_pre_display_configuration_change(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return 0; --} -- --int pem_task_notify_smc_display_config_after_power_state_adjustment(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- if (pem_is_hw_access_blocked(eventmgr)) -- return 0; -- -- return phm_notify_smc_display_config_after_ps_adjustment(eventmgr->hwmgr); --} -- --int pem_task_block_adjust_power_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- eventmgr->block_adjust_power_state = true; -- /* to do PHM_ResetIPSCounter(pEventMgr->pHwMgr);*/ -- return 0; --} -- --int pem_task_unblock_adjust_power_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- eventmgr->block_adjust_power_state = false; -- return 0; --} -- --int pem_task_notify_power_state_change(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_block_hw_access(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_un_block_hw_access(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_reset_display_phys_access(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_set_cpu_power_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return phm_set_cpu_power_state(eventmgr->hwmgr); --} -- --/*powersaving*/ -- --int pem_task_set_power_source(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_notify_hw_of_power_source(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_get_power_saving_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_reset_power_saving_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_set_power_saving_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_set_screen_state_on(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_set_screen_state_off(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_enable_voltage_island_power_gating(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_disable_voltage_island_power_gating(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_enable_cgpg(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_disable_cgpg(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_enable_clock_power_gating(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- -- --int pem_task_enable_gfx_clock_gating(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_disable_gfx_clock_gating(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- -- --/* performance */ --int pem_task_set_performance_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- if (pem_is_event_data_valid(event_data->valid_fields, PEM_EventDataValid_RequestedStateID)) -- return psm_set_states(eventmgr, &(event_data->requested_state_id)); -- -- return 0; --} -- --int pem_task_conditionally_force_3d_performance_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_enable_stutter_mode(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- /* TODO */ -- return 0; --} -- --int pem_task_get_2D_performance_state_id(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- int result; -- -- if (eventmgr->features[PP_Feature_PowerPlay].supported && -- !(eventmgr->features[PP_Feature_PowerPlay].enabled)) -- result = psm_get_state_by_classification(eventmgr, -- PP_StateClassificationFlag_Boot, -- &(event_data->requested_state_id)); -- else if (eventmgr->features[PP_Feature_User2DPerformance].enabled) -- result = psm_get_state_by_classification(eventmgr, -- PP_StateClassificationFlag_User2DPerformance, -- &(event_data->requested_state_id)); -- else -- result = psm_get_ui_state(eventmgr, PP_StateUILabel_Performance, -- &(event_data->requested_state_id)); -- -- if (0 == result) -- pem_set_event_data_valid(event_data->valid_fields, PEM_EventDataValid_RequestedStateID); -- else -- pem_unset_event_data_valid(event_data->valid_fields, PEM_EventDataValid_RequestedStateID); -- -- return result; --} -- --int pem_task_create_user_performance_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- struct pp_power_state *state; -- int table_entries; -- struct pp_hwmgr *hwmgr = eventmgr->hwmgr; -- int i; -- -- table_entries = hwmgr->num_ps; -- state = hwmgr->ps; -- --restart_search: -- for (i = 0; i < table_entries; i++) { -- if (state->classification.ui_label & event_data->requested_ui_label) { -- event_data->pnew_power_state = state; -- return 0; -- } -- state = (struct pp_power_state *)((unsigned long)state + hwmgr->ps_size); -- } -- -- switch (event_data->requested_ui_label) { -- case PP_StateUILabel_Battery: -- case PP_StateUILabel_Balanced: -- event_data->requested_ui_label = PP_StateUILabel_Performance; -- goto restart_search; -- default: -- break; -- } -- return -1; --} -- --int pem_task_initialize_thermal_controller(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- struct PP_TemperatureRange range; -- -- range.max = TEMP_RANGE_MAX; -- range.min = TEMP_RANGE_MIN; -- -- if (eventmgr == NULL || eventmgr->platform_descriptor == NULL) -- return -EINVAL; -- -- if (phm_cap_enabled(eventmgr->platform_descriptor->platformCaps, PHM_PlatformCaps_ThermalController)) -- return phm_start_thermal_controller(eventmgr->hwmgr, &range); -- -- return 0; --} -- --int pem_task_uninitialize_thermal_controller(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data) --{ -- return phm_stop_thermal_controller(eventmgr->hwmgr); --} -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.h b/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.h -deleted file mode 100644 -index 37e7ca5..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.h -+++ /dev/null -@@ -1,89 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ -- --#ifndef _EVENT_TASKS_H_ --#define _EVENT_TASKS_H_ --#include "eventmgr.h" -- --struct amd_display_configuration; -- --/* eventtasks_generic.c */ --int pem_task_adjust_power_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_power_down_asic(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_get_boot_state_id(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_set_boot_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_reset_boot_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_update_new_power_state_clocks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_system_shutdown(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_register_interrupts(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_unregister_interrupts(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_enable_dynamic_state_management(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_disable_dynamic_state_management(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_enable_clock_power_gatings_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_powerdown_uvd_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_powerdown_vce_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_disable_clock_power_gatings_tasks(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_start_asic_block_usage(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_stop_asic_block_usage(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_setup_asic(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_cleanup_asic(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_store_dal_configuration (struct pp_eventmgr *eventmgr, const struct amd_display_configuration *display_config); --int pem_task_notify_hw_mgr_display_configuration_change(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_notify_hw_mgr_pre_display_configuration_change(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_block_adjust_power_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_unblock_adjust_power_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_notify_power_state_change(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_block_hw_access(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_un_block_hw_access(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_reset_display_phys_access(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_set_cpu_power_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_notify_smc_display_config_after_power_state_adjustment(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --/*powersaving*/ -- --int pem_task_set_power_source(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_notify_hw_of_power_source(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_get_power_saving_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_reset_power_saving_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_set_power_saving_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_set_screen_state_on(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_set_screen_state_off(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_enable_voltage_island_power_gating(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_disable_voltage_island_power_gating(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_enable_cgpg(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_disable_cgpg(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_enable_gfx_clock_gating(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_disable_gfx_clock_gating(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_enable_stutter_mode(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); -- --/* performance */ --int pem_task_set_performance_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_conditionally_force_3d_performance_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_get_2D_performance_state_id(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_create_user_performance_state(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_update_allowed_performance_levels(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --/*thermal */ --int pem_task_initialize_thermal_controller(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_uninitialize_thermal_controller(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); --int pem_task_disable_smc_firmware_ctf(struct pp_eventmgr *eventmgr, struct pem_event_data *event_data); -- --#endif /* _EVENT_TASKS_H_ */ -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/psm.c b/drivers/gpu/drm/amd/powerplay/eventmgr/psm.c -deleted file mode 100644 -index 4899088..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/psm.c -+++ /dev/null -@@ -1,119 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ --#include "psm.h" -- --int psm_get_ui_state(struct pp_eventmgr *eventmgr, enum PP_StateUILabel ui_label, unsigned long *state_id) --{ -- struct pp_power_state *state; -- int table_entries; -- struct pp_hwmgr *hwmgr = eventmgr->hwmgr; -- int i; -- -- table_entries = hwmgr->num_ps; -- state = hwmgr->ps; -- -- for (i = 0; i < table_entries; i++) { -- if (state->classification.ui_label & ui_label) { -- *state_id = state->id; -- return 0; -- } -- state = (struct pp_power_state *)((unsigned long)state + hwmgr->ps_size); -- } -- return -1; --} -- --int psm_get_state_by_classification(struct pp_eventmgr *eventmgr, enum PP_StateClassificationFlag flag, unsigned long *state_id) --{ -- struct pp_power_state *state; -- int table_entries; -- struct pp_hwmgr *hwmgr = eventmgr->hwmgr; -- int i; -- -- table_entries = hwmgr->num_ps; -- state = hwmgr->ps; -- -- for (i = 0; i < table_entries; i++) { -- if (state->classification.flags & flag) { -- *state_id = state->id; -- return 0; -- } -- state = (struct pp_power_state *)((unsigned long)state + hwmgr->ps_size); -- } -- return -1; --} -- --int psm_set_states(struct pp_eventmgr *eventmgr, unsigned long *state_id) --{ -- struct pp_power_state *state; -- int table_entries; -- struct pp_hwmgr *hwmgr = eventmgr->hwmgr; -- int i; -- -- table_entries = hwmgr->num_ps; -- -- state = hwmgr->ps; -- -- for (i = 0; i < table_entries; i++) { -- if (state->id == *state_id) { -- memcpy(hwmgr->request_ps, state, hwmgr->ps_size); -- return 0; -- } -- state = (struct pp_power_state *)((unsigned long)state + hwmgr->ps_size); -- } -- return -1; --} -- --int psm_adjust_power_state_dynamic(struct pp_eventmgr *eventmgr, bool skip) --{ -- -- struct pp_power_state *pcurrent; -- struct pp_power_state *requested; -- struct pp_hwmgr *hwmgr; -- bool equal; -- -- if (skip) -- return 0; -- -- hwmgr = eventmgr->hwmgr; -- pcurrent = hwmgr->current_ps; -- requested = hwmgr->request_ps; -- -- if (requested == NULL) -- return 0; -- -- phm_apply_state_adjust_rules(hwmgr, requested, pcurrent); -- -- if (pcurrent == NULL || (0 != phm_check_states_equal(hwmgr, &pcurrent->hardware, &requested->hardware, &equal))) -- equal = false; -- -- if (!equal || phm_check_smc_update_required_for_display_configuration(hwmgr)) { -- phm_set_power_state(hwmgr, &pcurrent->hardware, &requested->hardware); -- memcpy(hwmgr->current_ps, hwmgr->request_ps, hwmgr->ps_size); -- } -- return 0; --} -- --int psm_adjust_power_state_static(struct pp_eventmgr *eventmgr, bool skip) --{ -- return 0; --} -diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/psm.h b/drivers/gpu/drm/amd/powerplay/eventmgr/psm.h -deleted file mode 100644 -index fbdff3e..0000000 ---- a/drivers/gpu/drm/amd/powerplay/eventmgr/psm.h -+++ /dev/null -@@ -1,38 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ --#include "eventmgr.h" --#include "eventinit.h" --#include "eventmanagement.h" --#include "eventmanager.h" --#include "power_state.h" --#include "hardwaremanager.h" -- --int psm_get_ui_state(struct pp_eventmgr *eventmgr, enum PP_StateUILabel ui_label, unsigned long *state_id); -- --int psm_get_state_by_classification(struct pp_eventmgr *eventmgr, enum PP_StateClassificationFlag flag, unsigned long *state_id); -- --int psm_set_states(struct pp_eventmgr *eventmgr, unsigned long *state_id); -- --int psm_adjust_power_state_dynamic(struct pp_eventmgr *eventmgr, bool skip); -- --int psm_adjust_power_state_static(struct pp_eventmgr *eventmgr, bool skip); -diff --git a/drivers/gpu/drm/amd/powerplay/inc/eventmanager.h b/drivers/gpu/drm/amd/powerplay/inc/eventmanager.h -deleted file mode 100644 -index b9d84de..0000000 ---- a/drivers/gpu/drm/amd/powerplay/inc/eventmanager.h -+++ /dev/null -@@ -1,109 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ --#ifndef _EVENT_MANAGER_H_ --#define _EVENT_MANAGER_H_ -- --#include "power_state.h" --#include "pp_power_source.h" --#include "hardwaremanager.h" --#include "pp_asicblocks.h" -- --struct pp_eventmgr; --enum amd_pp_event; -- --enum PEM_EventDataValid { -- PEM_EventDataValid_RequestedStateID = 0, -- PEM_EventDataValid_RequestedUILabel, -- PEM_EventDataValid_NewPowerState, -- PEM_EventDataValid_RequestedPowerSource, -- PEM_EventDataValid_RequestedClocks, -- PEM_EventDataValid_CurrentTemperature, -- PEM_EventDataValid_AsicBlocks, -- PEM_EventDataValid_ODParameters, -- PEM_EventDataValid_PXAdapterPrefs, -- PEM_EventDataValid_PXUserPrefs, -- PEM_EventDataValid_PXSwitchReason, -- PEM_EventDataValid_PXSwitchPhase, -- PEM_EventDataValid_HdVideo, -- PEM_EventDataValid_BacklightLevel, -- PEM_EventDatavalid_VariBrightParams, -- PEM_EventDataValid_VariBrightLevel, -- PEM_EventDataValid_VariBrightImmediateChange, -- PEM_EventDataValid_PercentWhite, -- PEM_EventDataValid_SdVideo, -- PEM_EventDataValid_HTLinkChangeReason, -- PEM_EventDataValid_HWBlocks, -- PEM_EventDataValid_RequestedThermalState, -- PEM_EventDataValid_MvcVideo, -- PEM_EventDataValid_Max --}; -- --typedef enum PEM_EventDataValid PEM_EventDataValid; -- --/* Number of bits in ULONG variable */ --#define PEM_MAX_NUM_EVENTDATAVALID_BITS_PER_FIELD (sizeof(unsigned long)*8) -- --/* Number of ULONG entries used by event data valid bits */ --#define PEM_MAX_NUM_EVENTDATAVALID_ULONG_ENTRIES \ -- ((PEM_EventDataValid_Max + PEM_MAX_NUM_EVENTDATAVALID_BITS_PER_FIELD - 1) / \ -- PEM_MAX_NUM_EVENTDATAVALID_BITS_PER_FIELD) -- --static inline void pem_set_event_data_valid(unsigned long *fields, PEM_EventDataValid valid_field) --{ -- fields[valid_field / PEM_MAX_NUM_EVENTDATAVALID_BITS_PER_FIELD] |= -- (1UL << (valid_field % PEM_MAX_NUM_EVENTDATAVALID_BITS_PER_FIELD)); --} -- --static inline void pem_unset_event_data_valid(unsigned long *fields, PEM_EventDataValid valid_field) --{ -- fields[valid_field / PEM_MAX_NUM_EVENTDATAVALID_BITS_PER_FIELD] &= -- ~(1UL << (valid_field % PEM_MAX_NUM_EVENTDATAVALID_BITS_PER_FIELD)); --} -- --static inline unsigned long pem_is_event_data_valid(const unsigned long *fields, PEM_EventDataValid valid_field) --{ -- return fields[valid_field / PEM_MAX_NUM_EVENTDATAVALID_BITS_PER_FIELD] & -- (1UL << (valid_field % PEM_MAX_NUM_EVENTDATAVALID_BITS_PER_FIELD)); --} -- --struct pem_event_data { -- unsigned long valid_fields[100]; -- unsigned long requested_state_id; -- enum PP_StateUILabel requested_ui_label; -- struct pp_power_state *pnew_power_state; -- enum pp_power_source requested_power_source; -- struct PP_Clocks requested_clocks; -- bool skip_state_adjust_rules; -- struct phm_asic_blocks asic_blocks; -- /* to doPP_ThermalState requestedThermalState; -- enum ThermalStateRequestSrc requestThermalStateSrc; -- PP_Temperature currentTemperature;*/ -- --}; -- --int pem_handle_event(struct pp_eventmgr *eventmgr, enum amd_pp_event event, -- struct pem_event_data *event_data); -- --bool pem_is_hw_access_blocked(struct pp_eventmgr *eventmgr); -- --#endif /* _EVENT_MANAGER_H_ */ -diff --git a/drivers/gpu/drm/amd/powerplay/inc/eventmgr.h b/drivers/gpu/drm/amd/powerplay/inc/eventmgr.h -deleted file mode 100644 -index 7bd8a7e..0000000 ---- a/drivers/gpu/drm/amd/powerplay/inc/eventmgr.h -+++ /dev/null -@@ -1,124 +0,0 @@ --/* -- * Copyright 2015 Advanced Micro Devices, Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included in -- * all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -- * OTHER DEALINGS IN THE SOFTWARE. -- * -- */ -- --#ifndef _EVENTMGR_H_ --#define _EVENTMGR_H_ -- --#include <linux/mutex.h> --#include "pp_instance.h" --#include "hardwaremanager.h" --#include "eventmanager.h" --#include "pp_feature.h" --#include "pp_power_source.h" --#include "power_state.h" -- --typedef int (*pem_event_action)(struct pp_eventmgr *eventmgr, -- struct pem_event_data *event_data); -- --struct action_chain { -- const char *description; /* action chain description for debugging purpose */ -- const pem_event_action * const *action_chain; /* pointer to chain of event actions */ --}; -- --struct pem_power_source_ui_state_info { -- enum PP_StateUILabel current_ui_label; -- enum PP_StateUILabel default_ui_lable; -- unsigned long configurable_ui_mapping; --}; -- --struct pp_clock_range { -- uint32_t min_sclk_khz; -- uint32_t max_sclk_khz; -- -- uint32_t min_mclk_khz; -- uint32_t max_mclk_khz; -- -- uint32_t min_vclk_khz; -- uint32_t max_vclk_khz; -- -- uint32_t min_dclk_khz; -- uint32_t max_dclk_khz; -- -- uint32_t min_aclk_khz; -- uint32_t max_aclk_khz; -- -- uint32_t min_eclk_khz; -- uint32_t max_eclk_khz; --}; -- --enum pp_state { -- UNINITIALIZED, -- INACTIVE, -- ACTIVE --}; -- --enum pp_ring_index { -- PP_RING_TYPE_GFX_INDEX = 0, -- PP_RING_TYPE_DMA_INDEX, -- PP_RING_TYPE_DMA1_INDEX, -- PP_RING_TYPE_UVD_INDEX, -- PP_RING_TYPE_VCE0_INDEX, -- PP_RING_TYPE_VCE1_INDEX, -- PP_RING_TYPE_CP1_INDEX, -- PP_RING_TYPE_CP2_INDEX, -- PP_NUM_RINGS, --}; -- --struct pp_request { -- uint32_t flags; -- uint32_t sclk; -- uint32_t sclk_throttle; -- uint32_t mclk; -- uint32_t vclk; -- uint32_t dclk; -- uint32_t eclk; -- uint32_t aclk; -- uint32_t iclk; -- uint32_t vp8clk; -- uint32_t rsv[32]; --}; -- --struct pp_eventmgr { -- struct pp_hwmgr *hwmgr; -- struct pp_smumgr *smumgr; -- -- struct pp_feature_info features[PP_Feature_Max]; -- const struct action_chain *event_chain[AMD_PP_EVENT_MAX]; -- struct phm_platform_descriptor *platform_descriptor; -- struct pp_clock_range clock_range; -- enum pp_power_source current_power_source; -- struct pem_power_source_ui_state_info ui_state_info[PP_PowerSource_Max]; -- enum pp_state states[PP_NUM_RINGS]; -- struct pp_request hi_req; -- struct list_head context_list; -- struct mutex lock; -- bool block_adjust_power_state; -- bool enable_cg; -- bool enable_gfx_cgpg; -- int (*pp_eventmgr_init)(struct pp_eventmgr *eventmgr); -- void (*pp_eventmgr_fini)(struct pp_eventmgr *eventmgr); --}; -- --int eventmgr_early_init(struct pp_instance *handle); -- --#endif /* _EVENTMGR_H_ */ --- -2.7.4 - |