mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-19 03:53:51 -04:00
Revert "drm/amd/display: Fix green screen issue after suspend"
This reverts commit87b7ebc2e1. A long time ago, we had an issue with the Raven system when it was connected to two displays: one with DP and another with HDMI. After the system woke up from suspension, we saw a solid green screen caused by an underflow generated by bad DCC metadata. To workaround this issue, the 'commit87b7ebc2e1("drm/amd/display: Fix green screen issue after suspend")' was introduced to disable the DCC for a few frames after in the resume phase. However, in hindsight, this solution was probably a workaround at the kernel level for some issues from another part (probably other driver components or user space). After applying this patch and trying to reproduce the green issue in a similar hardware system but using the latest kernel and userspace, we cannot see the issue, which makes this workaround obsolete and creates extra unnecessary complexity to the code; for all of this reason, this commit reverts the original change. Cc: Mario Limonciello <mario.limonciello@amd.com> Cc: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
1b0cbcf888
commit
04d6273fae
@@ -5524,8 +5524,7 @@ fill_dc_plane_info_and_addr(struct amdgpu_device *adev,
|
||||
const u64 tiling_flags,
|
||||
struct dc_plane_info *plane_info,
|
||||
struct dc_plane_address *address,
|
||||
bool tmz_surface,
|
||||
bool force_disable_dcc)
|
||||
bool tmz_surface)
|
||||
{
|
||||
const struct drm_framebuffer *fb = plane_state->fb;
|
||||
const struct amdgpu_framebuffer *afb =
|
||||
@@ -5624,7 +5623,7 @@ fill_dc_plane_info_and_addr(struct amdgpu_device *adev,
|
||||
&plane_info->tiling_info,
|
||||
&plane_info->plane_size,
|
||||
&plane_info->dcc, address,
|
||||
tmz_surface, force_disable_dcc);
|
||||
tmz_surface);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -5645,7 +5644,6 @@ static int fill_dc_plane_attributes(struct amdgpu_device *adev,
|
||||
struct dc_scaling_info scaling_info;
|
||||
struct dc_plane_info plane_info;
|
||||
int ret;
|
||||
bool force_disable_dcc = false;
|
||||
|
||||
ret = amdgpu_dm_plane_fill_dc_scaling_info(adev, plane_state, &scaling_info);
|
||||
if (ret)
|
||||
@@ -5656,13 +5654,11 @@ static int fill_dc_plane_attributes(struct amdgpu_device *adev,
|
||||
dc_plane_state->clip_rect = scaling_info.clip_rect;
|
||||
dc_plane_state->scaling_quality = scaling_info.scaling_quality;
|
||||
|
||||
force_disable_dcc = adev->asic_type == CHIP_RAVEN && adev->in_suspend;
|
||||
ret = fill_dc_plane_info_and_addr(adev, plane_state,
|
||||
afb->tiling_flags,
|
||||
&plane_info,
|
||||
&dc_plane_state->address,
|
||||
afb->tmz_surface,
|
||||
force_disable_dcc);
|
||||
afb->tmz_surface);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -9099,7 +9095,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
|
||||
afb->tiling_flags,
|
||||
&bundle->plane_infos[planes_count],
|
||||
&bundle->flip_addrs[planes_count].address,
|
||||
afb->tmz_surface, false);
|
||||
afb->tmz_surface);
|
||||
|
||||
drm_dbg_state(state->dev, "plane: id=%d dcc_en=%d\n",
|
||||
new_plane_state->plane->index,
|
||||
|
||||
Reference in New Issue
Block a user