diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_display.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 24 | 
1 files changed, 16 insertions, 8 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c index 3cadb0b76f22..6d520a3eec40 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c @@ -513,13 +513,23 @@ uint32_t amdgpu_display_supported_domains(struct amdgpu_device *adev,  	 * will not allow USWC mappings.  	 * Also, don't allow GTT domain if the BO doens't have USWC falg set.  	 */ -	if (adev->asic_type >= CHIP_CARRIZO && -	    adev->asic_type < CHIP_RAVEN && -	    (adev->flags & AMD_IS_APU) && -	    (bo_flags & AMDGPU_GEM_CREATE_CPU_GTT_USWC) && +	if ((bo_flags & AMDGPU_GEM_CREATE_CPU_GTT_USWC) &&  	    amdgpu_bo_support_uswc(bo_flags) && -	    amdgpu_device_asic_has_dc_support(adev->asic_type)) -		domain |= AMDGPU_GEM_DOMAIN_GTT; +	    amdgpu_device_asic_has_dc_support(adev->asic_type)) { +		switch (adev->asic_type) { +		case CHIP_CARRIZO: +		case CHIP_STONEY: +			domain |= AMDGPU_GEM_DOMAIN_GTT; +			break; +		case CHIP_RAVEN: +			/* enable S/G on PCO and RV2 */ +			if (adev->rev_id >= 0x8 || adev->pdev->device == 0x15d8) +				domain |= AMDGPU_GEM_DOMAIN_GTT; +			break; +		default: +			break; +		} +	}  #endif  	return domain; @@ -690,7 +700,6 @@ bool amdgpu_display_crtc_scaling_mode_fixup(struct drm_crtc *crtc,  	struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);  	struct amdgpu_encoder *amdgpu_encoder;  	struct drm_connector *connector; -	struct amdgpu_connector *amdgpu_connector;  	u32 src_v = 1, dst_v = 1;  	u32 src_h = 1, dst_h = 1; @@ -702,7 +711,6 @@ bool amdgpu_display_crtc_scaling_mode_fixup(struct drm_crtc *crtc,  			continue;  		amdgpu_encoder = to_amdgpu_encoder(encoder);  		connector = amdgpu_get_connector_for_encoder(encoder); -		amdgpu_connector = to_amdgpu_connector(connector);  		/* set scaling */  		if (amdgpu_encoder->rmx_type == RMX_OFF) |