diff options
| author | Likun GAO <Likun.Gao@amd.com> | 2021-04-29 14:08:13 +0800 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2021-05-19 22:29:22 -0400 | 
| commit | 7bd939d04db9e6c3e92bb3ffb46ba9192cb258fc (patch) | |
| tree | 100366c11372ce39cbfb161f7564a46e8a2fdb70 /drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |
| parent | 1acbb613c445e35037a1ddd416cd697fc76143b5 (diff) | |
drm/amdgpu: add judgement when add ip blocks (v2)
Judgement whether to add an sw ip according to the harvest info.
v2: fix indentation (Alex)
Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index b0543f409039..2360a9c518eb 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -1683,6 +1683,19 @@ int amdgpu_device_ip_block_add(struct amdgpu_device *adev,  	if (!ip_block_version)  		return -EINVAL; +	switch (ip_block_version->type) { +	case AMD_IP_BLOCK_TYPE_VCN: +		if (adev->harvest_ip_mask & AMD_HARVEST_IP_VCN_MASK) +			return 0; +		break; +	case AMD_IP_BLOCK_TYPE_JPEG: +		if (adev->harvest_ip_mask & AMD_HARVEST_IP_JPEG_MASK) +			return 0; +		break; +	default: +		break; +	} +  	DRM_INFO("add ip block number %d <%s>\n", adev->num_ip_blocks,  		  ip_block_version->funcs->name); @@ -3111,7 +3124,6 @@ bool amdgpu_device_has_dc_support(struct amdgpu_device *adev)  	return amdgpu_device_asic_has_dc_support(adev->asic_type);  } -  static void amdgpu_device_xgmi_reset_func(struct work_struct *__work)  {  	struct amdgpu_device *adev = @@ -3274,6 +3286,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,  	adev->vm_manager.vm_pte_funcs = NULL;  	adev->vm_manager.vm_pte_num_scheds = 0;  	adev->gmc.gmc_funcs = NULL; +	adev->harvest_ip_mask = 0x0;  	adev->fence_context = dma_fence_context_alloc(AMDGPU_MAX_RINGS);  	bitmap_zero(adev->gfx.pipe_reserve_bitmap, AMDGPU_MAX_COMPUTE_QUEUES); | 
