[PATCH i-g-t] lib/amdgpu: fix amd dispatch issue

Jesse Zhang jesse.zhang at amd.com
Tue Jul 9 08:23:22 UTC 2024


1. Fixed failure of querying ip info on gfx
   when only compute ring is enabled
2. Set different invalid addresses for multiple rings

Signed-off-by: Jesse Zhang <Jesse.Zhang at amd.com>
---
 lib/amdgpu/amd_dispatch.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/amdgpu/amd_dispatch.c b/lib/amdgpu/amd_dispatch.c
index 12ef7874c..8b97ca269 100644
--- a/lib/amdgpu/amd_dispatch.c
+++ b/lib/amdgpu/amd_dispatch.c
@@ -233,7 +233,7 @@ amdgpu_memcpy_dispatch_test(amdgpu_device_handle device_handle,
 	base_cmd->emit(base_cmd, PACKET3_COMPUTE(PKT3_SET_SH_REG, 4));
 	base_cmd->emit(base_cmd, 0x240);
 	if (hang == BACKEND_SE_GC_SHADER_INVALID_USER_DATA) {
-		base_cmd->emit(base_cmd, mc_address_src);
+		base_cmd->emit(base_cmd, mc_address_src + ring * 0x1000);
 		base_cmd->emit(base_cmd, 0);
 	} else {
 		base_cmd->emit(base_cmd, mc_address_src);
@@ -254,11 +254,11 @@ amdgpu_memcpy_dispatch_test(amdgpu_device_handle device_handle,
 	base_cmd->emit(base_cmd, PACKET3_COMPUTE(PKT3_SET_SH_REG, 4));
 	base_cmd->emit(base_cmd, 0x244);
 	if (hang == BACKEND_SE_GC_SHADER_INVALID_USER_DATA) {
-		base_cmd->emit(base_cmd, mc_address_src);
+		base_cmd->emit(base_cmd, mc_address_dst + ring * 0x1000);
 		base_cmd->emit(base_cmd, 0);
 	} else {
-		base_cmd->emit(base_cmd, mc_address_src);
-		base_cmd->emit(base_cmd, (mc_address_src >> 32) | 0x100000);
+		base_cmd->emit(base_cmd, mc_address_dst);
+		base_cmd->emit(base_cmd, (mc_address_dst >> 32) | 0x100000);
 	}
 	base_cmd->emit(base_cmd, 0x400);
 	if (version == 9)
@@ -553,7 +553,7 @@ void amdgpu_gfx_dispatch_test(amdgpu_device_handle device_handle, uint32_t ip_ty
 	struct drm_amdgpu_info_hw_ip info;
 	uint32_t ring_id, version;
 
-	r = amdgpu_query_hw_ip_info(device_handle, AMDGPU_HW_IP_GFX, 0, &info);
+	r = amdgpu_query_hw_ip_info(device_handle, ip_type, 0, &info);
 	igt_assert_eq(r, 0);
 	if (!info.available_rings)
 		igt_info("SKIP ... as there's no graphics ring\n");
-- 
2.25.1



More information about the igt-dev mailing list