mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-07 09:24:59 -05:00
drm/amd/pm: unify the interface for gfx state setting
No need to have special handling for swSMU supported ASICs. Signed-off-by: Evan Quan <evan.quan@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -842,14 +842,10 @@ int amdgpu_gfx_get_num_kcq(struct amdgpu_device *adev)
|
||||
|
||||
void amdgpu_gfx_state_change_set(struct amdgpu_device *adev, enum gfx_change_state state)
|
||||
{
|
||||
if (is_support_sw_smu(adev)) {
|
||||
smu_gfx_state_change_set(&adev->smu, state);
|
||||
} else {
|
||||
mutex_lock(&adev->pm.mutex);
|
||||
if (adev->powerplay.pp_funcs &&
|
||||
adev->powerplay.pp_funcs->gfx_state_change_set)
|
||||
((adev)->powerplay.pp_funcs->gfx_state_change_set(
|
||||
(adev)->powerplay.pp_handle, state));
|
||||
mutex_unlock(&adev->pm.mutex);
|
||||
}
|
||||
mutex_lock(&adev->pm.mutex);
|
||||
if (adev->powerplay.pp_funcs &&
|
||||
adev->powerplay.pp_funcs->gfx_state_change_set)
|
||||
((adev)->powerplay.pp_funcs->gfx_state_change_set(
|
||||
(adev)->powerplay.pp_handle, state));
|
||||
mutex_unlock(&adev->pm.mutex);
|
||||
}
|
||||
|
||||
@@ -1282,8 +1282,6 @@ int smu_allow_xgmi_power_down(struct smu_context *smu, bool en);
|
||||
|
||||
int smu_get_status_gfxoff(struct amdgpu_device *adev, uint32_t *value);
|
||||
|
||||
int smu_gfx_state_change_set(struct smu_context *smu, uint32_t state);
|
||||
|
||||
int smu_set_light_sbr(struct smu_context *smu, bool enable);
|
||||
|
||||
int smu_wait_for_event(struct amdgpu_device *adev, enum smu_event_type event,
|
||||
|
||||
@@ -2906,8 +2906,10 @@ static int smu_enable_mgpu_fan_boost(void *handle)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int smu_gfx_state_change_set(struct smu_context *smu, uint32_t state)
|
||||
static int smu_gfx_state_change_set(void *handle,
|
||||
uint32_t state)
|
||||
{
|
||||
struct smu_context *smu = handle;
|
||||
int ret = 0;
|
||||
|
||||
mutex_lock(&smu->mutex);
|
||||
@@ -2980,6 +2982,7 @@ static const struct amd_pm_funcs swsmu_pm_funcs = {
|
||||
.display_disable_memory_clock_switch = smu_display_disable_memory_clock_switch,
|
||||
.get_max_sustainable_clocks_by_dc = smu_get_max_sustainable_clocks_by_dc,
|
||||
.load_firmware = smu_load_microcode,
|
||||
.gfx_state_change_set = smu_gfx_state_change_set,
|
||||
};
|
||||
|
||||
int smu_wait_for_event(struct amdgpu_device *adev, enum smu_event_type event,
|
||||
|
||||
Reference in New Issue
Block a user