Commit 0c663695 authored by Divya Shikre's avatar Divya Shikre Committed by Alex Deucher
Browse files

drm/amd: Extend ROCt to surface UUID for devices that have them



Devices from Arcturus onwards will have their UUID exposed to Thunk.
Adding neccessary functions to the kernel to propagate the uuid.

Signed-off-by: default avatarDivya Shikre <DivyaUday.Shikre@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 944effd3
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -525,6 +525,14 @@ uint64_t amdgpu_amdkfd_get_hive_id(struct kgd_dev *kgd)

	return adev->gmc.xgmi.hive_id;
}

uint64_t amdgpu_amdkfd_get_unique_id(struct kgd_dev *kgd)
{
	struct amdgpu_device *adev = (struct amdgpu_device *)kgd;

	return adev->unique_id;
}

uint8_t amdgpu_amdkfd_get_xgmi_hops_count(struct kgd_dev *dst, struct kgd_dev *src)
{
	struct amdgpu_device *peer_adev = (struct amdgpu_device *)src;
+1 −0
Original line number Diff line number Diff line
@@ -172,6 +172,7 @@ int amdgpu_amdkfd_get_dmabuf_info(struct kgd_dev *kgd, int dma_buf_fd,
				  uint32_t *flags);
uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd);
uint64_t amdgpu_amdkfd_get_hive_id(struct kgd_dev *kgd);
uint64_t amdgpu_amdkfd_get_unique_id(struct kgd_dev *kgd);
uint64_t amdgpu_amdkfd_get_mmio_remap_phys_addr(struct kgd_dev *kgd);
uint32_t amdgpu_amdkfd_get_num_gws(struct kgd_dev *kgd);
uint8_t amdgpu_amdkfd_get_xgmi_hops_count(struct kgd_dev *dst, struct kgd_dev *src);
+1 −0
Original line number Diff line number Diff line
@@ -808,4 +808,5 @@ const struct kfd2kgd_calls gfx_v10_kfd2kgd = {
	.get_tile_config = amdgpu_amdkfd_get_tile_config,
	.set_vm_context_page_table_base = set_vm_context_page_table_base,
	.get_hive_id = amdgpu_amdkfd_get_hive_id,
	.get_unique_id = amdgpu_amdkfd_get_unique_id,
};
+1 −0
Original line number Diff line number Diff line
@@ -739,4 +739,5 @@ const struct kfd2kgd_calls gfx_v9_kfd2kgd = {
	.get_tile_config = kgd_gfx_v9_get_tile_config,
	.set_vm_context_page_table_base = kgd_gfx_v9_set_vm_context_page_table_base,
	.get_hive_id = amdgpu_amdkfd_get_hive_id,
	.get_unique_id = amdgpu_amdkfd_get_unique_id,
};
+3 −0
Original line number Diff line number Diff line
@@ -648,6 +648,9 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,
	if (kfd->kfd2kgd->get_hive_id)
		kfd->hive_id = kfd->kfd2kgd->get_hive_id(kfd->kgd);

	if (kfd->kfd2kgd->get_unique_id)
		kfd->unique_id = kfd->kfd2kgd->get_unique_id(kfd->kgd);

	if (kfd_interrupt_init(kfd)) {
		dev_err(kfd_device, "Error initializing interrupts\n");
		goto kfd_interrupt_error;
Loading