Commit 1fb71079 authored by Mario Limonciello's avatar Mario Limonciello Committed by Alex Deucher
Browse files

drm/amdgpu: Enable MES lr_compute_wa by default



The MES set resources packet has an optional bit 'lr_compute_wa'
which can be used for preventing MES hangs on long compute jobs.

Set this bit by default.

Co-developed-by: default avatarYifan Zhang <yifan1.zhang@amd.com>
Signed-off-by: default avatarYifan Zhang <yifan1.zhang@amd.com>
Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c5b3cc41
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -713,6 +713,12 @@ static int mes_v11_0_set_hw_resources(struct amdgpu_mes *mes)
	mes_set_hw_res_pkt.enable_reg_active_poll = 1;
	mes_set_hw_res_pkt.enable_level_process_quantum_check = 1;
	mes_set_hw_res_pkt.oversubscription_timer = 50;
	if ((mes->adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 0x7f)
		mes_set_hw_res_pkt.enable_lr_compute_wa = 1;
	else
		dev_info_once(mes->adev->dev,
			      "MES FW version must be >= 0x7f to enable LR compute workaround.\n");

	if (amdgpu_mes_log_enable) {
		mes_set_hw_res_pkt.enable_mes_event_int_logging = 1;
		mes_set_hw_res_pkt.event_intr_history_gpu_mc_ptr =
+5 −0
Original line number Diff line number Diff line
@@ -769,6 +769,11 @@ static int mes_v12_0_set_hw_resources(struct amdgpu_mes *mes, int pipe)
	mes_set_hw_res_pkt.use_different_vmid_compute = 1;
	mes_set_hw_res_pkt.enable_reg_active_poll = 1;
	mes_set_hw_res_pkt.enable_level_process_quantum_check = 1;
	if ((mes->adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 0x82)
		mes_set_hw_res_pkt.enable_lr_compute_wa = 1;
	else
		dev_info_once(adev->dev,
			      "MES FW version must be >= 0x82 to enable LR compute workaround.\n");

	/*
	 * Keep oversubscribe timer for sdma . When we have unmapped doorbell
+2 −1
Original line number Diff line number Diff line
@@ -238,7 +238,8 @@ union MESAPI_SET_HW_RESOURCES {
				uint32_t enable_mes_sch_stb_log : 1;
				uint32_t limit_single_process : 1;
				uint32_t is_strix_tmz_wa_enabled  :1;
				uint32_t reserved : 13;
				uint32_t enable_lr_compute_wa : 1;
				uint32_t reserved : 12;
			};
			uint32_t	uint32_t_all;
		};
+2 −1
Original line number Diff line number Diff line
@@ -287,7 +287,8 @@ union MESAPI_SET_HW_RESOURCES {
				uint32_t limit_single_process : 1;
				uint32_t unmapped_doorbell_handling: 2;
				uint32_t enable_mes_fence_int: 1;
				uint32_t reserved : 10;
				uint32_t enable_lr_compute_wa : 1;
				uint32_t reserved : 9;
			};
			uint32_t uint32_all;
		};