Hi Greg,

On Tue, Sep 02, 2025 at 03:20:41PM +0200, Greg Kroah-Hartman wrote:
> 6.16-stable review patch.  If anyone has any objections, please let me know.

Thanks for queuing this and the corresponding reverts for the other
stable trees. This one patch doesn't match what I sent, the address
should be changed to DP_TRAINING_PATTERN_SET not to DP_DPCD_REV, see
[1]. I still think that's the correct thing to do here conforming to the
DP Standard and matching what the upstream kernel does, also solving a
link training issue for a DP2.0 docking station.

The reverts queued for the other stable trees are correct, since for
now I do not want to change the behavior in those (i.e. those trees
should continue to use the DP_DPCD_REV register matching what's been the
case since the DPCD probing was introduced).

Thanks,
Imre

[1] https://lore.kernel.org/all/20250828174932.414566-7-imre.d...@intel.com

> ------------------
> 
> From: Imre Deak <imre.d...@intel.com>
> 
> This reverts commit 944e732be9c3a33e64e9fb0f5451a37fc252ddfc which is
> commit a40c5d727b8111b5db424a1e43e14a1dcce1e77f upstream.
> 
> The upstream commit a40c5d727b8111b5db424a1e43e14a1dcce1e77f ("drm/dp:
> Change AUX DPCD probe address from DPCD_REV to LANE0_1_STATUS") the
> reverted commit backported causes a regression, on one eDP panel at
> least resulting in display flickering, described in detail at the Link:
> below. The issue fixed by the upstream commit will need a different
> solution, revert the backport for now.
> 
> Cc: intel-gfx@lists.freedesktop.org
> Cc: dri-de...@lists.freedesktop.org
> Cc: Sasha Levin <sas...@kernel.org>
> Link: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14558
> Signed-off-by: Imre Deak <imre.d...@intel.com>
> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> ---
>  drivers/gpu/drm/display/drm_dp_helper.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/drivers/gpu/drm/display/drm_dp_helper.c
> +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> @@ -725,7 +725,7 @@ ssize_t drm_dp_dpcd_read(struct drm_dp_a
>        * monitor doesn't power down exactly after the throw away read.
>        */
>       if (!aux->is_remote) {
> -             ret = drm_dp_dpcd_probe(aux, DP_LANE0_1_STATUS);
> +             ret = drm_dp_dpcd_probe(aux, DP_DPCD_REV);
>               if (ret < 0)
>                       return ret;
>       }
> 
> 

Reply via email to