Received: by 10.223.185.116 with SMTP id b49csp3116721wrg; Mon, 5 Mar 2018 14:32:16 -0800 (PST) X-Google-Smtp-Source: AG47ELvXUS/O2YuTgdD4z4V3OW/Cq7FB+I/t5GEIMQIT7z5o9txKK2z7QyOrNgkbeQEf0ThfQjEr X-Received: by 10.101.97.139 with SMTP id c11mr13072830pgv.439.1520289136843; Mon, 05 Mar 2018 14:32:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520289136; cv=none; d=google.com; s=arc-20160816; b=kZPMvCGzxoIvO/WigVS4tm6Jmn4feZ1kdrLXGPEcBadnVS9tdr7SFcJtUFXGHL86Ow fpy/ABT0pMlCew4LxidgV+REHSHsyRmLodnsgfRVmiPU0R7MXZ9qKdLt6l/wY+gKTdTX 7gLwDbV8ILXGxdzQRi/+28SZn4amNSbN6Gnz4Mi42kjTKpzSNHZsTp1fECTFIHEebL/m zS8BzVt2Vx4vFKvkhTlfSzUXmFrz78WSw/I+5JPF3CrSWfNpcn/HREs4xhYC2UwcVxa5 lwaLWKNyFDFD8YpR1Hlrt6/W9nff06/FitlfSUf5qEbJ73D/aZDd+4MMG/P/0QxRJSwo Yo9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=HzrtjYa3Hg121G2kQ3ByH73efomjbRs67eq/ZDfyMYw=; b=I3/5d+kOqN/kfDbSWIzoLSy/bZmQLFfhabjg9Jf1DW0IYqCcgoQElaiOCibyPkOHWt L7rFr3+SpYePk4iwp2ZnmTIpZiSy2v4+GFj5GuHwFsdJb/EFuQJpp2/rXefLG/iDrvEC N8p4lZTipOInJH/GWx+K2SEzHeVjh+pn47uV/kwgyJBr0ylCIJXwxpR5SF7ZHx2jvT30 lfRHY0yjUKAXGnKE2/ei6/GUS0721wSpg50EVevVqsXzjyZbY4aI4LpViE4DzezWti7z r4WRNTwen8gHue3N/HJ1pSgLnkULa+WG4tXyl/fXg0lWL4XxViMnOIXYpN9NfIDa8Fbz Tu7Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r26si8986504pge.50.2018.03.05.14.32.02; Mon, 05 Mar 2018 14:32:16 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753413AbeCEWYE (ORCPT + 99 others); Mon, 5 Mar 2018 17:24:04 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:37362 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753393AbeCEWYA (ORCPT ); Mon, 5 Mar 2018 17:24:00 -0500 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: eballetbo) with ESMTPSA id 2678F278317 From: Enric Balletbo i Serra To: architt@codeaurora.org, inki.dae@samsung.com, thierry.reding@gmail.com, hjc@rock-chips.com, seanpaul@chromium.org, airlied@linux.ie, tfiga@chromium.org, heiko@sntech.de Cc: hshi@chromium.org, wzz@rock-chips.com, hl@rock-chips.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, dianders@chromium.org, linux-rockchip@lists.infradead.org, orjan.eide@arm.com, m.szyprowski@samsung.com, =?UTF-8?q?St=C3=A9phane=20Marchesin?= , Enric Balletbo i Serra Subject: [PATCH v4 11/38] drm/bridge: analogix_dp: Don't use fast link training when panel just powered up Date: Mon, 5 Mar 2018 23:23:03 +0100 Message-Id: <20180305222324.5872-12-enric.balletbo@collabora.com> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180305222324.5872-1-enric.balletbo@collabora.com> References: <20180305222324.5872-1-enric.balletbo@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: zain wang Panel would reset its setting when it powers down. It would forget the last succeeded link training setting. So we can't use the last successful link training setting to do fast link training. Let's reset fast_train_enable in analogix_dp_bridge_disable(); Cc: Stéphane Marchesin Signed-off-by: zain wang Signed-off-by: Sean Paul Signed-off-by: Thierry Escande Signed-off-by: Enric Balletbo i Serra --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 9 +++++---- drivers/gpu/drm/bridge/analogix/analogix_dp_core.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index f9661b410cb9..ea7a80a989c6 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -579,14 +579,14 @@ static int analogix_dp_process_equalizer_training(struct analogix_dp_device *dp) if (retval != 1) { dev_err(dp->dev, "failed to read downspread %d\n", retval); - dp->fast_train_support = false; + dp->fast_train_enable = false; } else { - dp->fast_train_support = + dp->fast_train_enable = (spread & DP_NO_AUX_HANDSHAKE_LINK_TRAINING) ? true : false; } dev_dbg(dp->dev, "fast link training %s\n", - dp->fast_train_support ? "supported" : "unsupported"); + dp->fast_train_enable ? "supported" : "unsupported"); /* set enhanced mode if available */ analogix_dp_set_enhanced_mode(dp); @@ -793,7 +793,7 @@ static int analogix_dp_fast_link_train(struct analogix_dp_device *dp) static int analogix_dp_train_link(struct analogix_dp_device *dp) { - if (dp->fast_train_support) + if (dp->fast_train_enable) return analogix_dp_fast_link_train(dp); return analogix_dp_full_link_train(dp, dp->video_info.max_lane_count, @@ -1197,6 +1197,7 @@ static void analogix_dp_bridge_disable(struct drm_bridge *bridge) DRM_ERROR("failed to setup the panel ret = %d\n", ret); dp->psr_enable = false; + dp->fast_train_enable = false; dp->dpms_mode = DRM_MODE_DPMS_OFF; } diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h index 6a96ef7e6934..403ff853464b 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h @@ -173,7 +173,7 @@ struct analogix_dp_device { int hpd_gpio; bool force_hpd; bool psr_enable; - bool fast_train_support; + bool fast_train_enable; struct mutex panel_lock; bool panel_is_modeset; -- 2.16.1