Commit 47622ba0 authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu: add a xgmi supported flag



Use this to track whether an asic supports xgmi rather than
checking the asic type everywhere.

Reviewed-by: default avatarAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent e2101675
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ struct amdgpu_xgmi {
	unsigned num_physical_nodes;
	/* gpu list in the same hive */
	struct list_head head;
	bool supported;
};

struct amdgpu_gmc {
+2 −2
Original line number Diff line number Diff line
@@ -94,9 +94,9 @@ int amdgpu_xgmi_add_device(struct amdgpu_device *adev)

	int count = 0, ret = -EINVAL;

	if ((adev->asic_type < CHIP_VEGA20) ||
		(adev->flags & AMD_IS_APU) )
	if (!adev->gmc.xgmi.supported)
		return 0;

	adev->gmc.xgmi.node_id = psp_xgmi_get_node_id(&adev->psp);
	adev->gmc.xgmi.hive_id = psp_xgmi_get_hive_id(&adev->psp);

+1 −1
Original line number Diff line number Diff line
@@ -934,7 +934,7 @@ static int gmc_v9_0_sw_init(void *handle)
	}
	adev->need_swiotlb = drm_get_max_iomem() > ((u64)1 << dma_bits);

	if (adev->asic_type == CHIP_VEGA20) {
	if (adev->gmc.xgmi.supported) {
		r = gfxhub_v1_1_get_xgmi_info(adev);
		if (r)
			return r;
+3 −0
Original line number Diff line number Diff line
@@ -500,6 +500,9 @@ int soc15_set_ip_blocks(struct amdgpu_device *adev)
		return -EINVAL;
	}

	if (adev->asic_type == CHIP_VEGA20)
		adev->gmc.xgmi.supported = true;

	if (adev->flags & AMD_IS_APU)
		adev->nbio_funcs = &nbio_v7_0_funcs;
	else if (adev->asic_type == CHIP_VEGA20)