Fix type mismatch passed to queue suspend/resume
The queue IDs passed over to the kernel via kfd_ioctl_dbg_trap_args->ptr
should be a list of uint32_t's. Need to convert from the passed in
64 bit HSA_QUEUEID to 32 bit uint32_t's.
Change-Id: I8718566d9f9ffc90ce0b2ecc129b10c49d73186a
Signed-off-by: Philip Cox <Philip.Cox@amd.com>
[ROCm/ROCR-Runtime commit: 608bc7c3a0]
This commit is contained in:
@@ -800,3 +800,20 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtSetTrapHandler(HSAuint32 Node,
|
||||
return (err == -1) ? HSAKMT_STATUS_ERROR : HSAKMT_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
uint32_t *convert_queue_ids(HSAuint32 NumQueues, HSA_QUEUEID *Queues)
|
||||
{
|
||||
uint32_t *queue_ids_ptr;
|
||||
unsigned int i;
|
||||
|
||||
queue_ids_ptr = malloc(NumQueues * sizeof(uint32_t));
|
||||
if (!queue_ids_ptr)
|
||||
return NULL;
|
||||
|
||||
for (i = 0; i < NumQueues; i++) {
|
||||
struct queue *q = PORT_UINT64_TO_VPTR(Queues[i]);
|
||||
|
||||
queue_ids_ptr[i] = q->queue_id;
|
||||
}
|
||||
return queue_ids_ptr;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user