Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2891973lqt; Tue, 23 Apr 2024 05:06:47 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCX90yx+rULpF2Wg57poO7FAfwwbtVzgWdi8Tp5TNosIJroxsqFI0VAgwgNUkeCXjuu7Ot+Nc9NeX1/IIU3/SYFhoi7FDS7Xuw+vjn70Zw== X-Google-Smtp-Source: AGHT+IF3Al9ZyZX0ubxySMnFEjamIkjJehgP5W09lC8pwfSlcJEwNBarf73TfkFpTs0TFDr3YoyL X-Received: by 2002:a17:90b:1e04:b0:2ad:f11c:2dea with SMTP id pg4-20020a17090b1e0400b002adf11c2deamr3125151pjb.22.1713874007384; Tue, 23 Apr 2024 05:06:47 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713874007; cv=pass; d=google.com; s=arc-20160816; b=0ptTRCM2xXBt8UfKXi7fnYiLg7JA6KZxumLVOISrUN104o6JuI7mml5QdXIj+C0ez9 GM+Ag6BzVs+H2JeevnxoLTFLTQ4eQl2xpICmAWHnzijI1EDne6FpJBY5z70Z59KFaTLy W/mtj1fHYWH+GiTP2tLz27+dEi7vF6Zfe3r/y18uPzvee+R2RmMZNEp/N2tkb8sUxnJ5 WaxDTZ7Zt9Gm6j1kW673o+5QTKT5L8nGJH0hLfLt/yVz2NNmNObLf+KcquSzCTFvRDk/ UIAP8kaSZoUjxg6VKrQ5c8PVgX0L7F5wfGRNUFH5Wt08ulXmEOJypj2heNUbVOMeC5WI 7iHg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=3vrCCX4PZ1pYMaTa4NOMtqdwzQhieeJya/A/3GFRR40=; fh=PZwqp4FlNf0P/Kawr8ZFl9w3dSooytTSciAmzw/OY3k=; b=yYkco7U8iG7Cfcd/6sN207U2KHwcFrRu586MTwGpOkZ16EbfpYDJv5+bq6Bn1Fg6sQ /ZTQ+1QA5aUdfd7FNXDNm3e6h1GdmXxSYTCkIxfFi4yBz+0uqqFYizG1rcnaWU17CSZ5 xPDDQl6/QYeJzFND6iONSQMenAIIRUxPeTWEj9B0Qn0ri1/QOZBN8AvHRWmLJJWAW4+/ HbYf1gV6DRqlLHnasnw+M6vZTSB9d6265859ogSWnjbT8F4/enRxQB9otPjyubEid9Iz jQnaSoN2Vb88aqCeOEcoFK+DwxISlTl2uqVd3j+kN44KEETumBq0Qq6EiNONVXP/01wi iATg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=lPhUEFW5; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-155071-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-155071-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id g6-20020a17090ae58600b002a64eb193d2si9341715pjz.69.2024.04.23.05.06.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Apr 2024 05:06:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-155071-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=lPhUEFW5; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-155071-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-155071-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 03FF6B251F8 for ; Tue, 23 Apr 2024 11:54:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 79717148831; Tue, 23 Apr 2024 11:41:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lPhUEFW5" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A042514830D; Tue, 23 Apr 2024 11:41:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713872502; cv=none; b=OkxUrkRA50ukoKdx/mWSOInYIlrjj+eYExi+QS13wZmX/5M2RK1qP0NZbxZi5+2mY1S0b73jy7NZQZWB8yyVFn5Rp7aqEnQqZG4UYPvwJyFPlJgtmS8x6mGnQkTfJPHyCSn7zYMTad5HLgawIzVCP9NvMN766qo4hKe9KCKy7gQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713872502; c=relaxed/simple; bh=1rAcXaRtX0KBbx6LkVQstBRs2T9F0UMhbuLUo4pWZ4I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cPAvxFmCGr/iTvzQpOXaCcZ2YFHeFjbhya49vD/HLKl82VD/JxbpvRXpQbxpKgc583dJ6jTh6F1F0LbZET0/S67iOxIgRS+iSNskTpV6qKBAaOQNiD6Ai9EYU+oYNHYnQaffANHe4hdmsKu8NP+HLNIs8bPSwns281I7qI4u4MU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lPhUEFW5; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0CF7DC3277B; Tue, 23 Apr 2024 11:41:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713872502; bh=1rAcXaRtX0KBbx6LkVQstBRs2T9F0UMhbuLUo4pWZ4I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lPhUEFW5qBWbcw1PMcL5CEB+UNSrorPhIJ31dpOH8URT2Vw0uTYTuE/birieB4ww9 QG42nVLKPmURny2Kjub7PwqaUart61sJYXXWabmVG09rXAelOIA5u6A+fByD3hWBdX RnuZGhy50reDEtFAHtUe/7F3ZGaRBzWtmYBt2aZZxOBp0U0MUErjAzcfIPe4yStVDC DcXlF9F2eYySueuB3YDdInDN5p/oLD3G5AUtQDi5uSfrrTTijSTlBWzCxM/9MUJpTv BsRcZ4HdrBWSIE10NmD4ZvY8Rng6uKNK5ePfiuKBKlzzKua598Un8FsujXTmrH8LmB 2XbAdIoh/PuFw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Lyude Paul , Dave Airlie , Sasha Levin , kherbst@redhat.com, dakr@redhat.com, airlied@gmail.com, daniel@ffwll.ch, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org Subject: [PATCH AUTOSEL 5.10 8/9] drm/nouveau/dp: Don't probe eDP ports twice harder Date: Tue, 23 Apr 2024 07:02:46 -0400 Message-ID: <20240423110249.1659263-8-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240423110249.1659263-1-sashal@kernel.org> References: <20240423110249.1659263-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 5.10.215 Content-Transfer-Encoding: 8bit From: Lyude Paul [ Upstream commit bf52d7f9b2067f02efe7e32697479097aba4a055 ] I didn't pay close enough attention the last time I tried to fix this problem - while we currently do correctly take care to make sure we don't probe a connected eDP port more then once, we don't do the same thing for eDP ports we found to be disconnected. So, fix this and make sure we only ever probe eDP ports once and then leave them at that connector state forever (since without HPD, it's not going to change on its own anyway). This should get rid of the last few GSP errors getting spit out during runtime suspend and resume on some machines, as we tried to reprobe eDP ports in response to ACPI hotplug probe events. Signed-off-by: Lyude Paul Reviewed-by: Dave Airlie Link: https://patchwork.freedesktop.org/patch/msgid/20240404233736.7946-3-lyude@redhat.com (cherry picked from commit fe6660b661c3397af0867d5d098f5b26581f1290) Signed-off-by: Sasha Levin --- drivers/gpu/drm/nouveau/nouveau_dp.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c index 447b7594b35ae..0107a21dc9f9b 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dp.c +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c @@ -109,12 +109,15 @@ nouveau_dp_detect(struct nouveau_connector *nv_connector, u8 *dpcd = nv_encoder->dp.dpcd; int ret = NOUVEAU_DP_NONE; - /* If we've already read the DPCD on an eDP device, we don't need to - * reread it as it won't change + /* eDP ports don't support hotplugging - so there's no point in probing eDP ports unless we + * haven't probed them once before. */ - if (connector->connector_type == DRM_MODE_CONNECTOR_eDP && - dpcd[DP_DPCD_REV] != 0) - return NOUVEAU_DP_SST; + if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { + if (connector->status == connector_status_connected) + return NOUVEAU_DP_SST; + else if (connector->status == connector_status_disconnected) + return NOUVEAU_DP_NONE; + } mutex_lock(&nv_encoder->dp.hpd_irq_lock); if (mstm) { -- 2.43.0