diff options
author | shaoyunl <shaoyun.liu@amd.com> | 2024-05-08 21:32:58 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2024-05-17 17:05:38 -0400 |
commit | 4488cd671c77d155bed3341925e16c5f1cbc2b22 (patch) | |
tree | 696461897943be4f56fd03cc27dacf26eba0adae | |
parent | 8e8c68f4c90d80ba9a3b52fe832917f6878a15fa (diff) | |
download | linux-4488cd671c77d155bed3341925e16c5f1cbc2b22.tar.gz linux-4488cd671c77d155bed3341925e16c5f1cbc2b22.tar.bz2 linux-4488cd671c77d155bed3341925e16c5f1cbc2b22.zip |
drm/amdgpu: enable unmapped doorbell handling basic mode on mes 12
This reverts commit fcc5df722dbc47c3a84386a1c70647cfe153e65d.
Signed-off-by: shaoyunl <shaoyun.liu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/mes_v12_0.c | 14 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/include/mes_v12_api_def.h | 3 |
2 files changed, 16 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c b/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c index 5519655fd70a..26d4046f82f4 100644 --- a/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c +++ b/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c @@ -525,7 +525,14 @@ static int mes_v12_0_set_hw_resources(struct amdgpu_mes *mes) mes_set_hw_res_pkt.disable_mes_log = 1; mes_set_hw_res_pkt.use_different_vmid_compute = 1; mes_set_hw_res_pkt.enable_reg_active_poll = 1; + + /* + * Keep oversubscribe timer for sdma . When we have unmapped doorbell + * 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.unmapped_doorbell_handling = 1; mes_set_hw_res_pkt.enable_mes_event_int_logging = 0; mes_set_hw_res_pkt.event_intr_history_gpu_mc_ptr = mes->event_log_gpu_addr; @@ -972,6 +979,13 @@ static int mes_v12_0_mqd_init(struct amdgpu_ring *ring) mqd->cp_hqd_iq_timer = regCP_HQD_IQ_TIMER_DEFAULT; mqd->cp_hqd_quantum = regCP_HQD_QUANTUM_DEFAULT; + /* + * Set CP_HQD_GFX_CONTROL.DB_UPDATED_MSG_EN[15] to enable unmapped + * doorbell handling. This is a reserved CP internal register can + * not be accesss by others + */ + mqd->reserved_184 = BIT(15); + return 0; } diff --git a/drivers/gpu/drm/amd/include/mes_v12_api_def.h b/drivers/gpu/drm/amd/include/mes_v12_api_def.h index e3211daa9c2e..ffd67c6ed9b3 100644 --- a/drivers/gpu/drm/amd/include/mes_v12_api_def.h +++ b/drivers/gpu/drm/amd/include/mes_v12_api_def.h @@ -239,7 +239,8 @@ union MESAPI_SET_HW_RESOURCES { uint32_t send_write_data : 1; uint32_t os_tdr_timeout_override : 1; uint32_t use_rs64mem_for_proc_gang_ctx : 1; - uint32_t reserved : 17; + uint32_t unmapped_doorbell_handling: 2; + uint32_t reserved : 15; }; uint32_t uint32_all; }; |