Commit 4e22a5fe authored by Yang Wang's avatar Yang Wang Committed by Alex Deucher
Browse files

drm/amdgpu: fix gpu idle power consumption issue for gfx v12

Older versions of the MES firmware may cause abnormal GPU power consumption.
When performing inference tasks on the GPU (e.g., with Ollama using ROCm),
the GPU may show abnormal power consumption in idle state and incorrect GPU load information.
This issue has been fixed in firmware version 0x8b and newer.

Closes: https://github.com/ROCm/ROCm/issues/5706


Signed-off-by: default avatarYang Wang <kevinyang.wang@amd.com>
Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ec5708d6
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -731,6 +731,9 @@ static int mes_v12_0_set_hw_resources(struct amdgpu_mes *mes, int pipe)
	int i;
	struct amdgpu_device *adev = mes->adev;
	union MESAPI_SET_HW_RESOURCES mes_set_hw_res_pkt;
	uint32_t mes_rev = (pipe == AMDGPU_MES_SCHED_PIPE) ?
		(mes->sched_version & AMDGPU_MES_VERSION_MASK) :
		(mes->kiq_version & AMDGPU_MES_VERSION_MASK);

	memset(&mes_set_hw_res_pkt, 0, sizeof(mes_set_hw_res_pkt));

@@ -785,7 +788,7 @@ static int mes_v12_0_set_hw_resources(struct amdgpu_mes *mes, int pipe)
	 * handling support, other queue will not use the oversubscribe timer.
	 * handling  mode - 0: disabled; 1: basic version; 2: basic+ version
	 */
	mes_set_hw_res_pkt.oversubscription_timer = 50;
	mes_set_hw_res_pkt.oversubscription_timer = mes_rev < 0x8b ? 0 : 50;
	mes_set_hw_res_pkt.unmapped_doorbell_handling = 1;

	if (amdgpu_mes_log_enable) {