Reporting whether IOMMU V2 is supported.
IOMMU V1 support is not relevant to user, so not reporting it.

Change-Id: I77389484a87a352da9c2f7b2a5d9de264f90ee53


[ROCm/ROCR-Runtime commit: e30be76f37]
Этот коммит содержится в:
David Yat Sin
2023-01-17 21:14:09 +00:00
родитель 580ce4fd25
Коммит 8a86cddd3a
3 изменённых файлов: 30 добавлений и 2 удалений
+3
Просмотреть файл
@@ -376,6 +376,9 @@ hsa_status_t CpuAgent::GetInfo(hsa_agent_info_t attribute, void* value) const {
case HSA_AMD_AGENT_INFO_SDMA_UCODE_VERSION:
*((uint32_t*)value) = 0;
break;
case HSA_AMD_AGENT_INFO_IOMMU_SUPPORT:
*((hsa_amd_iommu_version_t*)value) = HSA_IOMMU_SUPPORT_NONE;
break;
default:
return HSA_STATUS_ERROR_INVALID_ARGUMENT;
break;
+6
Просмотреть файл
@@ -1111,6 +1111,12 @@ hsa_status_t GpuAgent::GetInfo(hsa_agent_info_t attribute, void* value) const {
case HSA_AMD_AGENT_INFO_SDMA_UCODE_VERSION:
*((uint32_t*)value) = static_cast<uint32_t>(properties_.uCodeEngineVersions.uCodeSDMA);
break;
case HSA_AMD_AGENT_INFO_IOMMU_SUPPORT:
if (properties_.Capability.ui32.HSAMMUPresent)
*((hsa_amd_iommu_version_t*)value) = HSA_IOMMU_SUPPORT_V2;
else
*((hsa_amd_iommu_version_t*)value) = HSA_IOMMU_SUPPORT_NONE;
break;
default:
return HSA_STATUS_ERROR_INVALID_ARGUMENT;
break;
+21 -2
Просмотреть файл
@@ -200,6 +200,21 @@ enum {
HSA_STATUS_CU_MASK_REDUCED = 44,
};
/**
* @brief IOMMU version supported
*/
typedef enum {
/**
* IOMMU not supported
*/
HSA_IOMMU_SUPPORT_NONE = 0,
/* IOMMU V1 support is not relevant to user applications, so not reporting it */
/**
* IOMMU V2 supported
*/
HSA_IOMMU_SUPPORT_V2 = 1,
} hsa_amd_iommu_version_t;
/**
* @brief Agent attributes.
*/
@@ -345,8 +360,12 @@ typedef enum hsa_amd_agent_info_s {
* Queries for the SDMA engine ucode of an agent.
* The type of this attribute is uint32_t.
*/
HSA_AMD_AGENT_INFO_SDMA_UCODE_VERSION = 0xA109
HSA_AMD_AGENT_INFO_SDMA_UCODE_VERSION = 0xA109,
/**
* Queries for version of IOMMU supported by agent.
* The type of this attribute is hsa_amd_iommu_version_t.
*/
HSA_AMD_AGENT_INFO_IOMMU_SUPPORT = 0xA110
} hsa_amd_agent_info_t;
typedef struct hsa_amd_hdp_flush_s {