drm/amd/pm: change the workload type for some cards
[ Upstream commit 93c5701b00d50d192ce2247cb10d6c0b3fe25cd8 ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
3c37ec4350
commit
b00ca56757
@@ -5122,6 +5122,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;
|
||||||
@@ -5158,9 +5165,15 @@ static int vega10_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
if (vega10_get_power_profile_mode_quirks(hwmgr))
|
||||||
smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetWorkloadMask,
|
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