summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2020-09-04 16:40:52 +0200
committerAlex Deucher <alexander.deucher@amd.com>2020-10-30 14:27:23 -0400
commit9a33e8819b346864f58d31cf6b60096fd681801b (patch)
tree26198885721ee2c120a351886c934f932844a7ad /drivers
parentfaa37f54ce0462b2b5ec99bb8239a568bb8ba8d5 (diff)
drm/amd/display: Clean up GFX9 tiling_flags path.
We're unconditionally using modifiers internally for GFX9+ now. Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c74
1 files changed, 7 insertions, 67 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 6e690542f5d4..cfa7126e54f6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -3869,57 +3869,6 @@ validate_dcc(struct amdgpu_device *adev,
return 0;
}
-static void
-fill_dcc_params_from_flags(const struct amdgpu_framebuffer *afb,
- struct dc_plane_dcc_param *dcc,
- struct dc_plane_address *address,
- const uint64_t flags, bool force_disable_dcc)
-{
- uint64_t dcc_address;
- uint64_t plane_address = afb->address + afb->base.offsets[0];
- uint32_t offset = AMDGPU_TILING_GET(flags, DCC_OFFSET_256B);
- uint32_t i64b = AMDGPU_TILING_GET(flags, DCC_INDEPENDENT_64B) != 0;
-
- if (!offset || force_disable_dcc)
- return;
-
- dcc->enable = 1;
- dcc->meta_pitch = AMDGPU_TILING_GET(flags, DCC_PITCH_MAX) + 1;
- dcc->independent_64b_blks = i64b;
-
- dcc_address = plane_address + (uint64_t)offset * 256;
- address->grph.meta_addr.low_part = lower_32_bits(dcc_address);
- address->grph.meta_addr.high_part = upper_32_bits(dcc_address);
-}
-
-
-static int
-fill_gfx9_plane_attributes_from_flags(struct amdgpu_device *adev,
- const struct amdgpu_framebuffer *afb,
- const enum surface_pixel_format format,
- const enum dc_rotation_angle rotation,
- const struct plane_size *plane_size,
- union dc_tiling_info *tiling_info,
- struct dc_plane_dcc_param *dcc,
- struct dc_plane_address *address,
- uint64_t tiling_flags,
- bool force_disable_dcc)
-{
- int ret;
-
- fill_gfx9_tiling_info_from_device(adev, tiling_info);
-
- tiling_info->gfx9.swizzle =
- AMDGPU_TILING_GET(tiling_flags, SWIZZLE_MODE);
-
- fill_dcc_params_from_flags(afb, dcc, address, tiling_flags, force_disable_dcc);
- ret = validate_dcc(adev, format, rotation, tiling_info, dcc, address, plane_size);
- if (ret)
- return ret;
-
- return 0;
-}
-
static bool
modifier_has_dcc(uint64_t modifier)
{
@@ -4487,22 +4436,13 @@ fill_plane_buffer_attributes(struct amdgpu_device *adev,
}
if (adev->family >= AMDGPU_FAMILY_AI) {
- if (afb->base.flags & DRM_MODE_FB_MODIFIERS) {
- ret = fill_gfx9_plane_attributes_from_modifiers(adev, afb, format,
- rotation, plane_size,
- tiling_info, dcc,
- address,
- force_disable_dcc);
- if (ret)
- return ret;
- } else {
- ret = fill_gfx9_plane_attributes_from_flags(adev, afb, format, rotation,
- plane_size, tiling_info, dcc,
- address, tiling_flags,
- force_disable_dcc);
- if (ret)
- return ret;
- }
+ ret = fill_gfx9_plane_attributes_from_modifiers(adev, afb, format,
+ rotation, plane_size,
+ tiling_info, dcc,
+ address,
+ force_disable_dcc);
+ if (ret)
+ return ret;
} else {
fill_gfx8_tiling_info_from_flags(tiling_info, tiling_flags);
}