From nobody Fri Jun 12 17:17:16 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 BB2B83A7D60 for ; Wed, 13 May 2026 18:20:00 +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=1778696402; cv=none; b=g5zy08jIBpYomdbQk26w8QyDxOp1hl5wxwDysT8hslZTC8ESevS/DoYim6CYKnifJFiU8tTdhtK0fJZHu+ToydiAnsCNZlIV9KBWz/I/lG/jKxr1+hiZXi7o2K4xiuemPFqSrjkxwqTchH1g+kmeVLUtV4UxQoJDcaXZjic8xgQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778696402; 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=E+7eHCf9+izBofH0dKw0BrL6d36Be/Fr/bShgGWj5UKsmwfZ8iCiuS7dpAiQY5UH0AIMa8cK48vCW3urASklgRtbP1skZE045w03xo4u5vkexUhTx+5/KitLXOyNU1h23kHxkT5CUXW6fHdbq+nWvHQRqDigKvf5gPKTEZX7YYw= 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=XNfsmeGQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UQpiMgNK; 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="XNfsmeGQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UQpiMgNK" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64DGuJVR3995620 for ; Wed, 13 May 2026 18:19:59 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=XNfsmeGQFhU8ajMx 6ZfLin5pWrvji0SD+n7xnWoRwI6jvHEhE96tQTybxoqFl83uCxEMuIL+e0G9xoPI 5ITAwvqHeptBL5IctJ25R3xQNx2FdIsaMh7/oYzwOrsosaSMHbkuxrh2cCpqttZG m88/D4hx8QrUdsmVYL4rjZW94GR48UyQQRJ+vGZ4Bd98QyLLkUQEoJZeKc0rVUmU 2UbCx+JDWuNTDwc3+JKjnlQgECWLjiY6vDlJkoib9wR4G+CvG90ap6OBZrGWk/48 nQ1CQwrMKByS9m1OKDoblafG91BcpASEt2Rs6JO3OL59RBVMYPfRtGiJYgwna10k H5J9Cw== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e4w8urarp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 13 May 2026 18:19:59 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-63209622b03so2288926137.2 for ; Wed, 13 May 2026 11:19:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778696398; x=1779301198; 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=UQpiMgNK4ucXWMn5vG6IqjvComQVeTEWElEJvxGKvzYn4faainSQMCOwsF4VeOBoOR qRmDnXJd++2F1rORKcYY4yFUwyB8O8Jz8lgCTmNrR7D2jamgrnjeUhYWzwPBaydmuopP BTTeYsOObBdjktK0T5px7RmUfJGDE3iApO2/tXF/VQAh6OKDs5i/jht0LuZX3o1k+vJU sQJtZy262IkHK+tbDuBT/XOj/XL3ud9ZwdAC2dVXFIGwN5xeqmDkDzuA2LbQJhAqP63e PGgc62cNbv8v7DZTXy3KpbbzkRCdwIZrJg9Lk5Q4wtibTX5x4uyt219TglsGo5dyuhn0 pIug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778696398; x=1779301198; 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=j/EiSpqCNBXwv6ihRlmbK7D+d6p0A0QDwLM+iTAT/Fzu2Hb2pRASdRJ12GkCKMrO5w SS3si9gJ3HaJ3T3HbgduktV2hLiOHrJd9ZWc7SLvssg7TqB698Yo3zZow0JQ3/b5GiiX YtFU6oAoVIBFxCOCupzPk1eNcolkVtVS67i7Se7xDgvaJHK3jWkVPfrnb04bo414RkTS q7orzSBc14StngIIHvv8QNMgrCSLwZv2g8gbr5mCypJyoalsEf1dH9BcuOIdK9CaMBiH uIrbpQbEXPXY0zqy8cI7xnFJKXFoWM6dAS2VfPTXmlU5jPypkMbFgGU9v9GNYLIF162U Hidw== X-Forwarded-Encrypted: i=1; AFNElJ9jBq1JEYAhiBbhTnjYebR20wHiD/xlb27QGIrMS9tGkcDACNvDq+65A4LkylvS2GHDhUP7TvEAZMOvZqE=@vger.kernel.org X-Gm-Message-State: AOJu0Ywy+Mu8/F7nLSOooMrmRqrh2y32en+ZPnb2k9HyWTUV/9Tz+Mbv hwaIZ2GjG0iItUHLaiceuu2soKNZNb/wUCzRfcnf6bTzC9sUpmBzPzbL471DGXTGshxCq8MLueu 06h0DuM3H8U/sPWTJWdXQpKNsRqFEIGkq0tJuAESQvsuTfV/XGPSA81BuRZWAcAvspUM= X-Gm-Gg: Acq92OFdn3kzYh4oZ512UiIktz9KqAfCDKmnd1HYXBGwHo90DyXpkJdovOGbTPy3LeJ Vi0N/R666of1h4C6jrViUjOV0EScVlaviYieuKvGVWfdtRjpE1dpwXKP95ohtkkUka26ZRzAWLs lKILFpwk1FKkBtaov0I8CkGuNlRUPkRHVMcCrpAK7cMUmMicPbZ2MDJSyj7K6jqlRr6Gakop92M rPtOkwOI0u/PWXcGUPzt1hfKvUpsxYERT2woUaXp+N55celsvrPUVBBiOYe/qGGuFYO3oLWp+Ez +OWUcd3dAvLjqzgd+HFJOKFkS5cpMWVFlZ3OMc3d3RS1yz0YFqbKUGDqAtYfslSELKssSgI1MqU sSAXiu9jXklziGxyyuNL3THqx497wtxq0vgHBNgtVJY746u9ivSuW9gTkYEX4IXY1+/jBjh247D YsECy9bQdbcXj9xbu1JjzTuBHgA+Hr0ZoJolM= X-Received: by 2002:a05:6102:f81:b0:633:3040:ca5d with SMTP id ada2fe7eead31-637a787588fmr2016875137.9.1778696398306; Wed, 13 May 2026 11:19:58 -0700 (PDT) X-Received: by 2002:a05:6102:f81:b0:633:3040:ca5d with SMTP id ada2fe7eead31-637a787588fmr2016851137.9.1778696397832; Wed, 13 May 2026 11:19:57 -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-5a8c6f78bd7sm2685271e87.74.2026.05.13.11.19.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2026 11:19:55 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 13 May 2026 21:19:51 +0300 Subject: [PATCH v2 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: <20260513-dp-connector-hpd-v2-1-42f757bfcbf9@oss.qualcomm.com> References: <20260513-dp-connector-hpd-v2-0-42f757bfcbf9@oss.qualcomm.com> In-Reply-To: <20260513-dp-connector-hpd-v2-0-42f757bfcbf9@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.15.1 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/pANAwAKAYs8ij4CKSjVAcsmYgBqBMDJFs9UlSAQisQ+yScHFgxH3JuBibOEBWF2i v6nvEccs/iJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCagTAyQAKCRCLPIo+Aiko 1X+UCACKSgMrzrNs4PdHxJEhlqn6Nxpp9UW8b4efeExH7c5p2TPQ1qgvJ3TWBzHMBChKHqAcVPB GpNosBYYpz15qob+dMPbos+wszTLig83cEUrVBboNZffQAw5rEaT0i4rWBliEN+TSjf9f52EbkO /pt7OH/e2cc04DO/95bMZBFdfUSEBwNW1c4tRT7CiFzfIoKp0LBaObhqOMWmBTZVMkeIUpo80Nc WMyG26ih35TNvV6m6cQq4QrVSLkcjPDdKU/8LsPSEM9VxJxeRm/uaketOfF4amJpjoCpPIOg7AI A4LXM3yQ/E1sfBTtg1I4hd7KAGMB564uIEXzCTHXEJ1QZILA X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=WP1PmHsR c=1 sm=1 tr=0 ts=6a04c0cf cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=n8oM3ScPHa2hF6C7bkkA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22 X-Proofpoint-GUID: ulI1PdecT-bCHHGn6UVBDnv00YVf9xTB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTEzMDE4MiBTYWx0ZWRfX/xZ4unczrUK/ MLiS5VVpDV4OieoDUKZsDmAC8zE+5Tny5wobBaWTAzGVjXJvZ+vsSZKdFUAF1b1xusmYW8Is1Dw QlP8ILT3XJ/aDKi5RV4NuKzBxr1FL4VGduR5etchMpY0qJtpLzLljFmBL3U33JetY8go3DJluaB HvD7+U/0HSo045rtWS0c4D7X05540B2AdfJHyFvf6znyOyNHrgzgiQjQt/+s/FcDtlf1O2CfAjJ doZ/B6BpTTw8Diko1xdE5QvjQQOzKMN3pAAXVgkbpG4fyAU0FCZp0CFcLbK1AMZgITvXYCT2UJW u5RiyUNYuc0knCWF6HlOgOlTmk7V1xi1MvbkISOL4wtfqixIJIFnpfcO3Yty+yJfx9jIAfVgXFN TP+cryAWXuKhyw4z+AneNtVodji5nFrlI0LGC7Q+Y/J3TCDPN+jKeMy8kD4J4G1EZ8NNIs54oet xwAiuFr+vFt8gQBg/Qg== X-Proofpoint-ORIG-GUID: ulI1PdecT-bCHHGn6UVBDnv00YVf9xTB 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-05-13_02,2026-05-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 bulkscore=0 spamscore=0 impostorscore=0 suspectscore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605050000 definitions=main-2605130182 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 Fri Jun 12 17:17:16 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 B3A343A758B for ; Wed, 13 May 2026 18:20:01 +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=1778696403; cv=none; b=pxcZl1987i5KNQgkj/7pxbApYJnY5ACgef9haoh/AfbNt1z/6zMoLf3CmZPyR5v650uCwLcuTZQujuCjPCumGJ8FeOdX6il3cIT5eMmM4qWfOivBGqRDDtZr46pPMX9Wf/ZpxaCRiDdzJi7tPgtiwaYCCSntzBDwC0ujVpO2hRM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778696403; c=relaxed/simple; bh=toLROjSKKdBqupS5QXzQCe21kJo2RUgyLUKU8FAsdmA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=E0QHJGg1mZz0lhHxaNgenfMKqo560vSPRHswuwgzONao/gYTpO8zQpWDRqkkcphdxso2g1ZgOzcNUrHRbubMnh1TOTAzStoazG0pq8rfBwYzVrjn8At15s6Zo7dQjRrDZJzWLLMzdeHlvF7vE7t3KdLMeChFspUrvDi6M6s6Xn0= 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=EBSP8oyB; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VDD3w9D/; 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="EBSP8oyB"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VDD3w9D/" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64DGB4Ev2524633 for ; Wed, 13 May 2026 18:20:00 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= UyG6EhuE23RI8zVNC8Jla9EWC4Gg5g3Tbxtaid9LPMQ=; b=EBSP8oyBKNFEHPKh XrpTe65942I7vGSbU9Q1LgbMZq+RHmOeW5b57m5jUHei4O/aGEwZ/1QeuwF1L9V5 Z4Cn4YSExlpbY6HjSvxm5ednwOgizJuK1EPNZckJVjTROorAchmfyQZ6f8t4tASg bU01lpL9mGdCtdZEICz3yxWUWsFRWcEb/aV0jyk8etd7op/pr+F+YT852u71RQjz nx4VPeVi61vpLkGAo8Zed/w5iTNEpmIKhqbkYLsNRQkFx2A+2T/As0hB95/MWs3t kKdcP+RMdGNJRL3BZVd5JehIQyHvDV83yOyazkvuMYuxDD13Xx3+4O3MMcT7EfH4 z8ARLw== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e4vkjgh3q-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 13 May 2026 18:20:00 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-6333021c63fso4991256137.2 for ; Wed, 13 May 2026 11:20:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778696400; x=1779301200; 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=UyG6EhuE23RI8zVNC8Jla9EWC4Gg5g3Tbxtaid9LPMQ=; b=VDD3w9D/b0UcW1rTZjKf9t2Qmtpwt6/iRbwv0h2u/8iD0DqTFVc4WmSZSgVb67WIRi djo5/NU8ixijIRIpIhD2Daiq+RkYDK7rE6izmg0jcAE1FjrVuR/Uz8tmO/n3DovNB6el wcofQozA8GNzkDGyZnHVr3NZHMTagHIwBsXj/4gPT7/xYaYMu92cM3nzr90BJ9K3BZPC RXC7oiH42PSbqhijDjEjAzVLjm34nf6Rirovjn7uj6gM2rVir5/uupUJjGcfsDDtpcSE dWN6/m7VUd5Ka7tAVgHZcLRj05Wi95pSzUOnxPN+dAoGnsXCFy7vg3TACzMbWk4t5t+j UEBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778696400; x=1779301200; 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=UyG6EhuE23RI8zVNC8Jla9EWC4Gg5g3Tbxtaid9LPMQ=; b=LMh7nAYEfs+Qwg8n+ERT37sjeug38TLs7hF5DRZ9/INyTzaw/QbSuxiYpBQdfsflVD ZuxIdRbM/Br3qIzPKZM4vhoqjwmcaPU2Ksb2ziGfKjvfc37/skxSgGDxop3DimQceBC3 Z8HabBWDHWPwiEXgUlo6VmS8xpeSJ3h9pF+yi9FF83QldI8YlJEUBSXuYFvQAi/Eh3Lf FcU2RrsFBsol7AHLg/+zjZ4FD2ZyFUF0Y9QAidd0lvCgXQEuAQW6xqaVnOcIzpRiaytR Za1BDRUh5MVgybWB597PRnVgvl2g69TPQyUUPaIlm7nz4jWddzvnymGu8Fty59qnO4iL 1EJg== X-Forwarded-Encrypted: i=1; AFNElJ9cUDwq4CshlDwb0jCZJbXa/tmUSmWIElqkGLLVKGY5IRJdKhwZEx1FbaB7PQ1mOhaisINzCivhWekzjNE=@vger.kernel.org X-Gm-Message-State: AOJu0YwWZNFOzQ98NVXhObh2OqOe9N3VuxPrZHtrZpzBn0Ocf0QEfx6W Sp6tl7NXV/ODu2oiF7jhM+H25pfc004LhdQw0r4JfYUpOpgQrkgeHxBPNfUXTXXMImTucMhvINV Uc4c3IK2xLOMIfFgUcSXUputJs4OcASD4LxX9b1NIlvBriLY9BIgJtA7Z3IxfJsmVSNo= X-Gm-Gg: Acq92OElMhGQIF5To9TEbZl9UfQ9XbJkee4QbEeq55gA4JX+cRRA+O0pog7r/LIi9q7 X02W1qAwtraJ51TwxZMTrWp31EdCMAsnkX2lNqN/C9yNXV98a1L2/jlv8pOj1L+cp1tzoWxFJ/8 UOIqIA9bpWSIhX9w904KugWvR9QWoFtiCE5xiIaqzfRVt+tigWOzleZoJJdJ8jyMzxUaLPtj+jF 5lz1l1FfJjGt7pA9uBkuw09cnMlDXnrqbVBWgdrP0Uf2kEdrOL9oF/G+hEMCJMbXKTA5BBVMXdc hngUeeFgZUMRCdllMSCoqC3ycBgFjVorIM1XbfuEbA7qPtVuK74VvziDO0hvVkhbTeZ13Btzupa fe+nRcmtikO+vgShc1O54mPFeKrh2YFMZMMoc7yKqt1M0N5ha5pQn7gM4EbmIaBV4A9+mNXzKt9 rFaYGIlyy5Yhs8faGdhAiwKHdRICfrlc8uPiw= X-Received: by 2002:a05:6102:84c6:20b0:638:944a:49a3 with SMTP id ada2fe7eead31-638944a4b17mr827170137.11.1778696400003; Wed, 13 May 2026 11:20:00 -0700 (PDT) X-Received: by 2002:a05:6102:84c6:20b0:638:944a:49a3 with SMTP id ada2fe7eead31-638944a4b17mr827140137.11.1778696399485; Wed, 13 May 2026 11:19:59 -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-5a8c6f78bd7sm2685271e87.74.2026.05.13.11.19.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2026 11:19:58 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 13 May 2026 21:19:52 +0300 Subject: [PATCH v2 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: <20260513-dp-connector-hpd-v2-2-42f757bfcbf9@oss.qualcomm.com> References: <20260513-dp-connector-hpd-v2-0-42f757bfcbf9@oss.qualcomm.com> In-Reply-To: <20260513-dp-connector-hpd-v2-0-42f757bfcbf9@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.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=3384; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=toLROjSKKdBqupS5QXzQCe21kJo2RUgyLUKU8FAsdmA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBqBMDJRO5MReIwowEHexUURSvykIpP2hmAxIKG6 loKVXrQgY6JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCagTAyQAKCRCLPIo+Aiko 1c6LB/9mxfY+EYzbFLDR03XIBwrzQYPO+xuzo6z+9qtE9+BWipovXVcL+LvzZDqYBNVWf5UTHBb s45YPuy0txonhL9FT6biQOg8Amm4PRQV6fMNUT77mDHQutgkBTxgYHduqxpMZFYRRGD108cpiIG QvU44qQyqXA2yGiVF+K2l8iyvvwZVmHPtVV6H9huEMixN7pBHWUyL/KNIDJ/Xq+lG45CQ+Xb+I7 20evr39QbCudGBYLGfEwTMPZHrq/7F25VIx3Wn+6VrGStLUfOgu59VW7UrA9czimpd1BEi+C7Ih +na5M6v3p+LLa9xaz+paUM9ucQVuCZ0CHS5vYg3SJLVhYkrO X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: eH51mNjRCSVR2-NUmaBegj6E8mhLFu8c X-Proofpoint-ORIG-GUID: eH51mNjRCSVR2-NUmaBegj6E8mhLFu8c X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTEzMDE4MiBTYWx0ZWRfXwCLp/eBEZ+qu yYcfWt1L4h5WmsUn8F/KAaBcM9ZU/wdigZ2Nz2D4yUlfTLHTGtOMq4vfqtuJ8VFsdxE1GALN9/J AlT8EkqOO0F78cTlO69dX5+7qSeg9PuOxQUC4R/HZom8emQJVNzmn6TsCg3lSa0mraB0izI4WnB sjA2Xa40AC3Q+7TQnu1QmmvA9c2nbIDeqMHC8anUwQl+AkEzOj61foXi3SpsBmIN51R0qHfKyx+ KBL+QyMHlMjpT+WteHsN9BrmMIpNTLvoxRglXoKyGvc3nTvVbTVOl3R+0vZjtgpbwhCSVRXAmXg cA8EU71rVQA3kz/109yoJAQclazw/1OJLlRO1LrPiGDeyfAnbJKvYez8GbMzygKF+h7Ed9up4Cv Ivel9ssvrDp7QClkrJsuqy2S7sGMT0JDY+hpfRLYnscN/DqpPHFnshilioYY8vieuZ6bMItqz54 nQt9pTHyg3AJSqquiSQ== X-Authority-Analysis: v=2.4 cv=PbDPQChd c=1 sm=1 tr=0 ts=6a04c0d0 cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=BowoK5OvW5_YQLCZRRwA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n: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-05-13_02,2026-05-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 bulkscore=0 phishscore=0 malwarescore=0 spamscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605050000 definitions=main-2605130182 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. Note, thia issue only affects drivers which set OP_HPD but not OP_DETECT (like dp-connector). Here DP differs from HDMI. For HDMI there is no additional state or extra "bridge with no sinks plugged" cases. The HPD pin state is equalc to the display plugged state. Nor do we have a an AUX bus with timeouts, etc. 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