diff options
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm')
| -rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15 | 
1 files changed, 6 insertions, 9 deletions
| diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 573cf17262da..d699a5cf6c11 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -4072,13 +4072,6 @@ static bool dm_plane_format_mod_supported(struct drm_plane *plane,  		return true;  	/* -	 * The arbitrary tiling support for multiplane formats has not been hooked -	 * up. -	 */ -	if (info->num_planes > 1) -		return false; - -	/*  	 * For D swizzle the canonical modifier depends on the bpp, so check  	 * it here.  	 */ @@ -4096,6 +4089,10 @@ static bool dm_plane_format_mod_supported(struct drm_plane *plane,  		/* Per radeonsi comments 16/64 bpp are more complicated. */  		if (info->cpp[0] != 4)  			return false; +		/* We support multi-planar formats, but not when combined with +		 * additional DCC metadata planes. */ +		if (info->num_planes > 1) +			return false;  	}  	return true; @@ -4296,7 +4293,7 @@ add_gfx10_3_modifiers(const struct amdgpu_device *adev,  		    AMD_FMT_MOD_SET(DCC_CONSTANT_ENCODE, 1) |  		    AMD_FMT_MOD_SET(DCC_INDEPENDENT_64B, 1) |  		    AMD_FMT_MOD_SET(DCC_INDEPENDENT_128B, 1) | -		    AMD_FMT_MOD_SET(DCC_MAX_COMPRESSED_BLOCK, AMD_FMT_MOD_DCC_BLOCK_128B)); +		    AMD_FMT_MOD_SET(DCC_MAX_COMPRESSED_BLOCK, AMD_FMT_MOD_DCC_BLOCK_64B));  	add_modifier(mods, size, capacity, AMD_FMT_MOD |  		    AMD_FMT_MOD_SET(TILE, AMD_FMT_MOD_TILE_GFX9_64K_R_X) | @@ -4308,7 +4305,7 @@ add_gfx10_3_modifiers(const struct amdgpu_device *adev,  		    AMD_FMT_MOD_SET(DCC_CONSTANT_ENCODE, 1) |  		    AMD_FMT_MOD_SET(DCC_INDEPENDENT_64B, 1) |  		    AMD_FMT_MOD_SET(DCC_INDEPENDENT_128B, 1) | -		    AMD_FMT_MOD_SET(DCC_MAX_COMPRESSED_BLOCK, AMD_FMT_MOD_DCC_BLOCK_128B)); +		    AMD_FMT_MOD_SET(DCC_MAX_COMPRESSED_BLOCK, AMD_FMT_MOD_DCC_BLOCK_64B));  	add_modifier(mods, size, capacity, AMD_FMT_MOD |  		    AMD_FMT_MOD_SET(TILE, AMD_FMT_MOD_TILE_GFX9_64K_R_X) | | 
