Introduce XGMI SDMA queue type

Change-Id: I8c6ff04f92c2bbea0bab94ddb8cc4cceb5d74d02
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>


[ROCm/ROCR-Runtime commit: 1046a1fd72]
Этот коммит содержится в:
Oak Zeng
2019-02-11 15:52:00 -06:00
коммит произвёл Kent Russell
родитель f77c754281
Коммит 1efba15c34
2 изменённых файлов: 8 добавлений и 2 удалений
+3 -1
Просмотреть файл
@@ -617,9 +617,10 @@ typedef enum _HSA_QUEUE_PRIORITY
typedef enum _HSA_QUEUE_TYPE
{
HSA_QUEUE_COMPUTE = 1, // AMD PM4 compatible Compute Queue
HSA_QUEUE_SDMA = 2, // SDMA Queue, used for data transport and format conversion (e.g. (de-)tiling, etc).
HSA_QUEUE_SDMA = 2, // PCIe optimized SDMA Queue, used for data transport and format conversion (e.g. (de-)tiling, etc).
HSA_QUEUE_MULTIMEDIA_DECODE = 3, // reserved, for HSA multimedia decode queue
HSA_QUEUE_MULTIMEDIA_ENCODE = 4, // reserved, for HSA multimedia encode queue
HSA_QUEUE_SDMA_XGMI = 5, // XGMI optimized SDMA Queue
// the following values indicate a queue type permitted to reference OS graphics
// resources through the interoperation API. See [5] "HSA Graphics Interoperation
@@ -632,6 +633,7 @@ typedef enum _HSA_QUEUE_TYPE
HSA_QUEUE_COMPUTE_AQL = 21, // HSA AQL packet compatible Compute Queue
HSA_QUEUE_DMA_AQL = 22, // HSA AQL packet compatible DMA Queue
HSA_QUEUE_DMA_AQL_XGMI = 23, // HSA AQL packet compatible XGMI optimized DMA Queue
// more types in the future
+5 -1
Просмотреть файл
@@ -465,7 +465,8 @@ static int handle_concrete_asic(struct queue *q,
const struct device_info *dev_info = q->dev_info;
bool ret;
if (!dev_info || args->queue_type == KFD_IOC_QUEUE_TYPE_SDMA)
if (!dev_info || args->queue_type == KFD_IOC_QUEUE_TYPE_SDMA ||
args->queue_type == KFD_IOC_QUEUE_TYPE_SDMA_XGMI)
return HSAKMT_STATUS_SUCCESS;
if (dev_info->eop_buffer_size > 0) {
@@ -574,6 +575,9 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtCreateQueue(HSAuint32 NodeId,
case HSA_QUEUE_SDMA:
args.queue_type = KFD_IOC_QUEUE_TYPE_SDMA;
break;
case HSA_QUEUE_SDMA_XGMI:
args.queue_type = KFD_IOC_QUEUE_TYPE_SDMA_XGMI;
break;
case HSA_QUEUE_COMPUTE_AQL:
args.queue_type = KFD_IOC_QUEUE_TYPE_COMPUTE_AQL;
break;