diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/vi.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vi.c | 23 | 
1 files changed, 15 insertions, 8 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c index 3d21c0799037..42a35d9520f9 100644 --- a/drivers/gpu/drm/amd/amdgpu/vi.c +++ b/drivers/gpu/drm/amd/amdgpu/vi.c @@ -77,7 +77,7 @@  #if defined(CONFIG_DRM_AMD_ACP)  #include "amdgpu_acp.h"  #endif -#include "dce_virtual.h" +#include "amdgpu_vkms.h"  #include "mxgpu_vi.h"  #include "amdgpu_dm.h" @@ -904,7 +904,14 @@ static bool vi_asic_supports_baco(struct amdgpu_device *adev)  	case CHIP_POLARIS11:  	case CHIP_POLARIS12:  	case CHIP_TOPAZ: -		return amdgpu_dpm_is_baco_supported(adev); +		/* Disable BACO support for the specific polaris12 SKU temporarily */ +		if ((adev->pdev->device == 0x699F) && +		     (adev->pdev->revision == 0xC7) && +		     (adev->pdev->subsystem_vendor == 0x1028) && +		     (adev->pdev->subsystem_device == 0x0039)) +			return false; +		else +			return amdgpu_dpm_is_baco_supported(adev);  	default:  		return false;  	} @@ -2102,7 +2109,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &sdma_v2_4_ip_block);  		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display) -			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block); +			amdgpu_device_ip_block_add(adev, &amdgpu_vkms_ip_block);  		break;  	case CHIP_FIJI:  		amdgpu_device_ip_block_add(adev, &vi_common_ip_block); @@ -2112,7 +2119,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);  		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display || amdgpu_sriov_vf(adev)) -			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block); +			amdgpu_device_ip_block_add(adev, &amdgpu_vkms_ip_block);  #if defined(CONFIG_DRM_AMD_DC)  		else if (amdgpu_device_has_dc_support(adev))  			amdgpu_device_ip_block_add(adev, &dm_ip_block); @@ -2132,7 +2139,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);  		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display || amdgpu_sriov_vf(adev)) -			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block); +			amdgpu_device_ip_block_add(adev, &amdgpu_vkms_ip_block);  #if defined(CONFIG_DRM_AMD_DC)  		else if (amdgpu_device_has_dc_support(adev))  			amdgpu_device_ip_block_add(adev, &dm_ip_block); @@ -2155,7 +2162,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &sdma_v3_1_ip_block);  		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display) -			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block); +			amdgpu_device_ip_block_add(adev, &amdgpu_vkms_ip_block);  #if defined(CONFIG_DRM_AMD_DC)  		else if (amdgpu_device_has_dc_support(adev))  			amdgpu_device_ip_block_add(adev, &dm_ip_block); @@ -2173,7 +2180,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);  		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display) -			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block); +			amdgpu_device_ip_block_add(adev, &amdgpu_vkms_ip_block);  #if defined(CONFIG_DRM_AMD_DC)  		else if (amdgpu_device_has_dc_support(adev))  			amdgpu_device_ip_block_add(adev, &dm_ip_block); @@ -2194,7 +2201,7 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)  		amdgpu_device_ip_block_add(adev, &sdma_v3_0_ip_block);  		amdgpu_device_ip_block_add(adev, &pp_smu_ip_block);  		if (adev->enable_virtual_display) -			amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block); +			amdgpu_device_ip_block_add(adev, &amdgpu_vkms_ip_block);  #if defined(CONFIG_DRM_AMD_DC)  		else if (amdgpu_device_has_dc_support(adev))  			amdgpu_device_ip_block_add(adev, &dm_ip_block); | 
