From nobody Tue Apr 7 10:58:43 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 9C3EC2C028B for ; Sat, 14 Mar 2026 00:43:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773449007; cv=none; b=oR7b+ytDMfOYbbOhApOL+jGR/qyfJ4vPaaLI8+Da8uHa7LRfeC514nMSYrldFzth/BF9nnZ0qcPqeGyfsToa5usi1kEFl34Q85JbW9GaVJhe01etYqNB+noGmQOuE/YboaRdVoSKpbY1aER1AdkbZLTHNR63sZVTX5yPq3SgyNA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773449007; c=relaxed/simple; bh=PgxnkhRtNQtqZbuzP8IdK9LDhN4sUNZfDZnz3kK/igY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lKa/K1tkQP/WOcYa0MCQHZd8DKgjLkSX27cP98FJnqpi56v9Yoks5i9tkaRlSu2za1eiFDnE80OWW2B1HmARZxqrrnoyOfCmuied62t49p2i/GOjYipvS6FTR87sLAnovi/pzfzI44qTeWfWzg7aWIYVa84otZWKqvbmt+Z9PFA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=D+bowuGW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JHFgQEEP; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="D+bowuGW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JHFgQEEP" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62E0KQli2108770 for ; Sat, 14 Mar 2026 00:43:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= L8PBUH4F4MWdX4m5iEAJ6fD5ICwhHw6BnobYrVmgYwc=; b=D+bowuGW/IGPXRL4 88s/DTwceHDxNy5AL7a8iOUCWfjWZweaYGLCafTIrS7+pnApqN+bGPURkjPhFF6D oD8gGBhqFwFuAr+B78ePX8OzZVzqiQ9UqVVRZAXuxhYavLJnOZDdqcojEPyuBpLi 8svl0bal27qJr3nVP6jN2MjhcdMzXXfdceGvMy0FkD0RyQBbDMpdINxnW7QEvVUX 3Z0edmX6ziJBuM9mZyLRPYHK8eLKDB2R6DRybUDRUAL5sMn99efoWWxPkYn/bHVa SAtM3omsqpWydLmXmbcPLG+70n7jB2Ghii0j2JVMiKipZD4wbjAiG8VDjtxwiFwK 7rLd3g== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cvw1p81us-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 14 Mar 2026 00:43:25 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cd7c4ab845so1174112285a.1 for ; Fri, 13 Mar 2026 17:43:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773449005; x=1774053805; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=L8PBUH4F4MWdX4m5iEAJ6fD5ICwhHw6BnobYrVmgYwc=; b=JHFgQEEPfp21L3n/zP8awVUKHZNConGJFXth0ewUGQqG1OclbjouAd5RFJ2qrPjVs1 NcQlenfFLjh+JtMuUHtszvyJwqTj/7E2HTCMdoRi9HP085gmMU+F2tUGP+GKd5P+uINV pewBWsJx955ybkvQrvx/PRvkRGE6dQPT77zFUKlK6BmN0C0UaNnKmIeoXuH84UNX5jM2 V2DzeJDIgHQO0ClF/YEjxh+o6jFmHg4FqdB6KeMyCEQzSLmbkVdJbhnsRvll+eSO4w0h A4OdM01/r4I2k6ibv4PngYAlbsrm4rYWwDklaLxbiC+gNl3Bha8oze/siKz/PK/cDMgr MOBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773449005; x=1774053805; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=L8PBUH4F4MWdX4m5iEAJ6fD5ICwhHw6BnobYrVmgYwc=; b=Cza8jXOqnEhQxbDSYuL09vWhdPzXs4p0o/1+JH+MGa+SmnebxdsP+zUcETvi/w6keH vjMc4KxuIYzzLREcG89249A2mxWfMNq1CUFrEMJ6aAvKdvHlIhsTkgNuKdOTmN+PEvYg L/CvpyHvBuM1Xbfr8r1dxHp/hPkroWQxlQO1kblt3HF1z3u0P3n7YhKZGml/RWxVvl7g M2LGK5kdQPnoOVl4wXNeh3aajybm/Pvl7PDgp6iaWsmySbYa9vqtP+komE9LxYsKtUjc Y2GWvAh0kOZviAnozBVC86BaWAZQ6sHSOckL6UOVvlq5Sbd+Op8bqChvyhbYu+JHenmc C8zg== X-Forwarded-Encrypted: i=1; AJvYcCWzhg+HId1bygE3/15p+LFXqt1B8O+cye79xFsbrSeCyQNRBQFguD18h34danU9IZsS0GhT0LCE6onSQnU=@vger.kernel.org X-Gm-Message-State: AOJu0YxftKZe7lwO+DtTV3meeSWG98q/CLJBqCd5TCp/lJKhaudL6iSk lAKLOtKogRA5Eg+74ETMKYNUoWt7qqC+VKGGrAYQeo6YzW53fudJcKz1dy7vuXEHFlY7w9iPGYo Ylu4rkUMIlFiLn/PKMNSduzy1XSuOIc6Uait8jk1oE692mGoJ4m5gM54HgqbRWZG/zZA= X-Gm-Gg: ATEYQzxu1SJekDQT29CNEOCDy70giQ13r/01T39rLS3b7KWt725n3LIFStEsp2uTNf8 qp59Dig31aZDj99lugSPfllQZbx2aQ1/tM/P8JQjVn8ExI8WX5hyhooJGY23dMkY7mQzPV7Rnhl Q/c1A+V4LjwSI5G/opcosdnSpSY/d0Rv0/orjG/IZ9D+gq/U7ud436ESDIghr1gzI3rwvi8gTuQ FvZz0R8XizkM4MACD6WD4KNdiayb6NmLe55thInBuTVwFh/BqhZrTv4o08+BY8d1uV1ukJ2+uTX Ov5yCgbCZ3POlMw1KE5cckZpOs0wz3h/1N9RRtC0ogIrZpgBNPppPLFAXRdWLZE1HZEY0Y8quUG xdgtXDuWv3VPI1yKnp0p9c2vdXwEPsCSRr6k6HlWY9eo0sV4/ES+iOBuMTTZ2BufN8V/Mj79px1 Hz9YVh3eLvgxSAHuuUAmhnckrGOLtKhR2G4Pc= X-Received: by 2002:a05:620a:470c:b0:8cd:b2cd:10a2 with SMTP id af79cd13be357-8cdb5b4d4ebmr768667385a.49.1773449004780; Fri, 13 Mar 2026 17:43:24 -0700 (PDT) X-Received: by 2002:a05:620a:470c:b0:8cd:b2cd:10a2 with SMTP id af79cd13be357-8cdb5b4d4ebmr768664085a.49.1773449004354; Fri, 13 Mar 2026 17:43:24 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a156366a74sm1843556e87.75.2026.03.13.17.43.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2026 17:43:22 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 14 Mar 2026 02:43:12 +0200 Subject: [PATCH 2/2] drm/bridge: display-connector: trigger initial HPD event for DP Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260314-dp-connector-hpd-v1-2-786044cedc17@oss.qualcomm.com> References: <20260314-dp-connector-hpd-v1-0-786044cedc17@oss.qualcomm.com> In-Reply-To: <20260314-dp-connector-hpd-v1-0-786044cedc17@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Tomi Valkeinen , Boris Brezillon , Sam Ravnborg , Sebastian Reichel , Yongxing Mou Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3065; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=PgxnkhRtNQtqZbuzP8IdK9LDhN4sUNZfDZnz3kK/igY=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBptK8gQG1FO9BH7d7RN7Ca18qGfhpdF3PBczE0c 8Wt+SnLSKOJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCabSvIAAKCRCLPIo+Aiko 1ZK6B/9hp3oJVQUo+87CjN9yqGOK+CeqbAOmNSH/x/LVAR4oTzzMP6xO40JX0zDuCjZgDEhjbMe 4ebflYz796crTzcooGO5cfdnBjLXGAN0EoY9hGvYSI78ociPMDbLoc2hCj9H0GBCea/kLPda1xo uHXxyesv4/OUmJZ46uxkeKx0UlIbKbzssjWHaLXAMTEEKecHV2p6/pOqSqV8CKjUx6VcRXHZZen WOUSRrCG13aYFqLCE1ra3SEdm6KHCWwD7ECeXXGGKwIs9flzfsOTICQ5Zckrr3x4yrW4s5q9hJm DUeR/N0Ue94GlONNx3ImhM+bx3WIrasfHkY8IsdTFKXo2KMJ X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: JhKIMV9VlUlZoLw8U_Cp3yN6OSADNHp6 X-Proofpoint-ORIG-GUID: JhKIMV9VlUlZoLw8U_Cp3yN6OSADNHp6 X-Authority-Analysis: v=2.4 cv=auK/yCZV c=1 sm=1 tr=0 ts=69b4af2d cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=yvB0wynyV-D1A3ldwWQA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE0MDAwMyBTYWx0ZWRfX0n3GhnCBFiJe j3Uiip+iuZXCIZJd9tp266S/xngYjytwmV8fxpZAYeeKKblAsIhkyeTlOgVLdMDfaTBcc0BJrKd 0zoVIEero4sBBAotzq0FrZCn5WkYd3LcrYpYeKk1ZplSwBau5fwp5WOrpd8VFGbjIL17tnJdSn5 hGOAwJQRhc3Q53wSLX6f7ENjbXo89xJ5ROqzW7RQ2tNeCQtxH43+Uos4xjACVDeitg5JLuZ6Gda Uxy+kSKG8St1nXVoJ8XrGWfISZIIhW4G3NQXeG2Y/arxzkDJ8ov8S8ircQVoWtMizrSN8wmKq0/ vuKTAK6ArVWyJY2QGAAW2sBVe7g1RWYi4MbmM4ueBNDMLIgAI4goeR+E40UtCYtz6zlbU+DPtM/ NvzeNp+HnGvBF/SVk5AfjPRWrKSqUp0TPly/cN+iVXDI7p8YNwod80g1M63yjmXgyLxnlNmFOxk 5NJS3Cy18ODmzrFyqgw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-13_05,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 priorityscore=1501 suspectscore=0 adultscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603140003 If the DisplayPort drivers use display-connector for the HPD detection, the internal HPD state machine might be not active and thus the hardware might be not able to handle cable detection correctly. Instead it will depend on the externall HPD notifications to set the cable state, bypassing the internal HPD state machine (for example this is the case for the msm DP driver). However if the cable has been plugged before the HPD IRQ has been enabled, there will be no HPD event coming. The drivers might fail detection in such a case. Trigger the HPD notification after enabling the HPD IRQ, propagating the cable insertion state. Fixes: 2e2bf3a5584d ("drm/bridge: display-connector: add DP support") Reported-by: Yongxing Mou Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/display-connector.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/gpu/drm/bridge/display-connector.c b/drivers/gpu/drm/b= ridge/display-connector.c index 6bb1134f75c3..f7a5bfd9c075 100644 --- a/drivers/gpu/drm/bridge/display-connector.c +++ b/drivers/gpu/drm/bridge/display-connector.c @@ -12,6 +12,7 @@ #include #include #include +#include =20 #include #include @@ -25,6 +26,8 @@ struct display_connector { =20 struct regulator *supply; struct gpio_desc *ddc_en; + + struct work_struct hpd_work; }; =20 static inline struct display_connector * @@ -92,15 +95,29 @@ static void display_connector_hpd_enable(struct drm_bri= dge *bridge) struct display_connector *conn =3D to_display_connector(bridge); =20 enable_irq(conn->hpd_irq); + + if (conn->bridge.type =3D=3D DRM_MODE_CONNECTOR_DisplayPort) + schedule_work(&conn->hpd_work); } =20 static void display_connector_hpd_disable(struct drm_bridge *bridge) { struct display_connector *conn =3D to_display_connector(bridge); =20 + if (conn->bridge.type =3D=3D DRM_MODE_CONNECTOR_DisplayPort) + cancel_work_sync(&conn->hpd_work); + disable_irq(conn->hpd_irq); } =20 +static void display_connector_hpd_work(struct work_struct *work) +{ + struct display_connector *conn =3D container_of(work, struct display_conn= ector, hpd_work); + struct drm_bridge *bridge =3D &conn->bridge; + + drm_bridge_hpd_notify(bridge, display_connector_detect(bridge)); +} + static const struct drm_edid *display_connector_edid_read(struct drm_bridg= e *bridge, struct drm_connector *connector) { @@ -395,6 +412,8 @@ static int display_connector_probe(struct platform_devi= ce *pdev) conn->bridge.ops |=3D DRM_BRIDGE_OP_DETECT; if (conn->hpd_irq >=3D 0) conn->bridge.ops |=3D DRM_BRIDGE_OP_HPD; + if (conn->hpd_irq >=3D 0 && type =3D=3D DRM_MODE_CONNECTOR_DisplayPort) + INIT_WORK(&conn->hpd_work, display_connector_hpd_work); =20 dev_dbg(&pdev->dev, "Found %s display connector '%s' %s DDC bus and %s HPD GPIO (ops 0x%x)\n= ", --=20 2.47.3