Add query for IOMMU support
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]
Этот коммит содержится в:
1 родитель
580ce4fd25
Коммит
8a86cddd3a
3 files changed
+30
-2
No files matched your search
@@ -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:
|
case HSA_AMD_AGENT_INFO_SDMA_UCODE_VERSION:
|
||||||
*((uint32_t*)value) = 0;
|
*((uint32_t*)value) = 0;
|
||||||
break;
|
break;
|
||||||
|
case HSA_AMD_AGENT_INFO_IOMMU_SUPPORT:
|
||||||
|
*((hsa_amd_iommu_version_t*)value) = HSA_IOMMU_SUPPORT_NONE;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return HSA_STATUS_ERROR_INVALID_ARGUMENT;
|
return HSA_STATUS_ERROR_INVALID_ARGUMENT;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -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:
|
case HSA_AMD_AGENT_INFO_SDMA_UCODE_VERSION:
|
||||||
*((uint32_t*)value) = static_cast<uint32_t>(properties_.uCodeEngineVersions.uCodeSDMA);
|
*((uint32_t*)value) = static_cast<uint32_t>(properties_.uCodeEngineVersions.uCodeSDMA);
|
||||||
break;
|
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:
|
default:
|
||||||
return HSA_STATUS_ERROR_INVALID_ARGUMENT;
|
return HSA_STATUS_ERROR_INVALID_ARGUMENT;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -200,6 +200,21 @@ enum {
|
|||||||
HSA_STATUS_CU_MASK_REDUCED = 44,
|
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.
|
* @brief Agent attributes.
|
||||||
*/
|
*/
|
||||||
@@ -345,8 +360,12 @@ typedef enum hsa_amd_agent_info_s {
|
|||||||
* Queries for the SDMA engine ucode of an agent.
|
* Queries for the SDMA engine ucode of an agent.
|
||||||
* The type of this attribute is uint32_t.
|
* 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;
|
} hsa_amd_agent_info_t;
|
||||||
|
|
||||||
typedef struct hsa_amd_hdp_flush_s {
|
typedef struct hsa_amd_hdp_flush_s {
|
||||||
|
|||||||
Reference in new issue
Block a user