diff options
| author | Dave Airlie <airlied@redhat.com> | 2018-12-13 09:49:04 +1000 | 
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2018-12-13 10:06:34 +1000 | 
| commit | e7df065a697783ecb5c6eaa5692d78dcfceb71dd (patch) | |
| tree | 2e42f7ec8ac73c13ffd6575e016dad1beb4de83b /drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | |
| parent | e69aa5f9b97f7f871643336deb281db5cb14878b (diff) | |
| parent | 674e78acae0dfb4beb56132e41cbae5b60f7d662 (diff) | |
Merge branch 'drm-next-4.21' of git://people.freedesktop.org/~agd5f/linux into drm-next
[airlied: make etnaviv build again]
amdgpu:
- DC trace support
- More DC documentation
- XGMI hive reset support
- Rework IH interaction with KFD
- Misc fixes and cleanups
- Powerplay updates for newer polaris variants
- Add cursor plane update fast path
- Enable gpu reset by default on CI parts
- Fix config with KFD/HSA not enabled
amdkfd:
- Limit vram overcommit
- dmabuf support
- Support for doorbell BOs
ttm:
- Support for simultaneous submissions to multiple engines
scheduler:
- Add helpers for hw with preemption support
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Alex Deucher <alexdeucher@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181207233119.16861-1-alexander.deucher@amd.com
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 26 | 
1 files changed, 23 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c index fb37e69f1bba..0b263a9857c6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c @@ -78,7 +78,7 @@ int amdgpu_xgmi_update_topology(struct amdgpu_hive_info *hive, struct amdgpu_dev  			adev->gmc.xgmi.node_id,  			adev->gmc.xgmi.hive_id, ret);  	else -		dev_info(adev->dev, "XGMI: Add node %d to hive 0x%llx.\n", +		dev_info(adev->dev, "XGMI: Set topology for node %d, hive 0x%llx.\n",  			 adev->gmc.xgmi.physical_node_id,  				 adev->gmc.xgmi.hive_id); @@ -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); @@ -135,3 +135,23 @@ exit:  	mutex_unlock(&xgmi_mutex);  	return ret;  } + +void amdgpu_xgmi_remove_device(struct amdgpu_device *adev) +{ +	struct amdgpu_hive_info *hive; + +	if (!adev->gmc.xgmi.supported) +		return; + +	mutex_lock(&xgmi_mutex); + +	hive = amdgpu_get_xgmi_hive(adev); +	if (!hive) +		goto exit; + +	if (!(hive->number_devices--)) +		mutex_destroy(&hive->hive_lock); + +exit: +	mutex_unlock(&xgmi_mutex); +}  | 
