From mboxrd@z Thu Jan 1 00:00:00 1970 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 BE0111B4244 for ; Sat, 14 Mar 2026 01:09:14 +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=1773450556; cv=none; b=XsrcgEQRSQYpMn6vwguV7DxLDwDqdZw6Czu8HQ4DN2fuVUBpMDEX96GVCDI4DUYb4Myyu+cNOc1Zm3rXIj9m3jeaoWCL8jin96AsF3zq4fMo1tNWMtDNbTEs1H74iu08llSo99aI6mCBzqy2YFeRTNyH9ras5jzlr3wY64PxEnE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773450556; c=relaxed/simple; bh=eeRWqgukNoan+mjBSybHhhzqIjokDqIPuabMTOAdphM=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=byEovvhIbUSIw11JdXYiwNSTjI491pzGDWY1hHnIhHWT2pz5j7tE85fdEWEaIH5XLIeeoKGZcgsoL45ZgWoOx0wsc/moiGal5YNt9D7WdjyoIy17/HHSPYgizL1daNtyP36mMnkpGpRuh/aC12RKj4cInb5HJUGI5G/TT7Y9oAA= 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=dlkxhFpv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PXl9Ennh; 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="dlkxhFpv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PXl9Ennh" 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 62DIurh6529146 for ; Sat, 14 Mar 2026 01:09:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=HA6kLTIje0xxpYAd7mSNxW wuLfQQ/iuxyv2vtM2X73c=; b=dlkxhFpvD3/N+gDFEf5m9duBanS7lPq929mx1D NnKTWksDVwLDJyrZyW7pAo/l1xSTQ/ZYeJ2OibOVTZl5O+RqNWOEMF7Ptn042l9t XNdBviK+0xgbpM/jIt0rCOJutXQ4mFoh3XpbuIidx6QJvPtJxRMJSzlxGyHTsDR3 c6PPsAg5MC50dK4FNaCbjzt4tbXh5Wo5zfCGY3oO/CmggQvEQpd7j5ad3F36sBlS KNp1qzh+ArILz4xMPtb+jMULC/ZP9fqOp5YSh4iuhMw0OEKf4pVXUPLVpMIOjdH0 MJ/gZcfktoBU+U2V2m6cakd7uEDV7x9Ks+HEqQwoxUoz8lRA== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cvh84th7g-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 14 Mar 2026 01:09:13 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cd7f6ac239so1716012985a.2 for ; Fri, 13 Mar 2026 18:09:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773450553; x=1774055353; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=HA6kLTIje0xxpYAd7mSNxWwuLfQQ/iuxyv2vtM2X73c=; b=PXl9EnnhLj5suhXkD/7nKCTzqFF5EChKmYFhyqByb/hxzzYyO4LWnWM/gCw2CcbFVs Ukov1B7oYDzO683AbwR5Ypk5IiiHN8eR7C7SyqvABuLWMfcxxh87yvmnvtS/p1hK9dyZ KkyKmDLl9fs4nruyqYo7YbrQMHu0IWnzTmucXqnVtYw5SY53Li9ymdAyWNDMXS9dyRY0 SnBMh8Q9HUpYM+XvbhvGPHc/Pbbrrn801MUZcxYmagi3fwy5FRKaiUPIuEaEKEOHPMv9 spa0OQyxMzaLSSKeRPTrtTBXhg4Yv2RTf7bqKoYub7q5C89+LpIWQcQMf34nge4ZOtpt d0sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773450553; x=1774055353; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HA6kLTIje0xxpYAd7mSNxWwuLfQQ/iuxyv2vtM2X73c=; b=CJ31+QJyy6AXNKyxk468cUeGPpiNS3/G4rSNlGrlv/Qe2IqfPvAozQvPyavz2qZ6Gn 0h/0whK/tSMZkrFiInyx2b6EHTr0ESUj5hSL/yCsapQ1GeCflPRAC2DfKDtF/Og/cqZK G9LFYT9/Ra3FJGMiuni4PMaxppwvkGPvdM6ucGwVb0O6Dfnk4BCfVUd7knf84/NCCLkk 2hjDTJIr6kZrFv1Uresi1osb7BM0teOajy+lqydUXAbf+dqKUNXze/WiMn2PB2wVIT5C iEBD+GvB9/sOQmiPEn3hIZCsRftLSk39VDQhqwUryyR7p3cFxAZ79eYr41vmh2MNXzN1 i3Ng== X-Forwarded-Encrypted: i=1; AJvYcCX8wKvwxfzDTNh2miMoClM4S3DO17r5zxKphCuKk0oXm6Gwtt3aWCZDoEwh9DqKw5aHSs1SR3MRwzZdBbk=@vger.kernel.org X-Gm-Message-State: AOJu0YzVAljYCkaNlxs3NFCbjy4nsCMr3kwrWrJJsFV+zEuzte3VjEgD d+x/vlrxoH5dSuQ2mB9fzSeY72yGYqhzVUUxGdUIvuEj6gQd0T9OYncWnK1tBrZ11eVPMZG8Fzl 8JljzOIGmbVwPsMo3HhMHrWnH2KrQ1r6wEv+Ld1tmX4nqaJSr7FZp4p7PFCAKxZ/xUi4= X-Gm-Gg: ATEYQzx1D9xqi4GBojvzPu3bzveP7BG19sKPSdBud+GevIpxzJx+nBH0TbsTz725o8o tI7AIp9stCvvKD8pBPEs+wAEa9FQw9DKU577o12nWgOS64yqLZM+JqpNUVwf/NTj2elULR1feMb fNSHkK7fp0ubJDfII7SbHVCN6ru94MsoM7Tg0va4fzUaAqTKXOgKjuaxgEEzAIzmPicMfsL12HJ uHo0AfpoVV+JUhumkbG3OTaHQLGRQxShVttSpMuAQYO5W3DQw4AdoicuoznRsdqfrE5uDJcPUL+ SKREfrRILmhEcKn6bmkmg72Ja6qtLc/b1ENPlNbBH4fD//rFV/U04sfT/G2iOAteCfAcA1g7Zgi zNDsxzLo1uWG7j5q06mJLR1j4oSefZ8jX7sbvVaBfA9uphoiRRrs8DAxoirlsdQ93XM4iqxm+kT Ao84LMcyxtkwYr5AQsj+jdVmP+6BtTGEQBVQI= X-Received: by 2002:a05:620a:471f:b0:8cd:8fb7:7b13 with SMTP id af79cd13be357-8cdb5a41872mr743317985a.10.1773450552931; Fri, 13 Mar 2026 18:09:12 -0700 (PDT) X-Received: by 2002:a05:620a:471f:b0:8cd:8fb7:7b13 with SMTP id af79cd13be357-8cdb5a41872mr743315185a.10.1773450552374; Fri, 13 Mar 2026 18:09:12 -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-5a156366b22sm1806805e87.77.2026.03.13.18.09.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2026 18:09:10 -0700 (PDT) From: Dmitry Baryshkov Subject: [PATCH v5 00/10] drm/msm/dp: Drop the HPD state machine Date: Sat, 14 Mar 2026 03:09:04 +0200 Message-Id: <20260314-hpd-refactor-v5-0-0c8450737d64@oss.qualcomm.com> 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: 7bit X-B4-Tracking: v=1; b=H4sIADC1tGkC/3XRyW7DIBAG4FexOJeU3cup71HlgPFQI9VLwLFSR X73jm1Vaa3mgjQwfMDPnSSIARKpsjuJMIcUhh4L/ZIR19r+A2hosCaCCc20kLQdGxrBWzcNkeY KhK61NoJZgltGXAm3jXs/Y92GhG1fmz7zdXaHcs7/QjOnjErpausKIb1Ub0NKp8vVfrqh6044k NWbxcMoWHEwBBq5V8AhV9xa+cSQP4ZhnOuDIdFgBQgva9cIYE8M9TAkOxpqfUvpyoZ78FLwf4x lDyvC5YqRT3tipLYJ6NoUpirr4Ta9djZNEMnv36iy/ViuaDNid9/Ddux6B89MCcbUzlhfYeDnZ fkGehb2YeIBAAA= X-Change-ID: 20250523-hpd-refactor-74e25b55620a To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Kuogee Hsieh , Yongxing Mou Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3608; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=eeRWqgukNoan+mjBSybHhhzqIjokDqIPuabMTOAdphM=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ+aWrUZlMy9csnGPbQ57HdTaUbJxR/3sW2dYzl3vbnmx+ M79rCrXTkZjFgZGLgZZMUUWn4KWqTGbksM+7JhaDzOIlQlkCgMXpwBM5KMo+z+tbe0L7TtOzfs7 d//kyrfNZf3HVBi7BbMXqeoZHNay16r68upWnKFYugNX0ZrtfD/lOdf9Ci3UXi/62O1k2OGkAJm otMCcaXXnH9zJeZUlyvr1MuO5NwXXNgVHqs9akrX5aUNZjsQdhyJZ18lbcyZ/F7c1SrqpXhKfJW t+SCY2+XmrXFd6llBawO8jWbtyYr9/Um7Za33wZojiTs/uAPt7H6su1VR6Bede3s9fzR5l0qIk9 vVKcYjlE+lnbmct9nRMlQrce0WifP2D4lOaLA9YS9rv81mdrp8eLhfbxezJaOfC+ub1nAWKO3uP t3ZFOq+tXnzkouoSvl7hN8wPHHwl+fLf3NvQdHxZtn0IAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=OMoqHCaB c=1 sm=1 tr=0 ts=69b4b539 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=e5mUnYsNAAAA:8 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Bp5APB5_ZGd9cemfosMA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=Vxmtnl_E_bksehYqCbjh:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE0MDAwNiBTYWx0ZWRfX3yXrU/Go0ZS0 k3XBuYXu+O+UNG9E4nij/HXSpIhZhbESafdf31viH3htEbB4PbDJJ1alLYQfPEMKl7zFUNG5OJ4 e67+8stiZn7SKzO9bkqxdhK4m7cIfgISVJkG5wWLi8LRTDseS7PrKj0XxNGDZGaE2qWLrUkyHMY jM9MSI7qx0hpH8DoRfrSjhxrZ8XfKFtCsjFMSN2fo3FSxdCbeyQJE6nOz7rrZ+/8MrjXIANaTjM 038tlddA/+TMVdIpnbLNL5i+Jd6UxLBTw7i937RQbKrJBy5A8hQHlGc3SA042ZmHcF3VDF0xm6T kU687lWlFGeouCAFsd45pPhpcUgL9HPjWJ3qt3kNp1JfLIWMu26kE4Qk1xUHFvkvdj+K1BGFINQ qn4kqvjXZ2fSiDKh4oEpeGUhLT5mRLkWorZpoTmtrgBT68icjm4WVTScBdS5k9iAVPHVlhogXl8 Rl0uBLrv5Yia3WJnrwA== X-Proofpoint-ORIG-GUID: iRXfsazS5mT6UnjjjPGsh21H8mBizHEX X-Proofpoint-GUID: iRXfsazS5mT6UnjjjPGsh21H8mBizHEX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-13_05,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 impostorscore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603140006 Currently, all HPD interrupt handling must go through the HPD state machine. This has caused many issues where the DRM framework assumes that DP is in one state while the state machine is stuck in another state. As discussed here [1], this series: - Removes the state machine - Moves link training to atomic_enable() - Changes the detect() behavior to return true if a display is physically plugged in (as opposed to if the DP link is ready). - Remove event queue and move internal HPD handling to hpd_notify() To correctly detect the displays which are plugged on boot on the boards which use dp-connector devices, this series depends on [2]. USB-C and eDP panels are handled natively. [1] https://patchwork.freedesktop.org/patch/656312/?series=142010&rev=2#comment_1201738 [2] https://lore.kernel.org/all/20260314-dp-connector-hpd-v1-0-786044cedc17@oss.qualcomm.com/ --- Changes in v5: - Fixed the EDID clearing on display unplug - Fixed the initial HPD issue via the external series - Tested on eDP devices - Link to v4: https://lore.kernel.org/r/20260305-hpd-refactor-v4-0-39c9d1fef321@oss.qualcomm.com Changes in v4: - Fixed PM runtime handling - Fixed several cases where the HPD machine would loose its state - Fixed the case where detection was ignoring the plugging in display. - Link to v3: https://lore.kernel.org/r/20260115-hpd-refactor-v3-0-08e2f3bcd2e0@oss.qualcomm.com Changes in v3: - Take over the series (thanks, Jessica, for the previous work!) - Major rework of the series, squashed the set of patches touching the HPD states and handling, it is easier to do it this way rather than pulling the strings one by one. - Link to v2: https://lore.kernel.org/r/20250808-hpd-refactor-v2-0-7f4e1e741aa3@oss.qualcomm.com Changes in v2: - Dropped event queue (Dmitry) - Moved internal HPD handling to use hpd_notify() (Dmitry) - Reworked bridge detect() to read DPCP and sink count (Dmitry) - Moved setting of link_trained to plug/unplugged handling - Dropped msm_dp::connected (Dmitry) - Squashed all hpd state related patches (Dmitry) - Link to v1: https://lore.kernel.org/r/20250711-hpd-refactor-v1-0-33cbac823f34@oss.qualcomm.com --- Dmitry Baryshkov (3): drm/msm/dp: drop event data drm/msm/dp: turn link_ready into plugged drm/msm/dp: clear EDID on display unplug Jessica Zhang (7): drm/msm/dp: fix HPD state status bit shift value drm/msm/dp: Fix the ISR_* enum values drm/msm/dp: Read DPCD and sink count in bridge detect() drm/msm/dp: Move link training to atomic_enable() drm/msm/dp: Drop EV_USER_NOTIFICATION drm/msm/dp: rework HPD handling drm/msm/dp: Add sink_count to debug logs drivers/gpu/drm/msm/dp/dp_ctrl.c | 22 -- drivers/gpu/drm/msm/dp/dp_ctrl.h | 1 - drivers/gpu/drm/msm/dp/dp_display.c | 714 ++++++++++++------------------------ drivers/gpu/drm/msm/dp/dp_display.h | 3 +- drivers/gpu/drm/msm/dp/dp_drm.c | 63 +--- drivers/gpu/drm/msm/dp/dp_drm.h | 2 + drivers/gpu/drm/msm/dp/dp_panel.c | 8 + drivers/gpu/drm/msm/dp/dp_panel.h | 2 + drivers/gpu/drm/msm/dp/dp_reg.h | 4 +- 9 files changed, 249 insertions(+), 570 deletions(-) --- base-commit: 5c9e55fecf9365890c64f14761a80f9413a3b1d1 change-id: 20250523-hpd-refactor-74e25b55620a prerequisite-change-id: 20260314-dp-connector-hpd-f069e66bc6af:v1 prerequisite-patch-id: 90db75e3fb8bc9c81c67547db7bbd4eefd5d6c40 prerequisite-patch-id: 1c4d030b93a8cc6c98b3447a8685da24eb1f24d5 Best regards, -- With best wishes Dmitry