From nobody Tue Apr 7 09:19:40 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 AD9222253EB for ; Sat, 14 Mar 2026 00:43:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773449003; cv=none; b=MkMiQT1AADKINaXRn3bGb8tE5WAAZoALOKZBnpt0svPLyTGIFq4ecra7stkCpRpcPmknMJHCkc5W98qHq1f+g7YqM/0BYqirffM2vqtZoZ38/TWAt1ZGXEPcO2jmIdxDH3Q0SG5gCZ7gWGjL0+F3LKVCYdG7/R2qzGwTQt1OSfY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773449003; c=relaxed/simple; bh=uaisOO81wUqXM57ZY+50E+vgpCZk+fmw3L+QuSoJRis=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bVZahRxNB3IrNDI22mHePltGRhbOrt0qckl34+ERrCOUDmaNxeGDmW6dhM77mpcREJIXISZEtLqeyMBmdLQ4CoG+wRR0BACP7LJR7CTRJEvWWy13Rjbt4piv2kWF7+wiG92rDcNF5y1KfFg/iZUR/8R+9Z9eBdRZXr7/ma+BeRQ= 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=A1aFQJ29; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SK6ZaZMM; arc=none smtp.client-ip=205.220.168.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="A1aFQJ29"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SK6ZaZMM" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62DEZ0OO2262748 for ; Sat, 14 Mar 2026 00:43:22 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= dnqi4A1Nw9iq1rCq6bx9iMLW6imbL+bAYQJUwKQDVEA=; b=A1aFQJ29x6dowmkg kow378QQQOoak0MffL/xrGZA/BQWFXJb8BvwpvQpyGvomXdvMcHtGtpoFc1h/WRY zwaDOPr/k56fh4ZcPIGuHRzGYNOF+SksbCtk6xlP5beqz2DyYpnKSdnW+ZNnk2Ii Q2BU2giF4qKFgsG8CNhZKB8JpYLKLcW3ifSj/AIuy/UZuZzzWmmTzmtd9NjQNyTf yQikyzoGZzqiIcEjReYmOA7/VUGFZxT5hnqrv3GdnEqCsjXtVjkJyiUAD++gPi+m pb4uWyZ7vrgFikZ+c2Llg36f+veFWyYT7IY2w92oqBmV91LTHXPlkgxEnx3AfzLD D7fvfQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cvef4u3e3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 14 Mar 2026 00:43:21 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cd81c571a5so1594298285a.0 for ; Fri, 13 Mar 2026 17:43:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773449001; x=1774053801; 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=dnqi4A1Nw9iq1rCq6bx9iMLW6imbL+bAYQJUwKQDVEA=; b=SK6ZaZMM4t5Dq41RiLzE2V/Q8kWVBfzWjoRXNs4GfUldO1vShkik+cPlep1HA11UWF yuyWJj+WhDS+MRoDLrEYOSHnXdTwxoL0YHezZHSE/4Dg5CxXLZDbryhy0FgwyWG/+dbP zCdfhNmbeIEIOyg+oDV2Oq/cNLvjiTYjejsSiNLJEAnwnCNVcQH7ncY432brIy0J7FFg 74g8T/5lyvLGQ3tjcbubIfmBwvQUq9ZdmKXd78GmgXuYTaJrqUsfkITH/6gPTa14TDc6 FrhAiaA2odYDA1k4SQaW2i1iLzw0PFzYSzZIOgFllOhJAvV1tCOApFE6t8l4KaA5AFo0 K0/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773449001; x=1774053801; 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=dnqi4A1Nw9iq1rCq6bx9iMLW6imbL+bAYQJUwKQDVEA=; b=EfsdUr3gYl9kMpTm7G7byK9sBNeSmQnDpW1ljqT2P9jFFZjqljU7Ht3ZrO89zt6e7Y YZYt+zqq9TV+8KTLo4eSGCUraSjyAIxGle0gmoSFfcugrsmzgYAJSvnq8MaHmiuIRgyl rHJmo5TG3U6oYyB6YJTdHQc+++aQKIqkZECfPijF3rC343I3wONrRTzyENUFncpHs4Tn lGFbjABDnarnq4findQzgLCAmff6cArVv0+D1pJamvkMKtS5mulsAwFKBUQTDFRbVHis vYy6TLAv50cmsBOAXvLSwPGx3ldDIy4oWMw2nnxVJozC1z4knYjwjHJ4eKsQPRGOehd2 T0zw== X-Forwarded-Encrypted: i=1; AJvYcCVqoC/bFEdY1wPn160BlL16qsIMFHLRakkA23WQS6voBt8dmF+7gckHNvKPa1FgOJARiLInOyIaNHX6rVc=@vger.kernel.org X-Gm-Message-State: AOJu0YxXWXxgrWLD6U3mId0z/R5BQT7E0LEBd1we0poPlUglgc6VHL3F 1gATpIYrfnf2Jxgdl9kzEjyO/WA2gVCZQYUzdnsaT6OMcwwTZ8xKd/jQWjQpQhQ6wMVL9wV3O/h Rrm7wC11jWOQPhav1GdxgDEa1ch5c4LQjnY5Hn7goQMZdpAboOg35/+EfcfMHrgpPqm4= X-Gm-Gg: ATEYQzzLt7OG5lO1lJ9Jfw+VHPfjFuZJL8zqVMp8KSare3jOKcQ3mXhGbCDflKNa0QS LlQ3FQjvfWrif+T10LqJYvFhnw9ahYB/5roHZH4S/f09NqOqe0oQZNM08TXOiKbHwadaSddsUHb xkyOOdAyQjt1J2U35gzqfMTeNNzicBfV+isgAZc4ZkxIyFCtNKPuxd296fy9buaVEIIVPRzo6AH jfUDspUl+TRfZ0UZ6MmwK5Jda/163hjMHZeCcxunU01e7wputF9c6MqHp2S06M2KLtq5aCZZTXY nzw2EkOWy8CyQZ5zR4O3UjKBqU65iHqW/nOdvuNIjL6kHzSfht7qQlStExvHDJTrjHonkRt/hZ7 Lqc8U3n+3dx7SwQb9EzVFjdeCGhEBmYnDEAAdFVnYF8SwRgImC/IL7h8zf286exvoA97ds0/Zx/ 50PQondddUwXa7OlramxuM1+ypiSybIZb2dB0= X-Received: by 2002:a05:620a:1a19:b0:8cd:7db4:8082 with SMTP id af79cd13be357-8cdb5a3fd44mr754659685a.4.1773449000874; Fri, 13 Mar 2026 17:43:20 -0700 (PDT) X-Received: by 2002:a05:620a:1a19:b0:8cd:7db4:8082 with SMTP id af79cd13be357-8cdb5a3fd44mr754657485a.4.1773449000457; Fri, 13 Mar 2026 17:43:20 -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.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2026 17:43:18 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 14 Mar 2026 02:43:11 +0200 Subject: [PATCH 1/2] drm/bridge: display-connector: don't autoenable HPD IRQ 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-1-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=2194; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=uaisOO81wUqXM57ZY+50E+vgpCZk+fmw3L+QuSoJRis=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBptK8gtZfdKIRpL7Sp3rBpmOvpXYT1NDvYSUF30 nEmfvUEm/yJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCabSvIAAKCRCLPIo+Aiko 1UBiB/9rFH9uOMOxz3Z013q0wNXVl3gE+xUns1Cnz4pgToKLLlCPvH7LELY49xJAyZjw2mJB/sV FKeQH2jZ477grnDna1rKlQsz/bzIB41rZEl7ilqAMIPZj7X5AOevZm+vrQV5JXPbD6a506bUH0o 5K62HPtVRhrfdF1MLzUsrE3j72uwejwiZToePS9dCmILN5pRsmO1SrGGYV7QOVkEtc/GsTYTLw0 vUvrTTDNZpbnJAq8lFDRhGEwr6AwvTMe3VLrD7hUtM4fIaZS8tR+C7Mrf4J/nd0Eb961hSsmZmu l4F2SucQ6dfoH1NL4D160P0FPTl5hBnoU4eyFrjzLGV7pfkx X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: zqxSu3nXKecJAYXSnYFx0Du75iCo_tYW X-Proofpoint-GUID: zqxSu3nXKecJAYXSnYFx0Du75iCo_tYW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE0MDAwMyBTYWx0ZWRfX1JpPvUEyZ5ZH Wj+tZ/FIuHCwPC/cuY96MJigNQz3M3MElt5eMpiqmMvnCAZiMWTtweKrjXTiLEEkNzgKgBsLyzS d7Ug9/q0BWyvw7+MJ+imkfRhCIzHdzahHbv//yiAzm/VTExhUejHQTSL+zRnIwfnC99UdMkjla6 PZ/rviTD03BwEyyhcfMIAPnYJQL/tpnklFzdyxhdLMwIEiiMv2rL9SnpF1Mh6HyXpfqPIu/cacd QAhi6l01/qnozTOCgeUT54E68iqg1RqRDpGnEJp0baKibnCmfZrQgsI1XELoKAFBczYajWNuKBZ z1O94j4fxRFp+AJv/l/HW5Cxw1wGF38yCgQimO5kt3f2OdZDkObnMDHRZYZPVtzp2+KMTrD30iN 0viiTJWez4KYEUH+Dcg2NCSX4SqB/H4PdOE0xHzQAEwCy8WQiQEK972YCSLl9wsm8mYWCbBAvSY 327AZwmiaSz/kzOOP9Q== X-Authority-Analysis: v=2.4 cv=S9nUAYsP c=1 sm=1 tr=0 ts=69b4af29 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=n8oM3ScPHa2hF6C7bkkA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 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 impostorscore=0 adultscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 bulkscore=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 HPD IRQ is enabled in the display_connector's probe, it can be triggered too early, before the DRM connector is completely setup. Use the enable_hpd / disable_hpd callbacks to control enablement of the HPD IRQ. Fixes: 0c275c30176b ("drm/bridge: Add bridge driver for display connectors") Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/display-connector.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/gpu/drm/bridge/display-connector.c b/drivers/gpu/drm/b= ridge/display-connector.c index 16c0631adeb1..6bb1134f75c3 100644 --- a/drivers/gpu/drm/bridge/display-connector.c +++ b/drivers/gpu/drm/bridge/display-connector.c @@ -87,6 +87,20 @@ display_connector_bridge_detect(struct drm_bridge *bridg= e, struct drm_connector return display_connector_detect(bridge); } =20 +static void display_connector_hpd_enable(struct drm_bridge *bridge) +{ + struct display_connector *conn =3D to_display_connector(bridge); + + enable_irq(conn->hpd_irq); +} + +static void display_connector_hpd_disable(struct drm_bridge *bridge) +{ + struct display_connector *conn =3D to_display_connector(bridge); + + disable_irq(conn->hpd_irq); +} + static const struct drm_edid *display_connector_edid_read(struct drm_bridg= e *bridge, struct drm_connector *connector) { @@ -178,6 +192,8 @@ static u32 *display_connector_get_input_bus_fmts(struct= drm_bridge *bridge, static const struct drm_bridge_funcs display_connector_bridge_funcs =3D { .attach =3D display_connector_attach, .detect =3D display_connector_bridge_detect, + .hpd_enable =3D display_connector_hpd_enable, + .hpd_disable =3D display_connector_hpd_disable, .edid_read =3D display_connector_edid_read, .atomic_get_output_bus_fmts =3D display_connector_get_output_bus_fmts, .atomic_get_input_bus_fmts =3D display_connector_get_input_bus_fmts, @@ -307,6 +323,7 @@ static int display_connector_probe(struct platform_devi= ce *pdev) NULL, display_connector_hpd_irq, IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | + IRQF_NO_AUTOEN | IRQF_ONESHOT, "HPD", conn); if (ret) { --=20 2.47.3 From nobody Tue Apr 7 09:19:40 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