Create SDMA queue on specific engine

Change-Id: Iece03795510d66b03324174203faa0ac9eb4fb7d
Signed-off-by: Oak Zeng <ozeng@amd.com>
Este commit está contenido en:
Oak Zeng
2018-11-12 16:06:57 -06:00
padre 8d65e72045
commit acb80d7583
Se han modificado 2 ficheros con 7 adiciones y 2 borrados
+5 -1
Ver fichero
@@ -36,7 +36,7 @@ BaseQueue::~BaseQueue(void) {
Destroy();
}
HSAKMT_STATUS BaseQueue::Create(unsigned int NodeId, unsigned int size, HSAuint64 *pointers) {
HSAKMT_STATUS BaseQueue::Create(unsigned int NodeId, unsigned int size, HSAuint64 *pointers, int sdmaEngineId) {
HSAKMT_STATUS status;
HSA_QUEUE_TYPE type = GetQueueType();
@@ -54,6 +54,10 @@ HSAKMT_STATUS BaseQueue::Create(unsigned int NodeId, unsigned int size, HSAuint6
m_Resources.Queue_write_ptr_aql = &pointers[1];
}
//TODO: How to get number of SDMA engine?
if (type == HSA_QUEUE_SDMA && sdmaEngineId >= 0 && sdmaEngineId < 8)
type = (HSA_QUEUE_TYPE) (HSA_QUEUE_SDMA_ENGINE0 + sdmaEngineId);
status = hsaKmtCreateQueue(NodeId,
type,
DEFAULT_QUEUE_PERCENTAGE,