From d65e00bcc5b0c6934f706ffd758d8bc4a0a211ea Mon Sep 17 00:00:00 2001 From: Sean Keely Date: Wed, 10 Nov 2021 17:47:53 -0600 Subject: [PATCH] Include event_id in SDMA interrupt payload. The event id assists KFD in locating the proper event associated with the interrupt. Change-Id: I75d58b6be74dd5b1edb0c5fe2b9d01538a649ba1 --- runtime/hsa-runtime/core/inc/amd_blit_sdma.h | 2 +- runtime/hsa-runtime/core/runtime/amd_blit_sdma.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/runtime/hsa-runtime/core/inc/amd_blit_sdma.h b/runtime/hsa-runtime/core/inc/amd_blit_sdma.h index 21dd55273f..c7ebf9925a 100644 --- a/runtime/hsa-runtime/core/inc/amd_blit_sdma.h +++ b/runtime/hsa-runtime/core/inc/amd_blit_sdma.h @@ -208,7 +208,7 @@ class BlitSdma : public BlitSdmaBase { void BuildGetGlobalTimestampCommand(char* cmd_addr, void* write_address); - void BuildTrapCommand(char* cmd_addr); + void BuildTrapCommand(char* cmd_addr, uint32_t event_id); void BuildGCRCommand(char* cmd_addr, bool invalidate); diff --git a/runtime/hsa-runtime/core/runtime/amd_blit_sdma.cpp b/runtime/hsa-runtime/core/runtime/amd_blit_sdma.cpp index f35ea8982c..8af1d76834 100644 --- a/runtime/hsa-runtime/core/runtime/amd_blit_sdma.cpp +++ b/runtime/hsa-runtime/core/runtime/amd_blit_sdma.cpp @@ -384,7 +384,7 @@ hsa_status_t BlitSdma: static_cast(out_signal.signal_.event_id)); command_addr += fence_command_size_; - BuildTrapCommand(command_addr); + BuildTrapCommand(command_addr, out_signal.signal_.event_id); } ReleaseWriteAddress(curr_index, total_command_size); @@ -911,13 +911,14 @@ void BlitSdma void BlitSdma::BuildTrapCommand( - char* cmd_addr) { + char* cmd_addr, uint32_t event_id) { SDMA_PKT_TRAP* packet_addr = reinterpret_cast(cmd_addr); memset(packet_addr, 0, sizeof(SDMA_PKT_TRAP)); packet_addr->HEADER_UNION.op = SDMA_OP_TRAP; + packet_addr->INT_CONTEXT_UNION.int_ctx = event_id; } template