From nobody Tue Jun 16 03:58:11 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 47203393DC2 for ; Wed, 15 Apr 2026 23:22:42 +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=1776295363; cv=none; b=eJ0ycmuOqv1wtTblgeiYKDDr3JlBj94NqiUIqPGzKRIEP71YchI+IdPlorLTFGjolaSuYgI5OfHLRrTJegq01UT9sgneJ1MH5V9wtqE4MsBn+z2W3BbW1Vo0z/SIqxuiO/bdbPZFC55GsA5TBJMy5aCMdmMmdoRZZ/89gIo5ph0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776295363; c=relaxed/simple; bh=J3Awa0W9x47e9VDImgKb//FhRzSC+4krtGr/Wy12gno=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NFuOtUC7gURuoqWcrXhTXVqeCW2YYOAjBU7LGX0d8FoaVELLhoD5hLVme5LLpX7slEbu55SLUlElET/gBG9rJe4xVyba97xcYu5myafE84d6CxVnqHXMJ7XHq9Tb0mHKnmoTqsVpbYhJv1TR3pZ+tn4C32xUDcQ7tavX2ApxVuM= 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=HN9jqGQm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UnXp/6of; 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="HN9jqGQm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UnXp/6of" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63FGEpD0506797 for ; Wed, 15 Apr 2026 23:22:41 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= iT4ySHxd8iMiHVjfS/Pg8NfDAUzunyhUM2tZEku061M=; b=HN9jqGQmz0rOg6qq gM7Ah4W9Y7kaF29tucblX1H2+R1u9HMVdLhD4pohGhFPwRkMBxkDz43FDkLMQoLN jQkAjCv5F8SxaZTZS/FjIzwzRcQHO4DByVL1mJ86ZL/F/QB+5BBEnAXmjnYKsKJB VgL0Bgi15wvGsmuL9cz99m8I2UoaMBaPjB90kxh+yJGJDBwcQJlndgmNoQSOq5lG MwNjxpGuAyTfHllF3pAV5L5yZc0RF+gc9AXbHSbIFskv2VOaQ2sbmiiSjOIyl98o JrQLvEZy2eW/FpHX4FJwnaEiJzTKcmiavrDodZqk56xfxpH7na6bVJRXKflYmCdf FsfsIQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dje1e16y9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 15 Apr 2026 23:22:41 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50d812c898cso195383441cf.1 for ; Wed, 15 Apr 2026 16:22:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776295360; x=1776900160; 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=iT4ySHxd8iMiHVjfS/Pg8NfDAUzunyhUM2tZEku061M=; b=UnXp/6of0fIIoFlk3e9uxO4eZRKPj0h6m1DZ9lPMCLYPyFpZPNRALgfnKwQ8NVxgE3 8Ht6QW30nYin8G7hY7TAuv+58V+gPxy23Rjut/QF3iin7vMTyUawx7gmsR9m8n3T25R5 3HWADPkgHVWt7sQHE4woUiP4gPE/3pbZ6nOklM0c1nzrekiZrUpCKccahCeRRQYiO11U CMUKRoteC8JseTni0WWiht0/r0G4k6HuqUS/TEc6EVOEzxIswn1wcJRzqQJAHR+YMsw2 QW/9PYGUpi1dsxTm5+HmslWaLmzeF9VN1PzEDOLQmYhtre9oBmGFC//bh7REW9I7T50a fMQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776295360; x=1776900160; 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=iT4ySHxd8iMiHVjfS/Pg8NfDAUzunyhUM2tZEku061M=; b=gFOe//EXFQPt19zesS+pKRkebhwGZqwvyoT1e/0PW1x1B7zhDwutMicrnrkC98N4Yy gm1rGuqiJB3EoJY5yl8QmKWRx3KPTQuCUSLp1kPOktyrJklb0UrAB9h6FC+v34EY5hVe gh5z/EpN7CSltI1CaJ8MAlGPRKFwFaDTAXwJA5rRLcFbsiiEDx1Z8VPmT4dFKUtPJcMk c7G0JIA8XslW/+5+0hc2oSWomVgDKuDaVDRACb29j4FbxRSGVB+xy5Q/ZDp6IBRYot16 IT+Tem8pfq9bd3TbS/BNqyDgHeiG44bufAYakMjWMWUOdOuHYqZ1IyNT4iPr+yZx0JXk FtIQ== X-Forwarded-Encrypted: i=1; AFNElJ8srtXbAul29inWNX1eVyVFk3oLjhrBVmvYqF3KLJ7nZn7gx0TCBG6A7HvAQ5G1O41tu82k3QMx4UxtygY=@vger.kernel.org X-Gm-Message-State: AOJu0YzZO82oklmEeOjfPPhP13G4bmyrSVRaRuwQFINxf8B7gNPhr3tc ooi83uULkI6HiREvLFhZvxhkr/CuiWN4PnznH93q01Ptu3yr1PvW2wnhjVh1ExadzAhBBZjbkTH oRMv31MVFpTvxVDRgaytDLNUSU6sg0AMBdwy+Mfp79f6T5gMnrem/dbnj3so9JLip/nw= X-Gm-Gg: AeBDievkj7JtOzArr6A3H6oj3vqkF644XSYMbIqRp4D9o1WnuXIQ65/XYHw1xahK1HU kI2aB/8tbCm5GkHd88GkSpyZ6kieyqDimVYbp3geuzZVHmYpxPADtbuQgoSRnvc6Qt83v53BtXA XUXNdXe9KoVsh/97W/EaFD/yrVX8NrCKJ/fiV3FVKuq4+7FcwZa5T/1yUN3ZDfUfqr3g0fHt33I 9dBmD9N/hiEzBDzK1tcUTRlTxZUZyuPlA7bwm2Zt9gs6wN7IsX81nxrcmnuSqW//Y4DNY0BQwrh 5x0dp8yNscRna5dJLD16SDBkyPo0xlaZxAb1GzyOBV5rKSYkd0wo/XpgelCj9LlZsZJiAr+TWHN FuytUpAgtcq/Pzv//JYGCc0P7/uPvTF18688AVXnCeEKuDa9sYHKm09JWh6pTw4E05UvLDnKuJO 818II+cbUjQ2+XgCKf3zsPVedSo+95br6HIunJh1tC+i3M9g== X-Received: by 2002:a05:622a:13cd:b0:50d:c0c9:c985 with SMTP id d75a77b69052e-50dd5b30efcmr356728621cf.2.1776295360527; Wed, 15 Apr 2026 16:22:40 -0700 (PDT) X-Received: by 2002:a05:622a:13cd:b0:50d:c0c9:c985 with SMTP id d75a77b69052e-50dd5b30efcmr356728031cf.2.1776295359994; Wed, 15 Apr 2026 16:22:39 -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-5a40a272852sm817054e87.10.2026.04.15.16.22.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:22:37 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 16 Apr 2026 02:22:32 +0300 Subject: [PATCH 1/6] drm/connector: report IRQ_HPD events to drm_connector_oob_hotplug_event() 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: <20260416-hpd-irq-events-v1-1-1ab1f1cfb2b2@oss.qualcomm.com> References: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> In-Reply-To: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Heikki Krogerus , Greg Kroah-Hartman , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Adrien Grassein , Jani Nikula , Rodrigo Vivi , Joonas Lahtinen , Tvrtko Ursulin , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Tomi Valkeinen , Bjorn Andersson , Konrad Dybcio , Pengyu Luo , Nikita Travkin , Yongxing Mou Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=4349; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=J3Awa0W9x47e9VDImgKb//FhRzSC+4krtGr/Wy12gno=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ+YD2Z0/KxXy+84z8JxSP2aQ1M3eUcvU9ilBtXjR/aqj+ 2Z3LuboZDRmYWDkYpAVU2TxKWiZGrMpOezDjqn1MINYmUCmMHBxCsBEegXY/0d62BYrmU3n/7zq w+ajokINzO7HGphf9f7u+KVYY9GZPPPd+dPrFkd72JYIiEYv+Cgyof3QC9HYhe8y7N7v8o55f8f 3X2Ke4BGewnim+rd2rxrcf07ba/hJLfSBAqcl671TPhwNIbvfN0euXzJFsjR5bzDT9YdzJh+Ym/ DrT8lMr/j1XxkOpW5ULS/5e7N5VoX432Vz5+0VLIppu617LG7ZrHzlp8d/Zss9j9FTmRRq5zq/c aVoRAqT3bZowYyZno1Hlf17Mu6zn+s/mVhZfvShDm/vs2P85XszgkUDjLKetR15xhyY5ufn1Hkv c23zbjeWi9birs2+dzzKg7olbd5uy6nRu3vQ1+Tx4h1/AA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=HZwkiCE8 c=1 sm=1 tr=0 ts=69e01dc1 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=TP8XqTAxF71JeV6NEI0A:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDIxOSBTYWx0ZWRfX5cXPCmy2aXyF q+f0bhR3Mh/+925TnwqKbQinM3yd31/0XHXlGjDBgLTOXpIFtgIqHmQpVzZvxcoU6fQktKQdRVs /5JeyViW3GAjsBpptiuACzwy7LQBt8cCk9gQ1tVyZ0m5H86mpvMqLpBDIIGNG5TCBrlOb0toqG7 /CGTANehpFKAhXV/p6QkJKpOlgkArBHsYWYbOKnZWxPhL1nxOqVoOO3hPDDo9/KqWTNMPw5jYR3 pfr2mfjSBTFatD2kdR56yzAVxaQSRmsVyA1u2xdZx5IRrVCuzPJDDTFkIlnsqr0U30A1sPHD6Fl qknmLbjrnNkLzIf69CaA60CilxRZW/Ejnt0LXmw/4zX1P/vxUnjSAkyC/5EP+Y7oMY61EHR4dgM ZH2PPCEurOZxLKBfI93s68q3m1hjO2IXp16jedWF6mjx3rEZl9cLzQmAIk758D7N7hVH08u08hM RT6oXKzyRMk/zXj9Pnw== X-Proofpoint-ORIG-GUID: V26pH39q-Y4A37vUg_NsgI81O3_-kMHj X-Proofpoint-GUID: V26pH39q-Y4A37vUg_NsgI81O3_-kMHj 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-04-15_01,2026-04-13_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604150219 The DisplayPort standard defines a special kind of events called IRQ. These events are used to notify DP Source about the events on the Sink side. It is extremely important for DP MST handling, where the MST events are reported through this IRQ. In case of the USB-C DP AltMode there is no actual HPD pulse, but the events are ported through the bits in the AltMode VDOs. Extend the drm_connector_oob_hotplug_event() interface and report IRQ events to the DisplayPort Sink drivers. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/drm_connector.c | 4 +++- drivers/usb/typec/altmodes/displayport.c | 12 ++++++++---- include/drm/drm_connector.h | 3 ++- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connecto= r.c index 47dc53c4a738..5fdacbd84bd7 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -3510,6 +3510,7 @@ struct drm_connector *drm_connector_find_by_fwnode(st= ruct fwnode_handle *fwnode) * drm_connector_oob_hotplug_event - Report out-of-band hotplug event to c= onnector * @connector_fwnode: fwnode_handle to report the event on * @status: hot plug detect logical state + * @irq_hpd: HPD pulse detected * * On some hardware a hotplug event notification may come from outside the= display * driver / device. An example of this is some USB Type-C setups where the= hardware @@ -3520,7 +3521,8 @@ struct drm_connector *drm_connector_find_by_fwnode(st= ruct fwnode_handle *fwnode) * a drm_connector reference through calling drm_connector_find_by_fwnode(= ). */ void drm_connector_oob_hotplug_event(struct fwnode_handle *connector_fwnod= e, - enum drm_connector_status status) + enum drm_connector_status status, + bool irq_hpd) { struct drm_connector *connector; =20 diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/a= ltmodes/displayport.c index 35d9c3086990..0cade62da905 100644 --- a/drivers/usb/typec/altmodes/displayport.c +++ b/drivers/usb/typec/altmodes/displayport.c @@ -189,7 +189,8 @@ static int dp_altmode_status_update(struct dp_altmode *= dp) } else { drm_connector_oob_hotplug_event(dp->connector_fwnode, hpd ? connector_status_connected : - connector_status_disconnected); + connector_status_disconnected, + hpd && irq_hpd); dp->hpd =3D hpd; sysfs_notify(&dp->alt->dev.kobj, "displayport", "hpd"); if (hpd && irq_hpd) { @@ -212,7 +213,8 @@ static int dp_altmode_configured(struct dp_altmode *dp) */ if (dp->pending_hpd) { drm_connector_oob_hotplug_event(dp->connector_fwnode, - connector_status_connected); + connector_status_connected, + dp->pending_irq_hpd); sysfs_notify(&dp->alt->dev.kobj, "displayport", "hpd"); dp->pending_hpd =3D false; if (dp->pending_irq_hpd) { @@ -397,7 +399,8 @@ static int dp_altmode_vdm(struct typec_altmode *alt, dp->data.conf =3D 0; if (dp->hpd) { drm_connector_oob_hotplug_event(dp->connector_fwnode, - connector_status_disconnected); + connector_status_disconnected, + false); dp->hpd =3D false; sysfs_notify(&dp->alt->dev.kobj, "displayport", "hpd"); } @@ -827,7 +830,8 @@ void dp_altmode_remove(struct typec_altmode *alt) =20 if (dp->connector_fwnode) { drm_connector_oob_hotplug_event(dp->connector_fwnode, - connector_status_disconnected); + connector_status_disconnected, + false); =20 fwnode_handle_put(dp->connector_fwnode); } diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index f83f28cae207..e8e7e6c9eb5c 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -2521,7 +2521,8 @@ drm_connector_is_unregistered(struct drm_connector *c= onnector) } =20 void drm_connector_oob_hotplug_event(struct fwnode_handle *connector_fwnod= e, - enum drm_connector_status status); + enum drm_connector_status status, + bool irq_hpd); const char *drm_get_connector_type_name(unsigned int connector_type); const char *drm_get_connector_status_name(enum drm_connector_status status= ); const char *drm_get_subpixel_order_name(enum subpixel_order order); --=20 2.47.3 From nobody Tue Jun 16 03:58:11 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 8F81D33B6DA for ; Wed, 15 Apr 2026 23:22:46 +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=1776295368; cv=none; b=eUyIL8dWEeUSFK+TNwQzsRuIinUBAb+EbtwjhiQH70hwN8UL4TV9ZLAHw2mjKqOVt5T626Nd3V7cmIl3wTwnjOhZP3hTc/sQdaM3jiqFBLpKP9dvN+a7OQNDf+OW132z9C2pw9aa5XEuLDMqirAXrO+K5y8V5L61QmcyEMuwneY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776295368; c=relaxed/simple; bh=6rORaArznpSQQTKVl4Kfyi2yktT022Z5u+bODOjXSJw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XJh3RwCFjdJfHPur0VTVdXLNhufbvBbTPtcEI1a9ghJtvXEbBWNUc1/nKyFWwGpKKJcO59nNH/19z5sgKUbfBZKFxWgngtFkxJO+GGqpeD2/M2hmgUTdUlLj0eGsfNxiyNCywptbvc7obOeHkx8CPHKdGmWEs1+3sRuRRFFZnu0= 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=g09MrNJn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KLG3UIL6; 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="g09MrNJn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KLG3UIL6" 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 63FMJAae764425 for ; Wed, 15 Apr 2026 23:22:46 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= ZoYO/dltykYoPLKNW3ahMj9QZ/WW1GzPElSF85LROqY=; b=g09MrNJnRHLdHWgi 9uj2h6yUKloyNbKSypu1vYKLlUIHqQS7Bi4IEwXxUAFFtp/U41fOCBx0PeUPlDjk ZLuctqZIDW84MWPIHmyXbkAZpeW3o2KAslECftGynDtxsy2c/ZsH6yUcG6kWG5c6 e/RM4Rs8ajT00PdeJWYAgB8ZbgIjD/ptneM6WOeKWAgQmdAPqYjhwszd6ikTLinG jGpo0JK4NSEz2NH7vNS3egm7j68KbxhnsWEtX7kbeIMZqBvq1NQUH/vi4VFx2pHy pNdeDrPY8KG2k8Cur6igphFAKaB1vIZWL4CkzquNlUBw5HeSookC/a27pm+rGLQH KKgbjg== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dj6q7u2vm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 15 Apr 2026 23:22:45 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8aca14d1faaso188344946d6.3 for ; Wed, 15 Apr 2026 16:22:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776295365; x=1776900165; 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=ZoYO/dltykYoPLKNW3ahMj9QZ/WW1GzPElSF85LROqY=; b=KLG3UIL6dmEJ5rpSii91mKnf8DGcQrB6jUAaWivUdgcOp/TrtFWp1gDo1jFpW8XcZq zMw0XLUgk0GW4NQJoBvBY/rI6Vp1jcyXMcB/RXBLQsV457sKIn4j4y7OrVLTXMfDzFti ToqvZlDo86qQ6+ARRytb38Ey4lD6B9LhERUPvbxwLIhUEo3hrUMX0poky3iYeSpuZ1JR RYczMjmzCWL0PvOPbMyo5KT1Av1eLFHhs/dJaQ8uZDwl9kHTLW8THk1sQCqG/bTprr80 EI14LJPPKJsYEUgzMD+0HaFmF8PxP2BY34Jw9KDkVNhgw00ykn3bCTmzalDnjWdgloWq xKDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776295365; x=1776900165; 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=ZoYO/dltykYoPLKNW3ahMj9QZ/WW1GzPElSF85LROqY=; b=p+rpaRc6TQB8Vwxupd1hM44Hqgbs7G1JbYQClAzbLvtd46RTOzIDa+zedNXemA1GF8 XuV4dcrDjItJKw3ah4rQsR014YDvOAtp6QKxiwrOzqPLSU3/1kBJGEorPe+VxDEgI35W o7ob5rvndCHBeU5PRDPhmkzUx8cp7BBsg6lY9Aq96ndxiq38QlroopBWQ5T/AxRGuQa0 qbSrwXlY41gpiPvrX5y8SFF2l7TElH9UyVrO1OTFGdmpLaH8gc8yHhosv6qKueIoNB1n 9DoG/JPCBgeULXIlYP9JNluL1zGrqsKBAayAFQ9D4wUIsjrPFatI5R+3Hv8x0wJKUyxI +LbQ== X-Forwarded-Encrypted: i=1; AFNElJ9g4mxlkFugwI4vK9R290Jo4Qz9vBO0bnJWApIZyq5NymCgh0Tz8iNQ883CuT8mxoF8sIq9rVnALiBa3FM=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8DM7D9vMRsiOrn6erBY4v884+B9wOUeyspogMBLyIjIyzdIWX ca4X4gaoJTXDuONNvxygzocUP1Zb9qYZGJNQNqh9WAG3ER5sfcthmqYrFgOplGivRhqzeExfnnK j3iPnW9DAVmCPRO/smSOcKppDMJr/bKSlgseq6vAdZ6ICYRUd8I3YTsCLT3U32xBwF4w= X-Gm-Gg: AeBDiesgr0vqnbsc+MAymvIRCr3GR2DS6vsUHk7DGn28qr8aVVXaxD+d+K75DgiHsHz y6STBKBqdf5NNTpxQK72XdNUd+fyPaS+Xke+FGoK6yLH/3hbJWYWOabgJApjg+SOFptH54CwwUt YlYTLnYssed8VjQBq8EzbHV4F+43ZTFJffVcg4JjzIcNA9l6lICp0tLD+4iq2W28j2rJISvx1cx BGr0idPcVk3FESwDKOlZhlxHyKkbSI9ooCzSrJ4pTesQdb6h74+BIGFBuXPkxuvtKxreuLHu5VA BohXPOfn02MGgUIviOzrOIzDfhlgmAb0MU2BoxMV6SOcWejKQcu6Z+YDEYbw2CrevmETgj7gwmn in0t38f9etpFv9aiDhhd90yNiDRf30+649YRLjSlEwmO3XHJeER2Qxsc2UROHG548/33Tk3vO8B 45fcPt8I0x3crBIGhw0V1de+D6AM3Mf6DaGBP9qPJuVTGAIA== X-Received: by 2002:a05:622a:ca:b0:50d:e69c:fddd with SMTP id d75a77b69052e-50de69d0ab2mr290989381cf.36.1776295364498; Wed, 15 Apr 2026 16:22:44 -0700 (PDT) X-Received: by 2002:a05:622a:ca:b0:50d:e69c:fddd with SMTP id d75a77b69052e-50de69d0ab2mr290989011cf.36.1776295363986; Wed, 15 Apr 2026 16:22:43 -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-5a40a272852sm817054e87.10.2026.04.15.16.22.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:22:41 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 16 Apr 2026 02:22:33 +0300 Subject: [PATCH 2/6] drm/bridge: pass down IRQ_HPD to the drivers 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: <20260416-hpd-irq-events-v1-2-1ab1f1cfb2b2@oss.qualcomm.com> References: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> In-Reply-To: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Heikki Krogerus , Greg Kroah-Hartman , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Adrien Grassein , Jani Nikula , Rodrigo Vivi , Joonas Lahtinen , Tvrtko Ursulin , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Tomi Valkeinen , Bjorn Andersson , Konrad Dybcio , Pengyu Luo , Nikita Travkin , Yongxing Mou Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=12643; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=6rORaArznpSQQTKVl4Kfyi2yktT022Z5u+bODOjXSJw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp4B25qCkiDb9+iE2BeoGKl2Q1oeTgvlffW/Aa7 0io9+1ZlsCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaeAduQAKCRCLPIo+Aiko 1QWAB/9wBep+eelol4BgqqokK0DSPhbOav8X1GICl2RUKLcA8yPvCyJ9cmsk0svCAZr6NKF3MEg yxJoc3jncoJbnOTBGdNrbmbj12uv5aRWod96Rf2kXiJnyYfQDF1A/fmKs5UNT1uEixt03Y6nZuG sLq1QU7oztnQFihmuEUByqKLnnqh1Ms5zl+ob9JhOrsFMEhhYVYGYjLwbsbOOlNMHYZyC9H39X7 sO1pRBznlkIHboz340sLs+ohTehASX9UXtUpNlkWdEKs114OcoOhOp5H/U7JGN9pCzuIqNT/nGg HqnJUfKVj1oIljk2Iwek9QaprPCFVbuCf+nI51OkTr3o3GZv X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=AvHeGu9P c=1 sm=1 tr=0 ts=69e01dc5 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=ytOayRieDpR7XCQrtqAA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-GUID: prcC1SqMDS39icaQJhZSA81xHkw88j7x X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDIxOSBTYWx0ZWRfX5N9KyCfFV0Uf 5XNTwsdJ61ft2g55DawJ6mNtWBhmE7J0lfyt0C7mX7HyMlbtDSGzJDiNesrmLYsEuu/zBIApK6A xGAPTaM5iBw6r0yv4SinIsxvKDjeZtFnvdwrnV1r2tu6zQHVUiUwhPLzTRZcihQeqFJB+F4+Dfq xitpLpshgCeWH64QDVnUu3T3rwGXVrEImqrLMxqxBIaATPjpYikjf9mrDcC0RkEtEedtxHfcyWH WUwzcVVepvYO8cSfI+xTryWmTL2AZqbmqBEUzEM0FyMZJ3kjZahTLZHRORpJ/Z2hhaWzdNDDkPH lQBy5RkdFsNHjVqubqYd8nP9gHzglQfRARV6JQN5EdnGLrRxLXTjR1qI7A9RRv7y/ZUJVyAyqu5 srQQdzM7ppyjLuQw+QBjEeIy7qFoYL0EJec5GaT0wxqJPcu5ZSq/o54s/wmXmrFfzLg1f/fXkRT glqMz3F9+rD098DFxcw== X-Proofpoint-ORIG-GUID: prcC1SqMDS39icaQJhZSA81xHkw88j7x 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-04-15_01,2026-04-13_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 clxscore=1015 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604150219 Pass down the notifications about the IRQ_HPD events down to the individual drivers, letting them handle those as required. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/chrontel-ch7033.c | 2 +- drivers/gpu/drm/bridge/lontium-lt8912b.c | 2 +- drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 3 ++- drivers/gpu/drm/bridge/ti-tfp410.c | 2 +- drivers/gpu/drm/display/drm_bridge_connector.c | 21 ++++++++++++--------- drivers/gpu/drm/drm_bridge.c | 5 +++-- drivers/gpu/drm/drm_connector.c | 2 +- drivers/gpu/drm/i915/display/intel_dp.c | 3 ++- drivers/gpu/drm/meson/meson_encoder_hdmi.c | 3 ++- drivers/gpu/drm/msm/dp/dp_display.c | 3 ++- drivers/gpu/drm/msm/dp/dp_drm.h | 3 ++- drivers/gpu/drm/omapdrm/dss/hdmi4.c | 3 ++- include/drm/drm_bridge.h | 8 +++++--- include/drm/drm_connector.h | 3 ++- 14 files changed, 38 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/bridge/chrontel-ch7033.c b/drivers/gpu/drm/bri= dge/chrontel-ch7033.c index 54d49d4882c8..6d932dbe062b 100644 --- a/drivers/gpu/drm/bridge/chrontel-ch7033.c +++ b/drivers/gpu/drm/bridge/chrontel-ch7033.c @@ -259,7 +259,7 @@ static const struct drm_connector_helper_funcs ch7033_c= onnector_helper_funcs =3D { .best_encoder =3D ch7033_connector_best_encoder, }; =20 -static void ch7033_hpd_event(void *arg, enum drm_connector_status status) +static void ch7033_hpd_event(void *arg, enum drm_connector_status status, = bool irq_hpd) { struct ch7033_priv *priv =3D arg; =20 diff --git a/drivers/gpu/drm/bridge/lontium-lt8912b.c b/drivers/gpu/drm/bri= dge/lontium-lt8912b.c index 8a0b48efca58..3ffbb7346418 100644 --- a/drivers/gpu/drm/bridge/lontium-lt8912b.c +++ b/drivers/gpu/drm/bridge/lontium-lt8912b.c @@ -504,7 +504,7 @@ static int lt8912_attach_dsi(struct lt8912 *lt) return 0; } =20 -static void lt8912_bridge_hpd_cb(void *data, enum drm_connector_status sta= tus) +static void lt8912_bridge_hpd_cb(void *data, enum drm_connector_status sta= tus, bool irq_hpd) { struct lt8912 *lt =3D data; =20 diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c b/drivers/gpu/drm/b= ridge/lontium-lt9611uxc.c index 11aab07d88df..7e5a110cfa1f 100644 --- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c +++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c @@ -430,7 +430,8 @@ static const struct drm_edid *lt9611uxc_bridge_edid_rea= d(struct drm_bridge *brid =20 static void lt9611uxc_bridge_hpd_notify(struct drm_bridge *bridge, struct drm_connector *connector, - enum drm_connector_status status) + enum drm_connector_status status, + bool irq_hpd) { const struct drm_edid *drm_edid; =20 diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti= -tfp410.c index 3b6b0e92cf89..4111aa104256 100644 --- a/drivers/gpu/drm/bridge/ti-tfp410.c +++ b/drivers/gpu/drm/bridge/ti-tfp410.c @@ -110,7 +110,7 @@ static void tfp410_hpd_work_func(struct work_struct *wo= rk) drm_helper_hpd_irq_event(dvi->bridge.dev); } =20 -static void tfp410_hpd_callback(void *arg, enum drm_connector_status statu= s) +static void tfp410_hpd_callback(void *arg, enum drm_connector_status statu= s, bool irq_hpd) { struct tfp410 *dvi =3D arg; =20 diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/d= rm/display/drm_bridge_connector.c index 39cc18f78eda..749d3d63216c 100644 --- a/drivers/gpu/drm/display/drm_bridge_connector.c +++ b/drivers/gpu/drm/display/drm_bridge_connector.c @@ -141,7 +141,8 @@ struct drm_bridge_connector { */ =20 static void drm_bridge_connector_hpd_notify(struct drm_connector *connecto= r, - enum drm_connector_status status) + enum drm_connector_status status, + bool irq_hpd) { struct drm_bridge_connector *bridge_connector =3D to_drm_bridge_connector(connector); @@ -149,12 +150,12 @@ static void drm_bridge_connector_hpd_notify(struct dr= m_connector *connector, /* Notify all bridges in the pipeline of hotplug events. */ drm_for_each_bridge_in_chain_scoped(bridge_connector->encoder, bridge) { if (bridge->funcs->hpd_notify) - bridge->funcs->hpd_notify(bridge, connector, status); + bridge->funcs->hpd_notify(bridge, connector, status, irq_hpd); } } =20 static void drm_bridge_connector_handle_hpd(struct drm_bridge_connector *d= rm_bridge_connector, - enum drm_connector_status status) + enum drm_connector_status status, bool irq_hpd) { struct drm_connector *connector =3D &drm_bridge_connector->base; struct drm_device *dev =3D connector->dev; @@ -163,24 +164,26 @@ static void drm_bridge_connector_handle_hpd(struct dr= m_bridge_connector *drm_bri connector->status =3D status; mutex_unlock(&dev->mode_config.mutex); =20 - drm_bridge_connector_hpd_notify(connector, status); + drm_bridge_connector_hpd_notify(connector, status, irq_hpd); =20 drm_kms_helper_connector_hotplug_event(connector); } =20 static void drm_bridge_connector_hpd_cb(void *cb_data, - enum drm_connector_status status) + enum drm_connector_status status, + bool irq_hpd) { - drm_bridge_connector_handle_hpd(cb_data, status); + drm_bridge_connector_handle_hpd(cb_data, status, irq_hpd); } =20 static void drm_bridge_connector_oob_hotplug_event(struct drm_connector *c= onnector, - enum drm_connector_status status) + enum drm_connector_status status, + bool irq_hpd) { struct drm_bridge_connector *bridge_connector =3D to_drm_bridge_connector(connector); =20 - drm_bridge_connector_handle_hpd(bridge_connector, status); + drm_bridge_connector_handle_hpd(bridge_connector, status, irq_hpd); } =20 static void drm_bridge_connector_enable_hpd(struct drm_connector *connecto= r) @@ -223,7 +226,7 @@ drm_bridge_connector_detect(struct drm_connector *conne= ctor, bool force) if (hdmi) drm_atomic_helper_connector_hdmi_hotplug(connector, status); =20 - drm_bridge_connector_hpd_notify(connector, status); + drm_bridge_connector_hpd_notify(connector, status, false); } else { switch (connector->connector_type) { case DRM_MODE_CONNECTOR_DPI: diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c index d6f512b73389..9c44e9b6c638 100644 --- a/drivers/gpu/drm/drm_bridge.c +++ b/drivers/gpu/drm/drm_bridge.c @@ -1444,7 +1444,8 @@ EXPORT_SYMBOL_GPL(drm_bridge_edid_read); */ void drm_bridge_hpd_enable(struct drm_bridge *bridge, void (*cb)(void *data, - enum drm_connector_status status), + enum drm_connector_status status, + bool irq_hpd), void *data) { if (!(bridge->ops & DRM_BRIDGE_OP_HPD)) @@ -1509,7 +1510,7 @@ void drm_bridge_hpd_notify(struct drm_bridge *bridge, { mutex_lock(&bridge->hpd_mutex); if (bridge->hpd_cb) - bridge->hpd_cb(bridge->hpd_data, status); + bridge->hpd_cb(bridge->hpd_data, status, false); mutex_unlock(&bridge->hpd_mutex); } EXPORT_SYMBOL_GPL(drm_bridge_hpd_notify); diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connecto= r.c index 5fdacbd84bd7..809ce38c4822 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -3531,7 +3531,7 @@ void drm_connector_oob_hotplug_event(struct fwnode_ha= ndle *connector_fwnode, return; =20 if (connector->funcs->oob_hotplug_event) - connector->funcs->oob_hotplug_event(connector, status); + connector->funcs->oob_hotplug_event(connector, status, irq_hpd); =20 drm_connector_put(connector); } diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915= /display/intel_dp.c index b8b6d62fb275..524d6c67ca54 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -6784,7 +6784,8 @@ static int intel_dp_connector_atomic_check(struct drm= _connector *_connector, } =20 static void intel_dp_oob_hotplug_event(struct drm_connector *_connector, - enum drm_connector_status hpd_state) + enum drm_connector_status hpd_state, + bool irq_hpd) { struct intel_connector *connector =3D to_intel_connector(_connector); struct intel_display *display =3D to_intel_display(connector); diff --git a/drivers/gpu/drm/meson/meson_encoder_hdmi.c b/drivers/gpu/drm/m= eson/meson_encoder_hdmi.c index 1abb0572bb5f..346c4d2e26e8 100644 --- a/drivers/gpu/drm/meson/meson_encoder_hdmi.c +++ b/drivers/gpu/drm/meson/meson_encoder_hdmi.c @@ -323,7 +323,8 @@ static int meson_encoder_hdmi_atomic_check(struct drm_b= ridge *bridge, =20 static void meson_encoder_hdmi_hpd_notify(struct drm_bridge *bridge, struct drm_connector *connector, - enum drm_connector_status status) + enum drm_connector_status status, + bool irq_hpd) { struct meson_encoder_hdmi *encoder_hdmi =3D bridge_to_meson_encoder_hdmi(= bridge); =20 diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/d= p_display.c index d2124d625485..45e14a0010c2 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -1785,7 +1785,8 @@ void msm_dp_bridge_hpd_disable(struct drm_bridge *bri= dge) =20 void msm_dp_bridge_hpd_notify(struct drm_bridge *bridge, struct drm_connector *connector, - enum drm_connector_status status) + enum drm_connector_status status, + bool irq_hpd) { struct msm_dp_bridge *msm_dp_bridge =3D to_dp_bridge(bridge); struct msm_dp *msm_dp_display =3D msm_dp_bridge->msm_dp_display; diff --git a/drivers/gpu/drm/msm/dp/dp_drm.h b/drivers/gpu/drm/msm/dp/dp_dr= m.h index 9eb3431dd93a..5a877655d56c 100644 --- a/drivers/gpu/drm/msm/dp/dp_drm.h +++ b/drivers/gpu/drm/msm/dp/dp_drm.h @@ -41,6 +41,7 @@ void msm_dp_bridge_hpd_enable(struct drm_bridge *bridge); void msm_dp_bridge_hpd_disable(struct drm_bridge *bridge); void msm_dp_bridge_hpd_notify(struct drm_bridge *bridge, struct drm_connector *connector, - enum drm_connector_status status); + enum drm_connector_status status, + bool irq_hpd); =20 #endif /* _DP_DRM_H_ */ diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c b/drivers/gpu/drm/omapdrm/= dss/hdmi4.c index 29b2dfb90b5f..dae9e464889c 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi4.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c @@ -429,7 +429,8 @@ static void hdmi4_bridge_disable(struct drm_bridge *bri= dge, =20 static void hdmi4_bridge_hpd_notify(struct drm_bridge *bridge, struct drm_connector *connector, - enum drm_connector_status status) + enum drm_connector_status status, + bool irq_hpd) { struct omap_hdmi *hdmi =3D drm_bridge_to_hdmi(bridge); =20 diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h index a8d67bd9ee50..4eea124c7eb7 100644 --- a/include/drm/drm_bridge.h +++ b/include/drm/drm_bridge.h @@ -615,7 +615,8 @@ struct drm_bridge_funcs { */ void (*hpd_notify)(struct drm_bridge *bridge, struct drm_connector *connector, - enum drm_connector_status status); + enum drm_connector_status status, + bool irq_hpd); =20 /** * @hpd_enable: @@ -1260,7 +1261,7 @@ struct drm_bridge { * @hpd_cb: Hot plug detection callback, registered with * drm_bridge_hpd_enable(). */ - void (*hpd_cb)(void *data, enum drm_connector_status status); + void (*hpd_cb)(void *data, enum drm_connector_status status, bool irq_hpd= ); /** * @hpd_data: Private data passed to the Hot plug detection callback * @hpd_cb. @@ -1550,7 +1551,8 @@ const struct drm_edid *drm_bridge_edid_read(struct dr= m_bridge *bridge, struct drm_connector *connector); void drm_bridge_hpd_enable(struct drm_bridge *bridge, void (*cb)(void *data, - enum drm_connector_status status), + enum drm_connector_status status, + bool irq_hpd), void *data); void drm_bridge_hpd_disable(struct drm_bridge *bridge); void drm_bridge_hpd_notify(struct drm_bridge *bridge, diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index e8e7e6c9eb5c..e164b0dbaa47 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -1704,7 +1704,8 @@ struct drm_connector_funcs { * has been received from a source outside the display driver / device. */ void (*oob_hotplug_event)(struct drm_connector *connector, - enum drm_connector_status status); + enum drm_connector_status status, + bool irq_hpd); =20 /** * @debugfs_init: --=20 2.47.3 From nobody Tue Jun 16 03:58:11 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 2E2033939B0 for ; Wed, 15 Apr 2026 23:22:48 +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=1776295370; cv=none; b=riapzuY8KHyzu4C8qYObYq327HERRuVhLhDjSSalQBtXkV9B/2GtLPCu/QuIung5A9LRoeD+GrgLX+2RisfeMqZWP0rbBtZYgAcGNKXnczWtnhBd5DErFJnnR+/ef3FrecZx2jj07CqWNj4buGpdM5Ii2QspWT9RukYI2dDb/VQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776295370; c=relaxed/simple; bh=mz8dmJX1o7L+LkFDzvBa1x8iVPv9TimP8vXBvzsNNxA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f4adYIK5ruq6dWABr2ZJ36U+Q9B4lin0+WafDkTfIxlKL74OIaA/VcipcJafLYrikHiU9m/YlpLIle3lZ2IQ1mICYBCFj+YR3t5QaC++rbrY40LJ35ouVFKpaXAe949OSFRpZgCOg6hqh0gJt3uaAd5R66kZyHywT/fSNaF6c7c= 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=ecU/bmn9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aIzU/f9b; 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="ecU/bmn9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aIzU/f9b" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63FGEoek506775 for ; Wed, 15 Apr 2026 23:22:48 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= a4KSfjn1joLi2IK5RttCTaEwdkwsswlE9sN0psAruEM=; b=ecU/bmn9v1itzIBb 68x+4zJohm4hFwl+P/1pO62Wz+JE+YbZGYSTfNve8Xf74w4ihxA5XEqHWqZedt57 6LWs4oFYLn9iE/P7lv/E1xQD+ohk7jNq41w6g6hDkBB7WnUjESAoNJEftCtY7WET AV3Wx+itysbZUglZw/CJ5WTPnZfPumUjJ/nnLkE/PBtf4NWxHxkGhpiHN6TLx7HQ Dm2OLDmS9ZPFxfkY8gjXk+haWXqV8fejehk6KYMuplKf4k3envkRCXsUzF7fu9py 7EpaSjl8qxAxQUYmoUSi2Mj1H/a5UWHwMFvzLR7ZhBsNfGQM0r42XIVbce5xFZUe 6vx92g== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dje1e1706-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 15 Apr 2026 23:22:48 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50d812c898cso195385631cf.1 for ; Wed, 15 Apr 2026 16:22:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776295367; x=1776900167; 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=a4KSfjn1joLi2IK5RttCTaEwdkwsswlE9sN0psAruEM=; b=aIzU/f9bSArmodWqmdal41FXluwcYK7QkECJw4xhziWjrswCi4ROnoBGZglNn7zupO curC9fsJxFC10d3wrdX1D07fs9+zXoOhFKskm4ZUiNH1t0a85rifHhzxKmb4hfFKo3Gl bTHeYgrZdQr97I1SCMAFMx4FkQqUwIpCciijwd3kORE+Cc8mkw0fOgzd/lfNXi+6o425 j7cxpQMFFy/xTtxvpFi1ho6gA23Qr+aK/g2CMErkosn+KAEbgXk22j/r+L70LN2nKaig HCTjyoSDM/Wbd9aSVxjhJuNac92OdocKa+IWco6PmTWCqoea3JPcdMB8yCJHEOvHAf5K MsFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776295367; x=1776900167; 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=a4KSfjn1joLi2IK5RttCTaEwdkwsswlE9sN0psAruEM=; b=Eyrs+/xS/rnfsocCkhWUgYBaHBNnb+Q4bFlceO7Q7Vkgg1tjGTl8pvt+iUiWXvmojH nefTwuzp8qvHHpD4Klt4/OyWoxQM7/QjqH+BK1JKZCc90on1AOP+wkzk8FuOm3RoT9RK PtBhRce7PsuvHqLSHp4WbLE9TzKqG0bkt4bD0Yu6blummzfAxKYln9NGOuEOmZE5Nbeh 7cJwGNCkGMVIzQkv6O3DhyfCrjkvPk5lBh+ks3zg85dZHvgR+IcR4voxbP7QdMQEjTiQ aoXc5cqM8Lx8/c4l/oAGcdACjUx2ZQgoyc2BXPZaHmH4XoMU3wRZBE1jdcC2+x6IhiI1 fk0A== X-Forwarded-Encrypted: i=1; AFNElJ/CrUTdWmd3K4dHpezPsfjGW06Ea8cMkHiQ/cbv21omDKzcmUkoNAJfcAqKQhO5aqw3+AaBSBKYdesBN6g=@vger.kernel.org X-Gm-Message-State: AOJu0YxZYoagQcAE8VLueHX6xp/PhRfV+XCw2tMqGwpy56vTiTlE0fRq DH2wLmslfAViy/mofa/PVpO7jVcMlTD7xDMLPJzlovI6WH95QyMYnnIjkLAA+VhDa4F9m8eB4oE xT6hb51aACAI5lwIOAXiIOHIm38dbvAEXkOHz3OOGu6p/oA7AEPTMcwvf7d33HJ1C1pM= X-Gm-Gg: AeBDievYxs5L5oRyHXnC5ogQWq4JK3/5iqazhR0qDiLB/uCTiEwBLYZkF0bwg4srb8C 6cWxybIKu+HewwrrKyiaRK+9VcSpH0nKs5MRMzJaWeNvHB94lcqsK7dNFuv6HLYrqRq+TX8HNwX r1HPnjGW/ypqU9t1sW4gU7CxR7u/G5MInbPFqf4s7FjVqLks0oAJtxSzh6j5D4bAs42cYJ5QybV u9ypBB6BMhuk8KToJ/qpPZxHANR5D492n8ByS5npBxXidYbiyXgR14xMgHpM8H5Hze2ALb8xiK1 9ssJRFbjandVnvFONFBHmTxkUjZpBrRdaDRUndM5E99htQU0qbxPlJnW0G8Qlz9Tj+tZwwLvpDv a9kpieKT4b5e9V9x+JwGFSyFG+5LYSS0SIvuAy9o6Vy1JIFj2vAW84KUy/9bT5Q1+fC+7SKmbm1 M36gnM9kbX8m1hRytlwmuvD/QFJnWUVSoxWFxdmj9GXDw8CQ== X-Received: by 2002:a05:622a:1822:b0:50d:736a:6248 with SMTP id d75a77b69052e-50dd5b30c24mr373454181cf.11.1776295367319; Wed, 15 Apr 2026 16:22:47 -0700 (PDT) X-Received: by 2002:a05:622a:1822:b0:50d:736a:6248 with SMTP id d75a77b69052e-50dd5b30c24mr373453501cf.11.1776295366820; Wed, 15 Apr 2026 16:22:46 -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-5a40a272852sm817054e87.10.2026.04.15.16.22.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:22:44 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 16 Apr 2026 02:22:34 +0300 Subject: [PATCH 3/6] drm/bridge: aux-hpd: let drivers pass IRQ_HPD events 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: <20260416-hpd-irq-events-v1-3-1ab1f1cfb2b2@oss.qualcomm.com> References: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> In-Reply-To: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Heikki Krogerus , Greg Kroah-Hartman , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Adrien Grassein , Jani Nikula , Rodrigo Vivi , Joonas Lahtinen , Tvrtko Ursulin , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Tomi Valkeinen , Bjorn Andersson , Konrad Dybcio , Pengyu Luo , Nikita Travkin , Yongxing Mou Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=6722; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=mz8dmJX1o7L+LkFDzvBa1x8iVPv9TimP8vXBvzsNNxA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp4B25wq4mEi/132w7NqLGejQ6ZJBdwpIzHMQlR CgdKQu+o1uJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaeAduQAKCRCLPIo+Aiko 1bnDB/0SNFEv411ScvEko1SCNGqXnGoqWBUVGwV489aKOY+PT5D4wMY3kl7mN6JyZQ5TDhpESNT XszzIh45Q6TdckQtvLV5BndM4pjBHB7Ifftp9Tr0LenZqp6LO2HhtKbsoxtyCdt+2teeemdUWwo NFD+rY4+gIcP16wKtPP0HqVTpJirb+ndjoDatTbsb9xXrVGvE8MhxxPMjH3kf627kp+9Bt8S0f0 PXmX19LnBxkToLnq88pT8puI2CDZOca59+RijyQKFm385Ek4yP7xaYt3ImCB4DZPwj4eR/tYKl+ 92hStNtdLrmfLDIhFNjTci/g+IN7G4qgHoQZ/l2MzP+1pKAm X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=HZwkiCE8 c=1 sm=1 tr=0 ts=69e01dc8 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=zEMOeRQCFk_hQCPR_I0A:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDIxOSBTYWx0ZWRfXxnYxkXwdRYcz /jPRy2JiM+zK+0Zb5tqxaiPRJu1ci78mv5jcaL659xEEOt5mqNrq6uyTXxrHHM7C8Uet+Aoqiyj R/8t/pPCDLWnoaj4tUVccdVem+7MSi8SrsbgvqXbbCIgdfZ8Tcpp41rBRL7tx4j6mUfFsvKC7PE oL13XvHM3BdOX94X7VkzXgROj4pawaCtkgaxsV2LKF59f5zzuf/69BF5773BaLndO2E+inZzuVN xknrDFAGEl9PknOB/iLOTCtxwThGEjh5ThnK3F38RFD557bVS4QfaLJHSQjwfH9bCaY/S4TFafs yHYcbkvykaAGi/APfA15mkqpP9m8xgl7IMROII2PJ0BrBBsWE9ypT3w/t6bjdIXW8n2DhiwojKS 0px82OdxXm5B0Hud9RHBLIcgFxlKsztPpGAHwTWBRgOq6mU8Cgw6ppjyHj9JmGe8gs5mfTs3ych WohHMQ49pRXMtwf5WoA== X-Proofpoint-ORIG-GUID: SV8rYlARw3OuMBEAl_FEzIW8Wel0XFUT X-Proofpoint-GUID: SV8rYlARw3OuMBEAl_FEzIW8Wel0XFUT 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-04-15_01,2026-04-13_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604150219 Let users of aux-hpd, the UCSI and PMIC GLINK drivers pass the IRQ_HPD events to the DisplayPort drivers. The drm_aux_hpd_bridge_notify() is keps to ease merging of the series, preventing extra cross-tree merges. It will be removed once all drivers are converted. The drm_bridge_hpd_notify() function is kept for the driver which only care about the connector status and will always pass false as the irq_hpd event. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/aux-hpd-bridge.c | 9 ++++++--- drivers/gpu/drm/drm_bridge.c | 15 +++++++++------ include/drm/bridge/aux-bridge.h | 13 +++++++++++-- include/drm/drm_bridge.h | 22 ++++++++++++++++++++-- 4 files changed, 46 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/bridge/aux-hpd-bridge.c b/drivers/gpu/drm/brid= ge/aux-hpd-bridge.c index f02a38a2638a..74d606b27dc6 100644 --- a/drivers/gpu/drm/bridge/aux-hpd-bridge.c +++ b/drivers/gpu/drm/bridge/aux-hpd-bridge.c @@ -136,16 +136,19 @@ struct device *drm_dp_hpd_bridge_register(struct devi= ce *parent, struct device_n EXPORT_SYMBOL_GPL(drm_dp_hpd_bridge_register); =20 /** - * drm_aux_hpd_bridge_notify - notify hot plug detection events + * drm_aux_hpd_bridge_notify_with_irq - notify hot plug detection events * @dev: device created for the HPD bridge * @status: output connection status + * @irq_hpd: recorded IRQ_HPD status * * A wrapper around drm_bridge_hpd_notify() that is used to report hot plug * detection events for bridges created via drm_dp_hpd_bridge_register(). * * This function shall be called in a context that can sleep. */ -void drm_aux_hpd_bridge_notify(struct device *dev, enum drm_connector_stat= us status) +void drm_aux_hpd_bridge_notify_with_irq(struct device *dev, + enum drm_connector_status status, + bool irq_hpd) { struct auxiliary_device *adev =3D to_auxiliary_dev(dev); struct drm_aux_hpd_bridge_data *data =3D auxiliary_get_drvdata(adev); @@ -155,7 +158,7 @@ void drm_aux_hpd_bridge_notify(struct device *dev, enum= drm_connector_status sta =20 drm_bridge_hpd_notify(&data->bridge, status); } -EXPORT_SYMBOL_GPL(drm_aux_hpd_bridge_notify); +EXPORT_SYMBOL_GPL(drm_aux_hpd_bridge_notify_with_irq); =20 static int drm_aux_hpd_bridge_attach(struct drm_bridge *bridge, struct drm_encoder *encoder, diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c index 9c44e9b6c638..5a3dd4f92fbc 100644 --- a/drivers/gpu/drm/drm_bridge.c +++ b/drivers/gpu/drm/drm_bridge.c @@ -1495,25 +1495,28 @@ void drm_bridge_hpd_disable(struct drm_bridge *brid= ge) EXPORT_SYMBOL_GPL(drm_bridge_hpd_disable); =20 /** - * drm_bridge_hpd_notify - notify hot plug detection events + * drm_bridge_hpd_notify_with_irq - notify hot plug detection and sink IRQ= events * @bridge: bridge control structure * @status: output connection status + * @irq_hpd: recorded IRQ_HPD status * * Bridge drivers shall call this function to report hot plug events when = they - * detect a change in the output status, when hot plug detection has been + * detect a change in the output status or when the sink has reported the = IRQ + * event (usually delivered as IRQ_HPD pulse), when hot plug detection has= been * enabled by drm_bridge_hpd_enable(). * * This function shall be called in a context that can sleep. */ -void drm_bridge_hpd_notify(struct drm_bridge *bridge, - enum drm_connector_status status) +void drm_bridge_hpd_notify_with_irq(struct drm_bridge *bridge, + enum drm_connector_status status, + bool irq_hpd) { mutex_lock(&bridge->hpd_mutex); if (bridge->hpd_cb) - bridge->hpd_cb(bridge->hpd_data, status, false); + bridge->hpd_cb(bridge->hpd_data, status, irq_hpd); mutex_unlock(&bridge->hpd_mutex); } -EXPORT_SYMBOL_GPL(drm_bridge_hpd_notify); +EXPORT_SYMBOL_GPL(drm_bridge_hpd_notify_with_irq); =20 #ifdef CONFIG_OF /** diff --git a/include/drm/bridge/aux-bridge.h b/include/drm/bridge/aux-bridg= e.h index c2f5a855512f..6f837df90b2f 100644 --- a/include/drm/bridge/aux-bridge.h +++ b/include/drm/bridge/aux-bridge.h @@ -25,7 +25,9 @@ struct auxiliary_device *devm_drm_dp_hpd_bridge_alloc(str= uct device *parent, str int devm_drm_dp_hpd_bridge_add(struct device *dev, struct auxiliary_device= *adev); struct device *drm_dp_hpd_bridge_register(struct device *parent, struct device_node *np); -void drm_aux_hpd_bridge_notify(struct device *dev, enum drm_connector_stat= us status); +void drm_aux_hpd_bridge_notify_with_irq(struct device *dev, + enum drm_connector_status status, + bool irq_hpd); #else static inline struct auxiliary_device *devm_drm_dp_hpd_bridge_alloc(struct= device *parent, struct device_node *np) @@ -44,9 +46,16 @@ static inline struct device *drm_dp_hpd_bridge_register(= struct device *parent, return NULL; } =20 -static inline void drm_aux_hpd_bridge_notify(struct device *dev, enum drm_= connector_status status) +static inline void drm_aux_hpd_bridge_notify_with_irq(struct device *dev, + enum drm_connector_status status, + bool irq_hpd) { } #endif =20 +static inline void drm_aux_hpd_bridge_notify(struct device *dev, enum drm_= connector_status status) +{ + drm_aux_hpd_bridge_notify_with_irq(dev, status, false); +} + #endif diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h index 4eea124c7eb7..c3bb30133925 100644 --- a/include/drm/drm_bridge.h +++ b/include/drm/drm_bridge.h @@ -1555,8 +1555,26 @@ void drm_bridge_hpd_enable(struct drm_bridge *bridge, bool irq_hpd), void *data); void drm_bridge_hpd_disable(struct drm_bridge *bridge); -void drm_bridge_hpd_notify(struct drm_bridge *bridge, - enum drm_connector_status status); +void drm_bridge_hpd_notify_with_irq(struct drm_bridge *bridge, + enum drm_connector_status status, + bool irq_hpd); + +/** + * drm_bridge_hpd_notify - notify hot plug detection events + * @bridge: bridge control structure + * @status: output connection status + * + * Bridge drivers shall call this function to report hot plug events when = they + * detect a change in the output status, when hot plug detection has been + * enabled by drm_bridge_hpd_enable(). + * + * This function shall be called in a context that can sleep. + */ +static inline void drm_bridge_hpd_notify(struct drm_bridge *bridge, + enum drm_connector_status status) +{ + drm_bridge_hpd_notify_with_irq(bridge, status, false); +} =20 #ifdef CONFIG_DRM_PANEL_BRIDGE bool drm_bridge_is_panel(const struct drm_bridge *bridge); --=20 2.47.3 From nobody Tue Jun 16 03:58:11 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 CDFC43932FB for ; Wed, 15 Apr 2026 23:22:51 +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=1776295373; cv=none; b=iPYAAnNM2VgNcrM/ij0jj6tCp3njncewxnZRBuTDSNhV7/dOIsZec8zzi1SYA+wFB5ojxSNobK6YJC8mDSdJZSrIH7MVz9H625tm7iXbAMD9WdgwDqPp2KVzDVUG6ykZGmYbyvxKplCdGPIXRlWjk9zDd9S9tSphSGFBBLpLZRM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776295373; c=relaxed/simple; bh=HBn2IVrDryFscwmmHLMRDSDtMBdYMWmMptzpyjE6O38=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=o5kA24E1yyCbAQ4d+DwTUbMX92dkxDzxgzV5QoKMvZ0ezDDXi8ZjIDbgjKveBHxp3Ly4+Lfmy2h28iIIqdDmDypZUnMVO4oLiNGTVaiIQw+WlK7UAsfid7L3y/jMfxSJOI/wedx+sNkFaQtDGsXSCuiZZaNPQC1ENzBpTWDHAOg= 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=p39owSCc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KnHBxy44; 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="p39owSCc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KnHBxy44" 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 63FFFhdi1792404 for ; Wed, 15 Apr 2026 23:22:50 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= uKmkX6HdG5E0XhMW9mQBc2MQ7gsubs6yKCHbbKdVCv0=; b=p39owSCcXynLz3bQ 0sXd2/RZo42YgF4RdkeoB5+bVJ3PHFhmYxYJYrmL6t2MRSnKCo/rGSlP6ZMFJ4Wq LsUAeJv6XqrXETI/QujxoW8J9kPmLgs5xoWCjQ+kO9IWKnLqTzPLEHd5TPZUd75I BXehNMtw98TF2e5SZcuHaSnRiXT2gq3zk9lWEDIZMPKJBY6R28qx73IYfjDKdA7K r8thAcaDUyAuVKzEQGsOP57jdvxX16et6Eyt8jhjGh3LwZcT6VCdewRMT3SUJfPi MofNygE6++CzV2U+8HRHdpJBjEABISEt1dZjkP0ATswnidAjP4dKQPUYontB1AOg PKlhQA== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4djd5pse47-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 15 Apr 2026 23:22:50 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50e2592ea3bso4368311cf.2 for ; Wed, 15 Apr 2026 16:22:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776295370; x=1776900170; 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=uKmkX6HdG5E0XhMW9mQBc2MQ7gsubs6yKCHbbKdVCv0=; b=KnHBxy44wVL1P/6d7V8xYM6cjejOekTqmml0ghWx9ziv85kZN7TnvqsGd3mZ83aub/ 01NLAHOcHNbRHm5v598JvuwDym/sOSqpTdLiC+8+swcLoL2XBdnLKlwKz2ShxBjPpBvG BW7S6zR9zaK/WqZYPb81/ZzKES66YljIQiIU4a0sfUUpnvAzNg4RI0FJy/znBm+M08Oo VCoqMYGWFR5+2gcDkfiPZg8iCeq1ohpvUvcfFC6JOQxVZTk3DjEBfDU9Fl7SLeZDbIbC yETz5fJsbRXmJLnqhEfZoJoiYm6BUS96E8ljfUy7qLbsxyeP72t/MVcdzJJAg1Mp2Psm OhKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776295370; x=1776900170; 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=uKmkX6HdG5E0XhMW9mQBc2MQ7gsubs6yKCHbbKdVCv0=; b=bRDtdCnZHdtd2XvgiN95jN1/X5GvbGYlezlf8I84BZGM9f7S9IbB+sGy7RBpiFDj3+ zeGjQGsBvqejMdzK+n/THljpCg+LiUEjSd0m0HIMLn+I7nCDpelqNfGJFYNjRYKyJZFL Y2MGun2MNJjoVDFyA+G8XsXw7RN1zRuBZL9TNOc5tql80YFbJ/dChsGu3KwWzxn6NaC5 c6nGfdpt2EnhDKrwEVpvwJ8olXqowAPWUso4Ql3k43fYn6jZIvNAVG2KWO+JIVhJBy44 Jaiyw0VSZDqvnpxlmdnpAiFs9TJrxZlsVBNo5jJrgvzOEEok5r/l7hIjUhI5gIUgS9KP gz8A== X-Forwarded-Encrypted: i=1; AFNElJ+tA2+PNBsiz/B1DyWz48zHMxuqUuw9co2axJOMyK5RDrQeK2E/dQgbNRw9rUd2L//kxby7qtH7PpkmBlA=@vger.kernel.org X-Gm-Message-State: AOJu0YyQsEURGlGDW9la0ZaLXQ40UjNCY5FsIlhvkjysQAxYej9HY8OP GGGtmVFJndzQw7zGgfya82cu/sj6RMxEgaEHDzdeeU0lnU+E8qT5j8vnR1KonWPz+F35IjH+ONu psYnFVor/JlECUZGxwUZzsfEpqgJfONGYOTZu5Z58J0aqpVTbY6PwAGNAkXxFpAeA//8= X-Gm-Gg: AeBDietD5wFjdqwu80HngfE8iGmmsUISv625lATnybyseYEeFW158ng6j/Dlpt1+93n JMCYgBRaM21Ime0tW/2Ldq1Ed55F+S8XBJJ6fxtT4a0sJ3kC0R0nc2zwr4/UZyzH/1y8Y9t3lLh 9ZVp5SzcEekbMvY4m63+xkZxeLCyI9VzhXkzIqMFBmFjKWFliQcTZhfsrTzKia5W+TuR/tW92E5 Lugr72z2CLADtNIhNJwYA2ngFtvda/PCnMv5HZBFhfIpNrkpor2LLWloI8l7zWHs8Kzim6x/xiG 4g00FO+NkOaO7l1Vfe5e1GTszFiKmZoe5erxYaDBc7Mmxwar4OJsK89evBs/byXILEj8OsIZTxf z9M8LW94HrXhQi7RwAc5uQAzJTPzNuglI8e5h7wE7dzZdOf499JCQrYDvjgMZhRmuPr/22oke6W s2swyeYI1rZq41vVuj9FmC9tpqRscCYSrvnforcrbnYfosZA== X-Received: by 2002:a05:622a:2299:b0:4f1:ba0b:90 with SMTP id d75a77b69052e-50dd5a91f78mr350845681cf.8.1776295370090; Wed, 15 Apr 2026 16:22:50 -0700 (PDT) X-Received: by 2002:a05:622a:2299:b0:4f1:ba0b:90 with SMTP id d75a77b69052e-50dd5a91f78mr350845381cf.8.1776295369619; Wed, 15 Apr 2026 16:22:49 -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-5a40a272852sm817054e87.10.2026.04.15.16.22.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:22:48 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 16 Apr 2026 02:22:35 +0300 Subject: [PATCH 4/6] drm/msm: dp: handle the IRQ_HPD events reported by USB-C 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: <20260416-hpd-irq-events-v1-4-1ab1f1cfb2b2@oss.qualcomm.com> References: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> In-Reply-To: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Heikki Krogerus , Greg Kroah-Hartman , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Adrien Grassein , Jani Nikula , Rodrigo Vivi , Joonas Lahtinen , Tvrtko Ursulin , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Tomi Valkeinen , Bjorn Andersson , Konrad Dybcio , Pengyu Luo , Nikita Travkin , Yongxing Mou Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=858; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=HBn2IVrDryFscwmmHLMRDSDtMBdYMWmMptzpyjE6O38=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp4B252fbaBj4KSv5jQsAVOrf3j/7BJx59z+n3I 2IJBSzoVheJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaeAduQAKCRCLPIo+Aiko 1WgwB/sEuMF29EEIY8rUMvncti+cVVAyI6rgeZiDtGdvlblf3XLLbOaC9cejNALy1z2TbL7VrWh 96BGbQvXZrHw8bhWepW+KvH6Ejb7YLEoIpTanNPUNrpqbDTi81/xL+Ym7GTB92LnzaGwYKFozsl EGu3ok8Wfu3ICWI1jxGzO576N4RtHf6XrFxeyMxQkoAXIuzMFlfFN/yI7+5rs4bwUXRuhj3uBgI aJtwdV+Mh4sT4Xny0ZWfjQKfu2V8F2wrGSAvwLpTVcuT+LTQ2bmX19aFpZSE2qOVk1NtRId069g qbZxCfPnkPai+rrXVEEsa0rYtqISVnMD87C00uxhQTT6mlPP X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: kfaZTmPZyy6IdoWacFDUgfIHUMLgafB3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDIxOSBTYWx0ZWRfX9Y74ysBfD7UY tAznoqfzkKxco6nN/qnuf6XOkWz+j/Y52xXrZISobfcYFWPMbRjveSzE2Hq1si0Ku7+wPnRK7Ok HMHpEWJOLqVucn5Hr6MCkvMf7UUEJl+XLpFc+uKhGugv5bZgdT+HEbz7DfiXxFDwopBx7Z649Ge lcm2cWrJaydcnPHu9zsj3pA5kHNLF+P27KFvx9PdDZVg+yV0nBAK3sdEaOx3q1VaNy10hTtHgKZ pcxlfjdOXAjQQVoKXoNvRtllNtaYMLEu0FU29jVfh60SdbXaDLvWQuureNp1264h3ol+Heyk15q Gr8z0TmjJlGg9FTuwTJ0FOfPKXSq9y86Jn4j03JTQm32Sj9pjRyW1fDczADPM6s+hTYytrdVVsz dsNdvLKgetqksQv6UyJ2G7jsCeSVpVOb9j5slhYBbnT9TEDxQByMY5K5UsXNVXhDaChoiMP4KC+ TSfQPo5xxLcWHmIljjw== X-Authority-Analysis: v=2.4 cv=AcmB2XXG c=1 sm=1 tr=0 ts=69e01dca cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=3ML_fINe3tzxlWvVV4AA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: kfaZTmPZyy6IdoWacFDUgfIHUMLgafB3 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-04-15_01,2026-04-13_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 spamscore=0 adultscore=0 priorityscore=1501 phishscore=0 malwarescore=0 impostorscore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604150219 Let the MSM DisplayPort driver properly track and handle IRQ_HPD delivered over the OOB events (e.g. from the USB-C AltMode handler). Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_display.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/d= p_display.c index 45e14a0010c2..390a967a53f0 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -1800,4 +1800,7 @@ void msm_dp_bridge_hpd_notify(struct drm_bridge *brid= ge, msm_dp_add_event(dp, EV_HPD_PLUG_INT, 0, 0); else if (msm_dp_display->link_ready && status =3D=3D connector_status_dis= connected) msm_dp_add_event(dp, EV_HPD_UNPLUG_INT, 0, 0); + + if (irq_hpd) + msm_dp_add_event(dp, EV_IRQ_HPD_INT, 0, 0); } --=20 2.47.3 From nobody Tue Jun 16 03:58:11 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 961E8394794 for ; Wed, 15 Apr 2026 23:22:54 +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=1776295380; cv=none; b=XWfPbuZ0CVmM5Wfud8wXEZ4zwMBVi6NjkE9f4IeE7Fr+dZSTFpLtJ2MR6UPsGztPN3U5weZZ/GJitdF6d3ASidt5tebHqs0JqaFhl1M7FjUGlFHLnXjaEcZhbQTq1buJ/nsViDvnpCN51Oiq4E03lM3ZnJPDlW3xcyEwZewwmBM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776295380; c=relaxed/simple; bh=DMjriJDCdMjopTDai5VHPDfHuDEfFaw+9gvGTyDPhTQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SADiMZmDQOU31yHg07Mj2Bq/oPtX0Z2dcgQPjKtEYlmf3w9ZMajpfxtoxeFvFsp5TkQiRGxrc3y/ELRFBOH5q1a5h08+/TEj446GtRej5podRnGU0FZ3c8EFP5ZbPJ0K8dTp36ceRhUT2olrEGDKxVq5gDZKCx+EtK4Y7dp4bJg= 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=dy+HDyD8; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=f9Ii9cnU; 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="dy+HDyD8"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="f9Ii9cnU" 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 63FFV6oU1566702 for ; Wed, 15 Apr 2026 23:22:53 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= Vr30iwIqmebM7hvnEfidMs2EUAZWyrOGgpsLJ6GZ70Q=; b=dy+HDyD8rosMW30L FUNS2GM/lG+f/jTnHznm8IJHSBbRKc8RhizcSnMXCOajnDCwPJ/IKZK3lnQYIZiR 5VKDEhgK4DHJVakIozsfYZg7KlcCwAMoGQOmkhSGBjTFSmCtWANSVh5S2uR937Qs H0E459ajMWPkg3SVX2V0hyqHbN+cuo+/M2f7gOfIlX9gb4gOjGTiTivjV/7Yp08h F8AQkM8ppWipV88ZV6NJ/dxUwcEez1dQlF9I1+cOieWmHaPGJZj2fhGu6Ty/ESU1 0i2Ir6mBYMoWn4ekLksWwE/zbLXb7CbdULcLrzuFhEX1qItdysCZyXaSC8yRLZ6b MXl3cQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dj7wv2qt1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 15 Apr 2026 23:22:53 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8d4c2906fdfso820690085a.2 for ; Wed, 15 Apr 2026 16:22:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776295373; x=1776900173; 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=Vr30iwIqmebM7hvnEfidMs2EUAZWyrOGgpsLJ6GZ70Q=; b=f9Ii9cnUW8HjhwUOUbk0C/OCfIxPDp7uQp3c79YJeFK+p66USXvaxKaOF3m/ywewSn kYT6CQ7Y1hiLdqHEx1WEXDBmQDNSjHKka02Cwu3PiRK3+n+UMpji7eitD1sCc3auntHw s77v8jWdfcwzT/tuXdkk7fou43CQB0SBFrnMD5TfetmZxCYPZEzktIfSlxV+s3gNkRGu KxqRDRTMR9qOAl5OuvBcQxCkRW47i+W1+hdgdTGeNbhCWTN2SSifEsOH/FoDzjEPz1V6 vwDUCyC3RZwku2n1xV2Hg/yCcF7GkzSrB05wmZ4NHuwhVIYiG+XQjeIKlWlbJLcABWmT YIkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776295373; x=1776900173; 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=Vr30iwIqmebM7hvnEfidMs2EUAZWyrOGgpsLJ6GZ70Q=; b=gmUTv+QAeGIsWMjy1X7B7IXkxrKX+8cehp5bofJ0Z/20PIscBtIoQn0hVEmVDGEDSB xoUdDxJ7/EJ1fIzNcL3gmQC8kdVx+7MrPGG93+YQS+eF1NfGlxwIYBl1FTXcUNSKfOEc WXDn7O6O7fAs614jGjFwuBvhjVn8wCRQD+3PCQLWzuKtDxqenzO9mwkt0tccNywWvAO5 Uzy8+S5SPWT0smE+vDSlXtCS54AbopUjJz1zOBMMaZLUnLCp/jyGHLeEDZX0mXMGoExu hgeqXrCWkg1HGh3Db9Yh0s82ftcE7K7S69Llp+n6zdhVWDtXHze1MVBGuOFov2wpRDMI y8Aw== X-Forwarded-Encrypted: i=1; AFNElJ8WwTIkzpQFN5nfRcoDTPyBq4qI26dkXcmboWGoeSAKgRQe+89mKR2lg9lN02hUysHnkRO5ZZsuRkJzr2w=@vger.kernel.org X-Gm-Message-State: AOJu0YyPsP18qNKkvquU+F1IC/RQcB5ZuW12djOHMm66aXG83n0qrnEj 0QZD1RNRRvhlwLk+Uu+hQwxZtG2Wa6VUZ3+syfqgq/96ofRrlKhfxHRSzbptLO5AvFwMTGPCIs9 hGZjjzXZUBwEji/wIGNvSTCxPFD2jagZAV8JkNddEr2BQKO13VbUctGIG+hOsb168jHA= X-Gm-Gg: AeBDiesEDIotaNeh7cT/XlSj/j979X2fFlxSppSdz8PhBUwWCznQqn34HkysqRvpkQ/ UoPue1ZZKvsKAns8Kax2HyXFXWSBCfTCKE0vqhOF2KStbDy1yRRIAaXYcZh+mNI7dw1oprPwxXl Nc0t/T/oqgfRNWoKK7oIzqwCAY5apupL85S5wFT4ZjeBBjtKHn9sFkYK8UzUF3vQyr14ARNek48 3eAxjtRA94hpQexRbLkSdn4buKAyO/rQR1Wu5k74jSLd61u7cntIodNDQ2HpWQEqaFpzJBYik8y W15Xt7OuVXoEDYcpL57nwzDXLQaCmlVrhFdI5qy0b77Uc+QmrJJaVm9Guy7qpVLZp+X0VknGLNK KwR/DX/pGLoNUWquQOtB0JMROCNqsAVD0Y56Yg3k50nnbcNMUwZ3vA7zQRwctkycm6pnSMLN//w tmcpt3ozWPk08vwYEA2wDvqF3fAcc3XZUFyhKvudZAIBy0Xg== X-Received: by 2002:ac8:588c:0:b0:50d:9e36:f961 with SMTP id d75a77b69052e-50dd5ad88b2mr362529371cf.20.1776295372937; Wed, 15 Apr 2026 16:22:52 -0700 (PDT) X-Received: by 2002:ac8:588c:0:b0:50d:9e36:f961 with SMTP id d75a77b69052e-50dd5ad88b2mr362528991cf.20.1776295372491; Wed, 15 Apr 2026 16:22:52 -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-5a40a272852sm817054e87.10.2026.04.15.16.22.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:22:50 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 16 Apr 2026 02:22:36 +0300 Subject: [PATCH 5/6] soc: qcom: pmic-glink-altmode: pass down HPD_IRQ events 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: <20260416-hpd-irq-events-v1-5-1ab1f1cfb2b2@oss.qualcomm.com> References: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> In-Reply-To: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Heikki Krogerus , Greg Kroah-Hartman , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Adrien Grassein , Jani Nikula , Rodrigo Vivi , Joonas Lahtinen , Tvrtko Ursulin , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Tomi Valkeinen , Bjorn Andersson , Konrad Dybcio , Pengyu Luo , Nikita Travkin , Yongxing Mou Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1009; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=DMjriJDCdMjopTDai5VHPDfHuDEfFaw+9gvGTyDPhTQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp4B25RIprvup1/Ku4C5KowC01NBQ8O5kpPwx4h eobWONDt92JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaeAduQAKCRCLPIo+Aiko 1QO1B/0SHnYn7panRBTo1IS+8Cr8do8q3/z8CG8T6fTAgUXlq7xy/zOnHoCF42M0ieXTyV7YQ/z cQnWdqx+Erjt/bwe0xRuejxplCDVdRnwoqJWlkTQa3RRpVC3Pv1J3HETUgH9dQxAe2InJ5RdKbp I2lxInSBYOdMD30sbJs2NfKL+tcRKO3hy5lap1+JKBCjWzIKj4juaEgZcxleBs1mdIhAWgzZGUD nLFhYljjrwhvhv6dvi+IXD9E5I1faQmchJFUq7tjgSod3CPzjUL4byQJIpqrpRZRYM4mlUzY81g 41iEJM/GZIAKEMqXIyPiU2UPMeuXPR6g4go3iwvPkEoI4Fmr X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: K_oibye-B6HJ-0JF4ASeOQZo-vOyqgOv X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDIxOSBTYWx0ZWRfX6R3sdxOex/Db GLPigG4Sc1tVnmRDXtKg0CvO1LdtBhIgi8fBQuO4s09PzKddae2imAhdr6GzrJxJDPwuBcY75DO +78o54J95esfzSMrGHwCicJW3sgx2gaj6PBTn+orjEYKIxla1mfu1JbV1uZQbZGcmNH/o0gyyOZ UlbEglKGdGuh/XqKuTwgxsx/jHiaNPW6uinx9lGbW0LAiQ4hJ55MmSu05KlyA+nsYJuMvDCeCU5 0pSFaTGlk6vHoa+sgJkJgdniI70V9RPtBw93YZgfdavbhblV7tskYwShiWHeyQTyMDRuYdgIFrV zpnSEp2NtnzSzTQpzy1O2ypyQRrJ1pEC1kakhHKG4Mhlwximu1W4ED43SoLtOUaoxwkzY+SuHcK MsR5w9yUuvdC+A6Lrz1JsgAYFBOumFXg2zOLEG6vAe7Daqgh+fFnhWzAqA428wds4nbB3qMfDSx 8J9C6sYAY1pnWbQyq0w== X-Authority-Analysis: v=2.4 cv=GYgnWwXL c=1 sm=1 tr=0 ts=69e01dcd cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=5qjnEABnMYrc5H2CFY0A:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: K_oibye-B6HJ-0JF4ASeOQZo-vOyqgOv 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-04-15_01,2026-04-13_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604150219 Pass IRQ_HPD events to the HPD bridge, letting those to be delivered to the DisplayPort driver. Signed-off-by: Dmitry Baryshkov --- drivers/soc/qcom/pmic_glink_altmode.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/soc/qcom/pmic_glink_altmode.c b/drivers/soc/qcom/pmic_= glink_altmode.c index 619bad2c27ee..618dce748316 100644 --- a/drivers/soc/qcom/pmic_glink_altmode.c +++ b/drivers/soc/qcom/pmic_glink_altmode.c @@ -373,7 +373,9 @@ static void pmic_glink_altmode_worker(struct work_struc= t *work) else conn_status =3D connector_status_disconnected; =20 - drm_aux_hpd_bridge_notify(&alt_port->bridge->dev, conn_status); + drm_aux_hpd_bridge_notify_with_irq(&alt_port->bridge->dev, + conn_status, + alt_port->hpd_irq); } else if (alt_port->mux_ctrl =3D=3D MUX_CTRL_STATE_TUNNELING) { if (alt_port->svid =3D=3D USB_TYPEC_TBT_SID) pmic_glink_altmode_enable_tbt(altmode, alt_port); --=20 2.47.3 From nobody Tue Jun 16 03:58:11 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 9C0D23264C0 for ; Wed, 15 Apr 2026 23:22:58 +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=1776295382; cv=none; b=dNmWrPO0glOQbHwf8ZLfsaR8lqHxInqN5O8+p4NHtDOgCqT0zFLkUIlHTFEmcKqigHZ5166dbwe32OW6O6jQJDb2LhjjGdUf8wkDrp/IEhNY5aNK4di6K64Q4KkLpsFdggYCDeIT+KeHHbZAet/rrg9CKTEiiGe4mFPP8b2QrLU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776295382; c=relaxed/simple; bh=SEN/GR0hrR1a9DBG9m1Xo1QGkgnSMHduOhSuiYVFnL8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KxqZutDPjGezg1E0Wt0sukNAC/GnPLRZH9QwiQPGA78Y8BJPIVJPDGVTeRuZaT1jmHz55YK2v7Ms1bCJH7qM5UQmZdGOJLjvI6PZK2so/nF3X0K7vBJGoHWRcu5Z0me4ie5Wp6Lbyhb3WuHltE8Rce0sotm7GVuiFj6yN9QZPGQ= 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=bPaBuvxP; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=E7JIK8XW; 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="bPaBuvxP"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="E7JIK8XW" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63FF4sES862969 for ; Wed, 15 Apr 2026 23:22:57 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= 1TlTaPnDMsSjHelLBIYtNHmZZl9OCynI6YeLwhyIsxc=; b=bPaBuvxP/CTH3RFI DdDJB18yMTWJ5vbg2oW6dD6oPcLf8r3baGiH1RKX22NwrNJkhXudtwy2w14nHIQc IW+xHLBl+PAblH0/sNsPEZUK3kZWi5Pa0jb/bWtjdPNX9DMi/5zOm7YbUXklHcp0 HczNEKwrvkLFURo9haQXFouBjQAq8h8/xqv7A+6cA7GX9GnnI1LL0tfqMvZrHe1A wir+iwaHENGIdo4dJisSlMUiu4F0H+twDs35X1K4H5NrOHhejFXbuooaVoXVXdTh +hjYzWVu1ocq7rUQIvj+O43EjHzj6Hslfljy3f/eYQuGCzyQnybAekIe/hwVP2QD xkgxlw== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4djd0e9f5f-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 15 Apr 2026 23:22:57 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50da31af14cso149697241cf.1 for ; Wed, 15 Apr 2026 16:22:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776295377; x=1776900177; 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=1TlTaPnDMsSjHelLBIYtNHmZZl9OCynI6YeLwhyIsxc=; b=E7JIK8XW2Z2WsJviWcxqe7pcEg8mo0KvWEsgacb0VRsi7XtE+Q95XqWT63ZyPTF8g2 yPjOqsnJzthKVkoWqqe8oBwqhS6zoFYfUsXoQrBVFCPYljsQwu3cK2xE1aVP8qpNPY/B MTdU9LxJ1k8LjbZ6EOHo6YIWvP9TI+qlGhPXBnp/VE+v6ioAhKdYvkvV9N8oiJ2j9ZJO IwbvYxrNqE+ukIkPHbswVQ4cIdIJe/qG2I+NWJQ0S01oPXQfmy2c2j11CZbi18FGA2bb cQcpJ5dPZIannj1v3FSGodwhM2kS8RieJ/eX5ep3cITzKZ4VI/DAw7TDH5erqBteJHQV XJTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776295377; x=1776900177; 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=1TlTaPnDMsSjHelLBIYtNHmZZl9OCynI6YeLwhyIsxc=; b=fwTd0S9PA7YS9yjerIO2T8yermI+YhBimLb80LZFAV3bRbQfp9kVpiMI4JbiGn/xfo AjtykyHYHFy6VIpra0HxRwKu1CnaHxu0gClaUwKO1G6g5JtKG4cs1ImbqkrF+khj8qrQ qe6uEblnc6epztoxMImlu+YXB7yh0e9pIJVHK/ABmJCjpq9vJsRfsOoPTNt9mFrkdPqz ndf/+PMsBM6YyFmI5Lx7krWo2CdnExXkVz3/hIUsbO1tbCdND+IrGM8jbjQH5mSyM6J7 cd5RiAfCIVBP7SyWD4UfXIiYoVSm2WByzB/eHfrAGEVmV0e8jy03W4NdPX7Dp5io4HQ7 6uXQ== X-Forwarded-Encrypted: i=1; AFNElJ/929aYfozIGshNM2ZIWa5/v0b8jmsXzU2syYDBlN+Eisvq6BRwddkokfYRYHJXJyD76qjocC809YBhuIY=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/ZCYNPoJ1Benp7Vj1FsdE5QX25suFJkYZXiAcrtuNwV3Ev1bT ZCH/DAe2RRgrG9jB5U16FPJmCuT6W7VNmwnaIIDU/QG+ogf9/0BZR5LXFzypbkYBodN6ACh0AY/ 6Z5/5gM7uSZ5fYbgHaw3lhUtbcuMdzwosYDuoNeORsyEcVh/0+qDMrl3uG6BZkDvW/3U= X-Gm-Gg: AeBDievX1rKyyiVBsB0DU8422Gct9n5ElOIklQIverFYf2Xqes9qndKwNthcmWtna3l cyBv0fnYv0Neq0sxdo3XwzgRBOZRusLHBd+EGwVdoLnliVXb5jpaV5fdz1b/ujjxqQDo+knLsoj tNLW3p9H1Y0dZD8dSpUwbzXqniIlk3GE+WhlSyHsPAODQthunxsi1535IFA/nMMHYltB/PXa6vh eXMRYgx59e6qUQ19NZCB0HzPrAuvsO1cmG4lQJgXmaAsK9wlIPkmt31ZLGx5HQETv3V/EOQHXaX WKtcjDfE0vzx92ZZ6reOzo9j9vKPKaLVIdHCEJSCOO6rs/i4PApixx5gnTbqwOdxZvYUJUef4M6 NCTL5FE/5fCg4nY7TTBiJcj/McsOL3bDrJsZzK0Hl+CR3GAjuLYVosxe0DWWPvoqTbipqwp0F7S n+2HNt/E6KIDR6KL5oesiiHvb8dmucKvlh5+tu0tegQaVfKw== X-Received: by 2002:a05:622a:13c9:b0:509:1590:f5b3 with SMTP id d75a77b69052e-50dd5bcdc20mr342487801cf.35.1776295376952; Wed, 15 Apr 2026 16:22:56 -0700 (PDT) X-Received: by 2002:a05:622a:13c9:b0:509:1590:f5b3 with SMTP id d75a77b69052e-50dd5bcdc20mr342487371cf.35.1776295376486; Wed, 15 Apr 2026 16:22:56 -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-5a40a272852sm817054e87.10.2026.04.15.16.22.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:22:54 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 16 Apr 2026 02:22:37 +0300 Subject: [PATCH 6/6] usb: typec: ucsi: huawei-gaokun: pass down HPD_IRQ events 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: <20260416-hpd-irq-events-v1-6-1ab1f1cfb2b2@oss.qualcomm.com> References: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> In-Reply-To: <20260416-hpd-irq-events-v1-0-1ab1f1cfb2b2@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Heikki Krogerus , Greg Kroah-Hartman , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Adrien Grassein , Jani Nikula , Rodrigo Vivi , Joonas Lahtinen , Tvrtko Ursulin , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Tomi Valkeinen , Bjorn Andersson , Konrad Dybcio , Pengyu Luo , Nikita Travkin , Yongxing Mou Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1136; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=SEN/GR0hrR1a9DBG9m1Xo1QGkgnSMHduOhSuiYVFnL8=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp4B269bBlbJtFKVMj9cfKSjxyfAMo/avZojzn9 1S4hJysf3GJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaeAdugAKCRCLPIo+Aiko 1WirCACLulVg6ZpKOCltCebHzmh/eMf3t3bLRta2jkwQIXM8sIkvuLAXeTER8cd0ZDj5c+cGKqt mUZIMEpnhLP5RxelE1DCRtytDCjOETI4dg6Pehe9ONh0k8ZP94zzn2aZZgG1tNW1iqFGdHkTLSX +Q183rOGj4kJV8ubUk9o/0bRMn1QgmeITH9IJBYHAiKFDogK2LrgZigISt4W7j2RyjDn7rP6CMZ 2eB2RZhtQHZG9yfT1RptN+ZXG68VayMJq7tV44jasBlZP0lR5KPlwE14F+15fCMJ6GRO4YmuwW+ PDBdXKXcOpw3cco8JkjI2YgI3hWMdCYFYFYelO5aQ09670Q6 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: H9a0a0H1Hsxc2__uqaGacr614CK_1A5d X-Proofpoint-ORIG-GUID: H9a0a0H1Hsxc2__uqaGacr614CK_1A5d X-Authority-Analysis: v=2.4 cv=GP441ONK c=1 sm=1 tr=0 ts=69e01dd1 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=QzDdqdBtNhq9Kz3vvWgA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDIxOSBTYWx0ZWRfX42YBevY77MpE 06Mv85aax/7sL4QmrnRQU9kCcWjvw/NRFYmlUViG8U57/vffq8DpMGkvlthzUVTrYCG6609NGMn vbElgE1u1Nqm2iSTRjEuH39Gq9UZ1NjqTowx8MIjMZQmFDfIaWzcgh8JlWBpqkZ2zW/oo4N7jEL tCrryIZBje2AdQeqAsUpKf4E06piSd+Rv3xLjrujhmOR4jDiFSd2p+8nAzkKT+zdKkBCstRu8yD S16iTUxa4GETKCpW0hvXsseL3YMhGu6J771E3zg5xg/bjvVigzAzEZPHAG9xisaJnH/f14+MaQ/ RRfmfPqhPIrL7p0F1TARbFHZcPENf4Xt7f9kCJOeY+vB9/ZzUfCwTWPlXPKLj3TWSrUy9NXRqvB 6Z3XuPrrpCX/6B0vHLloHXlNIicyxX8DHo+nXQ2JxAiJbh6pPP80rc9Kr5R9kt6QBN4NUtkhw7H VLiIaj/KTz9hKMTdeIA== 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-04-15_01,2026-04-13_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 clxscore=1015 adultscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604150219 Pass IRQ_HPD events to the HPD bridge, letting those to be delivered to the DisplayPort driver. Signed-off-by: Dmitry Baryshkov Acked-by: Heikki Krogerus Reviewed-by: Pengyu Luo --- drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c b/drivers/usb/type= c/ucsi/ucsi_huawei_gaokun.c index ca749fde49bd..328ba92e1b44 100644 --- a/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c +++ b/drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c @@ -299,10 +299,11 @@ static void gaokun_ucsi_handle_altmode(struct gaokun_= ucsi_port *port) =20 /* UCSI callback .connector_status() have set orientation */ if (port->bridge) - drm_aux_hpd_bridge_notify(&port->bridge->dev, - port->hpd_state ? - connector_status_connected : - connector_status_disconnected); + drm_aux_hpd_bridge_notify_with_irq(&port->bridge->dev, + port->hpd_state ? + connector_status_connected : + connector_status_disconnected, + port->hpd_irq); =20 gaokun_ec_ucsi_pan_ack(uec->ec, port->idx); } --=20 2.47.3