From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E80FF60A2607 for ; Thu, 22 Oct 2026 13:28:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=N51cgiI0; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256 header.s=qcppdkim1 header.b=M5DcHFsD; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.a=rsa-sha256 header.s=google header.b=ZDjcE57F DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=Izb5yHRChWmyuzMMdUNXOXyehwCkJGfAhcOmQHiyroc=; b=N51cgiI0ggYn9sVjIq+xTaL2yQ eSTZ+UVZggf1qaeQtF0w0gIt22r/1ST0BXUfPjyHhogGUpsDUjnVYf6WkG7kymVnZ0goOqNG0sGAu oDxHDfsxGVrcEBYd/hHa9nb4vjcnvBVKwoxjLBL+5jv3TIjGHRKSDuIZlRBt8zKHuyPBreLxa7t2T cRvzuKaxVnWyLO5d9HkeNTSn1iEhgO49DsRizgpRQin261wojDDUq7RihP3TRv2QKvUYeOZEcms/W 4H3Xml7017T/wJoxa1F5Bp+xHDrg2tB3WTlQV/v0gOoQla75+DXqgkM6/wTEilwNYvd1TSQWgjiC4 5YI4G9/Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xJsqH-0000000EBKg-2djz; Thu, 22 Oct 2026 13:28:25 +0000 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xJsqD-0000000EBGq-3TAa for linux-amlogic@lists.infradead.org; Thu, 22 Oct 2026 13:28:23 +0000 Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 69MA05Wr3427058 for ; Thu, 22 Oct 2026 13:28:21 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= C+3I/2A1U+Gp7I1jsF91pZcgO5n0gv+qfSKmmUyDmWI=; b=M5DcHFsDC+EL8Mkb k164l2UnqbYDeXD7sYFe3zZ1ZFexpDf4Kehgy8W1M7DowBtZHzqbQxiu480Df5Sr 58G46/R9IeHvJl1xCQDw+lQEFSiFaBCWrZGOjjcFn7/5pQ2ihn0c8UReV6pqO2iA x2H3g1abdamEIN3kuDeOA1qZCqXJXIYC1rFrtDeXW3n2VMFAugKkF9I43I4MyQpE CJSxnmjwGLppgYdiFV9Zwf7JTeBgr8AO5Spg7GGlHd6xRXQ1yumdqUXugaHKhkis KtYypKgRDBTKLIkifLi2dUaYLJ7gTuaeQa3V1xwpUi39udR/DonlWwrjpe6a9ToA NS/aTA== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4hfewq2j50-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 22 Oct 2026 13:28:21 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-934956beec8so405299585a.0 for ; Thu, 22 Oct 2026 06:28:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1792675700; x=1793280500; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=C+3I/2A1U+Gp7I1jsF91pZcgO5n0gv+qfSKmmUyDmWI=; b=ZDjcE57FPLgKdoxoazAshGsU/70w+09bKNxbFFUVaSVH6iXOp55zeeIUROVjBH54T6 4xFrtOpLjfnYdCLVo7FKHTGw9gyw7sKbu+qdY+NlJ9PunTACZMT/VNccFP1V/M4dxJn7 7tkKB2JeFkouK3jLga6pdiV7Tg7NzFE23SjmlT3xN0rF0bc+TVLk7iyEVywfh3ivghqA E0Uqbu3N6doxoxxI6l1O2DbSv2K2p2hz22ZN28g5BTM1/obFC/vobc5I6bin9UC39pEY ZIWnx57k08uLotnMDJ0GlYmcRZVsGR4ZQeoa00funruoWHitfCmn0mW1j38jwpBU5Hmu rAvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792675700; x=1793280500; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=C+3I/2A1U+Gp7I1jsF91pZcgO5n0gv+qfSKmmUyDmWI=; b=jellaBGPHHGXi00k2dVkJZyFyBVA3g8Kgw/3nYJxRmaZDW7f2UKqxqq4xJxculxiOO sNV+t6OqUt5bRsZljASXrAJuQJ8MLIB5zyrjJf4zsPKnL3fMaLCWVV1q24opUFvUVpaa SDmmb9n90I6v6kvNOUqmyc9Qj0J4S4R8u4pwt0FUze1gzyY68f2gTqTzuMIs4W2583Zl j0zLpIBA/A3Yz9W8O3N9F/rffMkpjNsKHSEYuCuKQBgopc5p5QWxm1d/pHTHuCnePREM AsZFCr+coS5yxQFuWtw6r5thV5/MnNakbPO2w52kghWQcbivXzJA+T9HyPDI3FJlpJHj fqrg== X-Forwarded-Encrypted: i=1; AKwUvBydsfRnbAIoJg9LJeLWkDGZ8kaBas2s9kmRQxhnjWRkbQoqN+tPcp8FD7aC3R30tmmNWGHWyjfWky3GLpUD@lists.infradead.org X-Gm-Message-State: AFq9FYLsenG7iDgDGi3r+syseCK89Bu0E8r6CjNqIxJHRWD3wQcFqNom HTuVaynwvQcMlR/PZ2VOVI0STLmPNLEHu9duWUYG7hyZamNYLzijMv4niL+lcTr2gOfNwwO/ZSx OfzRN4qd68OGeWEptLweHyyKUUapW1GNSiYhMwlehK/FmPBVyldU1lRLx1mxUnHq/40BwAZTzlw == X-Gm-Gg: AYBFou0C7hY6q+scL/ci3zLVY3fgRnjnhWP09WHisdwmwaByAB5Q2MnVGKOZKzfpKlt h7bK3Myq2OmfZzNQCQFl4XfS936bWTzhlPB8XkSN75irRbppXJ6zd5ze61tPyerSRpmxb7r3R5k FtwxBFH16oqemm1JeNVjPVKeRp80mRKG4HrJpaMNxiAVXYKtqHoT8DWNlc6FrOfMOrw5O0Frx2R q5tCFY5Y0laaYCsd4TArEvsRVDm/MzER5hcP+LdcWBniSDPKCPURO/y5hzVYjKlZE7VZ3ejEcrJ sjhffXuCFILaZyHioZvOccmb0WwnSqnbq7z3184G2zoUQYCvl48BbXw8B1owZ0ohuJZ+gYeTjRf 9GF6xba1rfgUngDv4t/SMw/gf6mBVNhdzQBCH1y4ts8VeLq7Ki/QxtTl1EZyG8TlAWnqqhVW9HN nf+rFMNMNKHLFv X-Received: by 2002:a05:620a:6408:b0:939:6de9:4cff with SMTP id af79cd13be357-93f57f3d80amr951084485a.45.1792675700386; Thu, 22 Oct 2026 06:28:20 -0700 (PDT) X-Received: by 2002:a05:620a:6408:b0:939:6de9:4cff with SMTP id af79cd13be357-93f57f3d80amr951079285a.45.1792675699899; Thu, 22 Oct 2026 06:28:19 -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 38308e7fff4ca-3ac4f6683edsm8762201fa.22.2026.10.22.06.28.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Oct 2026 06:28:14 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 22 Oct 2026 16:27:57 +0300 Subject: [PATCH v6 2/9] drm/connector: pass down IRQ_HPD to the drivers X-Archived-By: MIME-Version: 1.0 Message-Id: <20261022-hpd-irq-events-v6-2-337ea3ddaa62@oss.qualcomm.com> References: <20261022-hpd-irq-events-v6-0-337ea3ddaa62@oss.qualcomm.com> In-Reply-To: <20261022-hpd-irq-events-v6-0-337ea3ddaa62@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 , Luca Ceresoli , Jani Nikula , Rodrigo Vivi , Joonas Lahtinen , Tvrtko Ursulin , Francesco Dolcini , 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 , Chaoyi Chen 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.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=5315; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=EorsOQHW0H0nqzv28S1rGKOICW2UJpSufyghXnThB60=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ9Yt/hSzFpHE6ev+vJn//9zUP0H8ontkeSIVJ4sXfporv CZgVUNcJ6MxCwMjF4OsmCKLT0HL1JhNyWEfdkythxnEygQyhYGLUwAmwl3K/j+ENcuEteD7on9S j+81h/AWqFyzznIP3uBqN8nG8EjUrlnhk+bZ5s6ecU3jb3Xqp89vU2+yrGk3K19kb6LJIJ7qFcK idd0sL7tImefD4i8ybw8Lx+tqPv9YfTVsLZ9+0/TTprn7U4oLfyxKTyi+sdJlVb219rJXGus3nL kps1T8hEfTnPtWE03tv9pp5VzwZcnRbVvZN11mv3nJXUb+6+ue3eT/xpleUxq2l2ERc+vNrLqno uq+Mjyr9yguaLWZvYNZ/YxHQT6nkbtX2esXB9nNxB0POd0qb9Q5vvi9jKKO5/JNLkHf9p896G7N Uc3NbtyY/8v/sWnA3kNTv/FtXCX32+Kq1/tjn+wbdVRjAQ== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=G4OJgNk5 c=1 sm=1 tr=0 ts=6ada0f75 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=660iZSQnnn4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=pGLkceISAAAA:8 a=QyXUC8HyAAAA:8 a=EUspDBNiAAAA:8 a=DclysrjFOTLD0Guyi30A:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: QGNICWuLtfM-yV3-706AK1ejLmEZATWY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYxMDIyMDA1MyBTYWx0ZWRfX26yXHxMgzF1Y kyP++LY+tzPnwp4dkr+179TZdRXKokoUE9pT+w1jLbfcENZRzl/w64fzpOUzbHZSl4vdE3PIiZ6 gkrXXqo/UL6alNMIJ0W0PkMGC6l3ZRM6pqMSNCWOlpD9eqTwx8pVDQEhFCdIiSqtBSFLvcK/YqQ ufHCgzwUpG5TfooSj5L6URoomVHpENi5p0TK8XqdOQWsOBKuIG7V/bpBwz4jqOFu35gk6fpIr7G zKh4z6wKT6gcbi68/kpq0jRtLFStdyqByQKjp7++tn5emkVEJ7bdJJyeSHYcOAapJsGb+c38m+0 N8cAnVrkt47fZSFWY7VX5ZlmXrzQs/2lv0z0CTlMN5dzgXhIj1Sr2mKINkBapbFOYekU3vyK6TS M+fPB5TVopw6jTWGif1fqsN2PKN0Dw== X-Proofpoint-ORIG-GUID: QGNICWuLtfM-yV3-706AK1ejLmEZATWY X-Proofpoint-Spam-Info: AW1haW4tMjYxMDIyMDA1MyBTYWx0ZWRfX26n9SNH3BKnL dtn2TEY62KlpLe6v71HF8uBS/uoWfBiiP8eErRi+5iPK4YArDTRZP9VV0VcyF28Fgn67Taziw2B gC7Uxx14RYmvjnIeYY8+HMsNDbi11k0= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.138,FMLib:17.12.100.49 definitions=2026-10-22_04,2026-10-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2610190000 definitions=main-2610220053 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261022_062822_019716_0ED5800A X-CRM114-Status: GOOD ( 17.47 ) X-Spam-Score: -2.8 (--) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-amlogic" X-Spam-Status: No, score=-16.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 The DisplayPort standard defines a special kind of HPD events called IRQ_HPD. These events are used to notify DP Source about the events on the Sink side. Extend drm_connector_funcs::oob_hotplug_event() to pass the notifications about the IRQ_HPD events down to the individual drivers, letting them handle those as required. Bridge core is converted in the next step. Reviewed-by: Pengyu Luo Acked-by: Heikki Krogerus Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/display/drm_bridge_connector.c | 17 ++++++++++------- drivers/gpu/drm/drm_connector.c | 2 +- drivers/gpu/drm/i915/display/intel_dp.c | 3 ++- include/drm/drm_connector.h | 3 ++- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/drm/display/drm_bridge_connector.c index 81f3e26f6fdf..898273f60cf6 100644 --- a/drivers/gpu/drm/display/drm_bridge_connector.c +++ b/drivers/gpu/drm/display/drm_bridge_connector.c @@ -142,7 +142,8 @@ struct drm_bridge_connector { */ static void drm_bridge_connector_hpd_notify(struct drm_connector *connector, - enum drm_connector_status status) + enum drm_connector_status status, + enum drm_connector_dp_event event) { struct drm_bridge_connector *bridge_connector = to_drm_bridge_connector(connector); @@ -155,7 +156,8 @@ static void drm_bridge_connector_hpd_notify(struct drm_connector *connector, } static void drm_bridge_connector_handle_hpd(struct drm_bridge_connector *drm_bridge_connector, - enum drm_connector_status status) + enum drm_connector_status status, + enum drm_connector_dp_event event) { struct drm_connector *connector = &drm_bridge_connector->base; struct drm_device *dev = connector->dev; @@ -164,7 +166,7 @@ static void drm_bridge_connector_handle_hpd(struct drm_bridge_connector *drm_bri connector->status = status; mutex_unlock(&dev->mode_config.mutex); - drm_bridge_connector_hpd_notify(connector, status); + drm_bridge_connector_hpd_notify(connector, status, event); drm_kms_helper_connector_hotplug_event(connector); } @@ -172,16 +174,17 @@ static void drm_bridge_connector_handle_hpd(struct drm_bridge_connector *drm_bri static void drm_bridge_connector_hpd_cb(void *cb_data, enum drm_connector_status status) { - drm_bridge_connector_handle_hpd(cb_data, status); + drm_bridge_connector_handle_hpd(cb_data, status, DRM_CONNECTOR_NO_EXTRA_STATUS); } static void drm_bridge_connector_oob_hotplug_event(struct drm_connector *connector, - enum drm_connector_status status) + enum drm_connector_status status, + enum drm_connector_dp_event event) { struct drm_bridge_connector *bridge_connector = to_drm_bridge_connector(connector); - drm_bridge_connector_handle_hpd(bridge_connector, status); + drm_bridge_connector_handle_hpd(bridge_connector, status, event); } static void drm_bridge_connector_enable_hpd(struct drm_connector *connector) @@ -301,7 +304,7 @@ static int drm_bridge_connector_detect_ctx(struct drm_connector *connector, return ret; } - drm_bridge_connector_hpd_notify(connector, status); + drm_bridge_connector_hpd_notify(connector, status, DRM_CONNECTOR_NO_EXTRA_STATUS); } else { switch (connector->connector_type) { case DRM_MODE_CONNECTOR_DPI: diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index e3c8181df6bd..90e27d0b165c 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -3847,7 +3847,7 @@ void drm_connector_dp_oob_status(struct fwnode_handle *connector_fwnode, return; if (connector->funcs->oob_hotplug_event) - connector->funcs->oob_hotplug_event(connector, status); + connector->funcs->oob_hotplug_event(connector, status, event); 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 0cd5e6b5034c..911c3b269279 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -6760,7 +6760,8 @@ static int intel_dp_connector_atomic_check(struct drm_connector *_connector, } static void intel_dp_oob_hotplug_event(struct drm_connector *_connector, - enum drm_connector_status hpd_state) + enum drm_connector_status hpd_state, + enum drm_connector_dp_event event) { struct intel_connector *connector = to_intel_connector(_connector); struct intel_display *display = to_intel_display(connector); diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index 4f65c97a89ae..39814f10fcd4 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -1974,7 +1974,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, + enum drm_connector_dp_event event); /** * @debugfs_init: -- 2.47.3 _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic