Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4155883pxb; Mon, 27 Sep 2021 10:31:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznqWs9q5gTERQC/H3NQGr9BZWq5Ns0m/gj+0/uQkNwjN2V7Kv4EAhHThYIAqUIOQJ0oL3M X-Received: by 2002:a62:2587:0:b0:44b:2d81:8520 with SMTP id l129-20020a622587000000b0044b2d818520mr809674pfl.43.1632763888973; Mon, 27 Sep 2021 10:31:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632763888; cv=none; d=google.com; s=arc-20160816; b=mTmHlv7U99c4dBL7h5dZxxI5lEoAGp94RVpOtF+1szyFPCG87DoawXMXUlqXQh8JOX tCddRYdknh3Q0b8eJD1OOtpTJYeK7hDEE20e56TvLco7MedmfIrF+Vz4GSCHczaD2iyF uvNJgs6tcSj5HhnxI3HyObvpu5Eg0742DU5gF+3oYBy0fV2akKks42e4iFj95OQxLk7B ewMifwdaCW5dGOmak8wyLpr1dijQdobfIAbk4jQnS1ZUSLmrhMBicD5L7gRgxKDI22/n CJ02TOs/0MOYTggw8T2nYVZdTV4D050ZHtQl31167XlBZDI69XlZv/GDyeJIu9fkFa1l iooA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=0H5mOTyEKt4SGx4hhgaR+fMOYwcR2UKcfOwKm20V3Vg=; b=fLM1W+DPjcLO48MOZknLtnnDHO70ntTPwKOXkCvJU5Ym1TlgiVhnHfL8Aqca7e7WTd q22ReLPue8E6EX2LEKJJgXI1EAl8Yc07fiqFuAdCFzruSm8YSNOfV/mHDB8fj0cwSVFW gLsGv1dxgEi6U4x+kfSLelzsejvGHNTEypav0v6MOLnppVytLst6/gzZhyQ7R3V39G8t M/jLmyT5+dFWljGR3dNxpq1S2Y7cV3zQOo1mVKKaFopcd3WGY2JbGlebNEuBgwCnLKTA zXsnFIpIzaWK9gKIe0frc6PRK7DSQjH+shQcOa2693T/mOOtKyUVHWKtZsklPNhsuAjB Iknw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="vL/TSM4n"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y11si22362050pff.18.2021.09.27.10.31.15; Mon, 27 Sep 2021 10:31:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="vL/TSM4n"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238240AbhI0RcG (ORCPT + 99 others); Mon, 27 Sep 2021 13:32:06 -0400 Received: from mail.kernel.org ([198.145.29.99]:43628 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237635AbhI0R2F (ORCPT ); Mon, 27 Sep 2021 13:28:05 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4D79C6141B; Mon, 27 Sep 2021 17:17:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1632763030; bh=YMhWQq6D4WKHyk8ymfH2x+FucXjzzqzFYBFwV6QThUQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vL/TSM4n0UAys2HMwHhpi0Lx0RWhvDk/DxFxla6od0PW0I5NhFtSYT/Fr8VUiXKyY lxdBXkiPvoF8Y3YQEVISmbWAUjfA7R/zA6TR+WjGPg4E/zIA28GWtDckrRZCIm8s7V iDdlfRS5QR47PTQTuT4kYGT/HGjWYErs01pshiHA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jimmy Kizito , Mikita Lipski , Meenakshikumar Somasundaram , Daniel Wheeler , Alex Deucher , Sasha Levin Subject: [PATCH 5.14 142/162] drm/amd/display: Link training retry fix for abort case Date: Mon, 27 Sep 2021 19:03:08 +0200 Message-Id: <20210927170238.344869351@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210927170233.453060397@linuxfoundation.org> References: <20210927170233.453060397@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Meenakshikumar Somasundaram [ Upstream commit 71ae30997a8f1791835167d3ceb8d1fab32407db ] [Why] If link training is aborted, it shall be retried if sink is present. [How] Check hpd status to find out whether sink is present or not. If sink is present, then link training shall be tried again with same settings. Otherwise, link training shall be aborted. Reviewed-by: Jimmy Kizito Acked-by: Mikita Lipski Signed-off-by: Meenakshikumar Somasundaram Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c index a6d0fd24fd02..83ef72a3ebf4 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c @@ -1849,9 +1849,13 @@ bool perform_link_training_with_retries( dp_disable_link_phy(link, signal); /* Abort link training if failure due to sink being unplugged. */ - if (status == LINK_TRAINING_ABORT) - break; - else if (do_fallback) { + if (status == LINK_TRAINING_ABORT) { + enum dc_connection_type type = dc_connection_none; + + dc_link_detect_sink(link, &type); + if (type == dc_connection_none) + break; + } else if (do_fallback) { decide_fallback_link_setting(*link_setting, ¤t_setting, status); /* Fail link training if reduced link bandwidth no longer meets * stream requirements. -- 2.33.0