From: Fangzhi Zuo Jerry.Zuo@amd.com
Streams with invalid new connector state should be elimiated from dsc policy.
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3405 Reviewed-by: Aurabindo Pillai aurabindo.pillai@amd.com Signed-off-by: Fangzhi Zuo Jerry.Zuo@amd.com Signed-off-by: Rodrigo Siqueira rodrigo.siqueira@amd.com Tested-by: Daniel Wheeler daniel.wheeler@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com (cherry picked from commit 9afeda04964281e9f708b92c2a9c4f8a1387b46e) Cc: stable@vger.kernel.org --- .../drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c index a08e8a0b696c..f756640048fe 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c @@ -1120,6 +1120,7 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, int i, k, ret; bool debugfs_overwrite = false; uint16_t fec_overhead_multiplier_x1000 = get_fec_overhead_multiplier(dc_link); + struct drm_connector_state *new_conn_state;
memset(params, 0, sizeof(params));
@@ -1127,7 +1128,7 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, return PTR_ERR(mst_state);
/* Set up params */ - DRM_DEBUG_DRIVER("%s: MST_DSC Set up params for %d streams\n", __func__, dc_state->stream_count); + DRM_DEBUG_DRIVER("%s: MST_DSC Try to set up params from %d streams\n", __func__, dc_state->stream_count); for (i = 0; i < dc_state->stream_count; i++) { struct dc_dsc_policy dsc_policy = {0};
@@ -1143,6 +1144,14 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, if (!aconnector->mst_output_port) continue;
+ new_conn_state = drm_atomic_get_new_connector_state(state, &aconnector->base); + + if (!new_conn_state) { + DRM_DEBUG_DRIVER("%s:%d MST_DSC Skip the stream 0x%p with invalid new_conn_state\n", + __func__, __LINE__, stream); + continue; + } + stream->timing.flags.DSC = 0;
params[count].timing = &stream->timing; @@ -1175,6 +1184,8 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, count++; }
+ DRM_DEBUG_DRIVER("%s: MST_DSC Params set up for %d streams\n", __func__, count); + if (count == 0) { ASSERT(0); return 0;
From: Fangzhi Zuo Jerry.Zuo@amd.com
A stream without dsc_aux should not be eliminated from the dsc determination. Whether it needs a dsc recompute depends on whether its mode has changed or not. Eliminating such a no-dsc stream from the dsc determination policy will end up with inconsistencies in the new dc_state when compared to the current dc_state, triggering a dsc recompute that should not have happened.
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3405 Reviewed-by: Rodrigo Siqueira rodrigo.siqueira@amd.com Signed-off-by: Fangzhi Zuo Jerry.Zuo@amd.com Signed-off-by: Aurabindo Pillai aurabindo.pillai@amd.com Tested-by: Daniel Wheeler daniel.wheeler@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com (cherry picked from commit 4641169a8c95d9efc35d2d3c55c3948f3b375ff9) Cc: stable@vger.kernel.org --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c index f756640048fe..32b025c92c63 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c @@ -1313,7 +1313,7 @@ static bool is_dsc_need_re_compute( continue;
aconnector = (struct amdgpu_dm_connector *) stream->dm_stream_context; - if (!aconnector || !aconnector->dsc_aux) + if (!aconnector) continue;
stream_on_link[new_stream_on_link_num] = aconnector;
[ Sasha's backport helper bot ]
Hi,
Found matching upstream commit: 9afeda04964281e9f708b92c2a9c4f8a1387b46e
WARNING: Author mismatch between patch and found commit: Backport author: Alex Deucher alexander.deucher@amd.com Commit author: Fangzhi Zuo Jerry.Zuo@amd.com
Status in newer kernel trees: 6.12.y | Present (different SHA1: d3c4a1c71521)
Note: The patch differs from the upstream commit: --- 1: 9afeda0496428 ! 1: e77a231c8dcab drm/amd/display: Skip Invalid Streams from DSC Policy @@ Commit message Streams with invalid new connector state should be elimiated from dsc policy.
+ Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3405 Reviewed-by: Aurabindo Pillai aurabindo.pillai@amd.com Signed-off-by: Fangzhi Zuo Jerry.Zuo@amd.com Signed-off-by: Rodrigo Siqueira rodrigo.siqueira@amd.com Tested-by: Daniel Wheeler daniel.wheeler@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com + (cherry picked from commit 9afeda04964281e9f708b92c2a9c4f8a1387b46e) + Cc: stable@vger.kernel.org
## drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c ## @@ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c: static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.12.y | Success | Success | | stable/linux-6.11.y | Success | Success | | stable/linux-6.6.y | Failed | N/A | | stable/linux-6.1.y | Failed | N/A | | stable/linux-5.15.y | Failed | N/A | | stable/linux-5.10.y | Failed | N/A | | stable/linux-5.4.y | Failed | N/A | | stable/linux-4.19.y | Failed | N/A |
On Mon, Dec 02, 2024 at 12:28:32PM -0500, Alex Deucher wrote:
From: Fangzhi Zuo Jerry.Zuo@amd.com
Streams with invalid new connector state should be elimiated from dsc policy.
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3405 Reviewed-by: Aurabindo Pillai aurabindo.pillai@amd.com Signed-off-by: Fangzhi Zuo Jerry.Zuo@amd.com Signed-off-by: Rodrigo Siqueira rodrigo.siqueira@amd.com Tested-by: Daniel Wheeler daniel.wheeler@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com (cherry picked from commit 9afeda04964281e9f708b92c2a9c4f8a1387b46e) Cc: stable@vger.kernel.org
.../drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
What kernel tree(s) is this series for?
thanks,
greg k-h
On Tue, Dec 03, 2024 at 08:11:14AM +0100, Greg KH wrote:
On Mon, Dec 02, 2024 at 12:28:32PM -0500, Alex Deucher wrote:
From: Fangzhi Zuo Jerry.Zuo@amd.com
Streams with invalid new connector state should be elimiated from dsc policy.
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3405 Reviewed-by: Aurabindo Pillai aurabindo.pillai@amd.com Signed-off-by: Fangzhi Zuo Jerry.Zuo@amd.com Signed-off-by: Rodrigo Siqueira rodrigo.siqueira@amd.com Tested-by: Daniel Wheeler daniel.wheeler@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com (cherry picked from commit 9afeda04964281e9f708b92c2a9c4f8a1387b46e) Cc: stable@vger.kernel.org
.../drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
What kernel tree(s) is this series for?
Dropping from my queue due to lack of response :(
Please resend if you need this, with a hint of what we are supposed to be applying it to.
thanks,
greg k-h
[Public]
-----Original Message----- From: Greg KH gregkh@linuxfoundation.org Sent: Friday, December 6, 2024 8:13 AM To: Deucher, Alexander Alexander.Deucher@amd.com Cc: stable@vger.kernel.org; sashal@kernel.org; Zuo, Jerry Jerry.Zuo@amd.com; Pillai, Aurabindo Aurabindo.Pillai@amd.com; Siqueira, Rodrigo Rodrigo.Siqueira@amd.com; Wheeler, Daniel Daniel.Wheeler@amd.com Subject: Re: [PATCH 1/2] drm/amd/display: Skip Invalid Streams from DSC Policy
On Tue, Dec 03, 2024 at 08:11:14AM +0100, Greg KH wrote:
On Mon, Dec 02, 2024 at 12:28:32PM -0500, Alex Deucher wrote:
From: Fangzhi Zuo Jerry.Zuo@amd.com
Streams with invalid new connector state should be elimiated from dsc policy.
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3405 Reviewed-by: Aurabindo Pillai aurabindo.pillai@amd.com Signed-off-by: Fangzhi Zuo Jerry.Zuo@amd.com Signed-off-by: Rodrigo Siqueira rodrigo.siqueira@amd.com Tested-by: Daniel Wheeler daniel.wheeler@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com (cherry picked from commit 9afeda04964281e9f708b92c2a9c4f8a1387b46e) Cc: stable@vger.kernel.org
.../drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
What kernel tree(s) is this series for?
Dropping from my queue due to lack of response :(
Please resend if you need this, with a hint of what we are supposed to be applying it to.
Sorry I just saw this now. This landed in 6.13, but it was determined that it needed to go to stable. Ideally at least 6.11 and 6.12.
Alex
On Fri, Dec 06, 2024 at 04:17:58PM +0000, Deucher, Alexander wrote:
[Public]
-----Original Message----- From: Greg KH gregkh@linuxfoundation.org Sent: Friday, December 6, 2024 8:13 AM To: Deucher, Alexander Alexander.Deucher@amd.com Cc: stable@vger.kernel.org; sashal@kernel.org; Zuo, Jerry Jerry.Zuo@amd.com; Pillai, Aurabindo Aurabindo.Pillai@amd.com; Siqueira, Rodrigo Rodrigo.Siqueira@amd.com; Wheeler, Daniel Daniel.Wheeler@amd.com Subject: Re: [PATCH 1/2] drm/amd/display: Skip Invalid Streams from DSC Policy
On Tue, Dec 03, 2024 at 08:11:14AM +0100, Greg KH wrote:
On Mon, Dec 02, 2024 at 12:28:32PM -0500, Alex Deucher wrote:
From: Fangzhi Zuo Jerry.Zuo@amd.com
Streams with invalid new connector state should be elimiated from dsc policy.
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3405 Reviewed-by: Aurabindo Pillai aurabindo.pillai@amd.com Signed-off-by: Fangzhi Zuo Jerry.Zuo@amd.com Signed-off-by: Rodrigo Siqueira rodrigo.siqueira@amd.com Tested-by: Daniel Wheeler daniel.wheeler@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com (cherry picked from commit 9afeda04964281e9f708b92c2a9c4f8a1387b46e) Cc: stable@vger.kernel.org
.../drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
What kernel tree(s) is this series for?
Dropping from my queue due to lack of response :(
Please resend if you need this, with a hint of what we are supposed to be applying it to.
Sorry I just saw this now. This landed in 6.13, but it was determined that it needed to go to stable. Ideally at least 6.11 and 6.12.
But it's already in 6.11.11 and 6.12.2 so I guess all is ok :)
linux-stable-mirror@lists.linaro.org