kfdtest: Add event-based synchronization mechanism to queues
Wait4PacketConsumption now can accept an event to wait all packets subbmitted
to be processed.
Change-Id: I1497b7704e892b04d05811b8d3e4742237c1be57
Signed-off-by: xinhui pan <xinhui.pan@amd.com>
[ROCm/ROCR-Runtime commit: 9c7cfc0df2]
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
*/
|
||||
|
||||
#include "SDMAQueue.hpp"
|
||||
#include "SDMAPacket.hpp"
|
||||
|
||||
SDMAQueue::SDMAQueue(void) {
|
||||
CMD_NOP = 0;
|
||||
@@ -79,3 +80,14 @@ void SDMAQueue::SubmitPacket() {
|
||||
}
|
||||
}
|
||||
|
||||
void SDMAQueue::Wait4PacketConsumption(HsaEvent *event) {
|
||||
if (event) {
|
||||
PlacePacket(SDMAFencePacket((void*)event->EventData.HWData2, event->EventId));
|
||||
|
||||
PlaceAndSubmitPacket(SDMATrapPacket(event->EventId));
|
||||
|
||||
EXPECT_SUCCESS(hsaKmtWaitOnEvent(event, g_TestTimeOut));
|
||||
} else {
|
||||
BaseQueue::Wait4PacketConsumption();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user