drm/amd/pm: change the workload type for some cards
change the workload type for some cards as it is needed. Signed-off-by: Kenneth Feng <kenneth.feng@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
2fd31689f9
commit
93c5701b00
@@ -5127,6 +5127,13 @@ static int vega10_get_power_profile_mode(struct pp_hwmgr *hwmgr, char *buf)
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool vega10_get_power_profile_mode_quirks(struct pp_hwmgr *hwmgr)
|
||||||
|
{
|
||||||
|
struct amdgpu_device *adev = hwmgr->adev;
|
||||||
|
|
||||||
|
return (adev->pdev->device == 0x6860);
|
||||||
|
}
|
||||||
|
|
||||||
static int vega10_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, uint32_t size)
|
static int vega10_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, uint32_t size)
|
||||||
{
|
{
|
||||||
struct vega10_hwmgr *data = hwmgr->backend;
|
struct vega10_hwmgr *data = hwmgr->backend;
|
||||||
@@ -5163,9 +5170,15 @@ static int vega10_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetWorkloadMask,
|
if (vega10_get_power_profile_mode_quirks(hwmgr))
|
||||||
|
smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetWorkloadMask,
|
||||||
1 << power_profile_mode,
|
1 << power_profile_mode,
|
||||||
NULL);
|
NULL);
|
||||||
|
else
|
||||||
|
smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetWorkloadMask,
|
||||||
|
(!power_profile_mode) ? 0 : 1 << (power_profile_mode - 1),
|
||||||
|
NULL);
|
||||||
|
|
||||||
hwmgr->power_profile_mode = power_profile_mode;
|
hwmgr->power_profile_mode = power_profile_mode;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user