diff options
| author | Hawking Zhang <Hawking.Zhang@amd.com> | 2021-03-19 16:59:09 +0800 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2021-04-09 16:51:22 -0400 | 
| commit | 719a9b332305b8c4b91805c4bedee27ce82ee916 (patch) | |
| tree | 39c80a2f61a34ff7b277e21a9d432aa2005bc9a8 /drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | |
| parent | 8bc7b360ad4b0a090380d7548dbf24a627f0b035 (diff) | |
drm/amdgpu: split gfx callbacks into ras and non-ras ones
gfx ras is only available in cerntain ip generations.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Dennis Li <Dennis.Li@amd.com>
Reviewed-by: John Clements <John.Clements@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 30 | 
1 files changed, 18 insertions, 12 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c index b55f470eb747..1d905bcbc1ac 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c @@ -792,11 +792,13 @@ int amdgpu_ras_query_error_status(struct amdgpu_device *adev,  		}  		break;  	case AMDGPU_RAS_BLOCK__GFX: -		if (adev->gfx.funcs->query_ras_error_count) -			adev->gfx.funcs->query_ras_error_count(adev, &err_data); +		if (adev->gfx.ras_funcs && +		    adev->gfx.ras_funcs->query_ras_error_count) +			adev->gfx.ras_funcs->query_ras_error_count(adev, &err_data); -		if (adev->gfx.funcs->query_ras_error_status) -			adev->gfx.funcs->query_ras_error_status(adev); +		if (adev->gfx.ras_funcs && +		    adev->gfx.ras_funcs->query_ras_error_status) +			adev->gfx.ras_funcs->query_ras_error_status(adev);  		break;  	case AMDGPU_RAS_BLOCK__MMHUB:  		if (adev->mmhub.ras_funcs && @@ -852,11 +854,13 @@ int amdgpu_ras_reset_error_status(struct amdgpu_device *adev,  	switch (block) {  	case AMDGPU_RAS_BLOCK__GFX: -		if (adev->gfx.funcs->reset_ras_error_count) -			adev->gfx.funcs->reset_ras_error_count(adev); +		if (adev->gfx.ras_funcs && +		    adev->gfx.ras_funcs->reset_ras_error_count) +			adev->gfx.ras_funcs->reset_ras_error_count(adev); -		if (adev->gfx.funcs->reset_ras_error_status) -			adev->gfx.funcs->reset_ras_error_status(adev); +		if (adev->gfx.ras_funcs && +		    adev->gfx.ras_funcs->reset_ras_error_status) +			adev->gfx.ras_funcs->reset_ras_error_status(adev);  		break;  	case AMDGPU_RAS_BLOCK__MMHUB:  		if (adev->mmhub.ras_funcs && @@ -926,8 +930,9 @@ int amdgpu_ras_error_inject(struct amdgpu_device *adev,  	switch (info->head.block) {  	case AMDGPU_RAS_BLOCK__GFX: -		if (adev->gfx.funcs->ras_error_inject) -			ret = adev->gfx.funcs->ras_error_inject(adev, info); +		if (adev->gfx.ras_funcs && +		    adev->gfx.ras_funcs->ras_error_inject) +			ret = adev->gfx.ras_funcs->ras_error_inject(adev, info);  		else  			ret = -EINVAL;  		break; @@ -1514,8 +1519,9 @@ static void amdgpu_ras_error_status_query(struct amdgpu_device *adev,  	 */  	switch (info->head.block) {  	case AMDGPU_RAS_BLOCK__GFX: -		if (adev->gfx.funcs->query_ras_error_status) -			adev->gfx.funcs->query_ras_error_status(adev); +		if (adev->gfx.ras_funcs && +		    adev->gfx.ras_funcs->query_ras_error_status) +			adev->gfx.ras_funcs->query_ras_error_status(adev);  		break;  	case AMDGPU_RAS_BLOCK__MMHUB:  		if (adev->mmhub.ras_funcs && | 
