Skip to content

Commit a3a4c0b

Browse files
shaoyunlalexdeucher
authored andcommitted
drm/amdgpu : Add mes_log_enable to control mes log feature
The MES log might slow down the performance for extra step of log the data, disable it by default and introduce a parameter can enable it when necessary Signed-off-by: shaoyunl <shaoyun.liu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 31729e8 commit a3a4c0b

4 files changed

Lines changed: 20 additions & 3 deletions

File tree

drivers/gpu/drm/amd/amdgpu/amdgpu.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ extern int amdgpu_async_gfx_ring;
210210
extern int amdgpu_mcbp;
211211
extern int amdgpu_discovery;
212212
extern int amdgpu_mes;
213+
extern int amdgpu_mes_log_enable;
213214
extern int amdgpu_mes_kiq;
214215
extern int amdgpu_noretry;
215216
extern int amdgpu_force_asic_type;

drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ int amdgpu_async_gfx_ring = 1;
195195
int amdgpu_mcbp = -1;
196196
int amdgpu_discovery = -1;
197197
int amdgpu_mes;
198+
int amdgpu_mes_log_enable = 0;
198199
int amdgpu_mes_kiq;
199200
int amdgpu_noretry = -1;
200201
int amdgpu_force_asic_type = -1;
@@ -667,6 +668,15 @@ MODULE_PARM_DESC(mes,
667668
"Enable Micro Engine Scheduler (0 = disabled (default), 1 = enabled)");
668669
module_param_named(mes, amdgpu_mes, int, 0444);
669670

671+
/**
672+
* DOC: mes_log_enable (int)
673+
* Enable Micro Engine Scheduler log. This is used to enable/disable MES internal log.
674+
* (0 = disabled (default), 1 = enabled)
675+
*/
676+
MODULE_PARM_DESC(mes_log_enable,
677+
"Enable Micro Engine Scheduler log (0 = disabled (default), 1 = enabled)");
678+
module_param_named(mes_log_enable, amdgpu_mes_log_enable, int, 0444);
679+
670680
/**
671681
* DOC: mes_kiq (int)
672682
* Enable Micro Engine Scheduler KIQ. This is a new engine pipe for kiq.

drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@ static int amdgpu_mes_event_log_init(struct amdgpu_device *adev)
102102
{
103103
int r;
104104

105+
if (!amdgpu_mes_log_enable)
106+
return 0;
107+
105108
r = amdgpu_bo_create_kernel(adev, PAGE_SIZE, PAGE_SIZE,
106109
AMDGPU_GEM_DOMAIN_GTT,
107110
&adev->mes.event_log_gpu_obj,
@@ -1565,7 +1568,7 @@ void amdgpu_debugfs_mes_event_log_init(struct amdgpu_device *adev)
15651568
#if defined(CONFIG_DEBUG_FS)
15661569
struct drm_minor *minor = adev_to_drm(adev)->primary;
15671570
struct dentry *root = minor->debugfs_root;
1568-
if (adev->enable_mes)
1571+
if (adev->enable_mes && amdgpu_mes_log_enable)
15691572
debugfs_create_file("amdgpu_mes_event_log", 0444, root,
15701573
adev, &amdgpu_debugfs_mes_event_log_fops);
15711574

drivers/gpu/drm/amd/amdgpu/mes_v11_0.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -411,8 +411,11 @@ static int mes_v11_0_set_hw_resources(struct amdgpu_mes *mes)
411411
mes_set_hw_res_pkt.enable_reg_active_poll = 1;
412412
mes_set_hw_res_pkt.enable_level_process_quantum_check = 1;
413413
mes_set_hw_res_pkt.oversubscription_timer = 50;
414-
mes_set_hw_res_pkt.enable_mes_event_int_logging = 1;
415-
mes_set_hw_res_pkt.event_intr_history_gpu_mc_ptr = mes->event_log_gpu_addr;
414+
if (amdgpu_mes_log_enable) {
415+
mes_set_hw_res_pkt.enable_mes_event_int_logging = 1;
416+
mes_set_hw_res_pkt.event_intr_history_gpu_mc_ptr =
417+
mes->event_log_gpu_addr;
418+
}
416419

417420
return mes_v11_0_submit_pkt_and_poll_completion(mes,
418421
&mes_set_hw_res_pkt, sizeof(mes_set_hw_res_pkt),

0 commit comments

Comments
 (0)