From nobody Tue Apr 7 10:55:01 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 5CE252EA151 for ; Sat, 14 Mar 2026 01:09: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=1773450589; cv=none; b=F1V8nTwsoTcDdTPKCJZGEpDzoTa6eXX7IrB4PVnSA1puQziYrYGcopCFhBWtF3Cjbo74yxo2dTELOP51b4PvvtunVELgR9nL6Gy32gx0YddOHvaolcJ4n5F9TplfKOyrTy3+z4QFhpeKEK9IDuIo1J1G9WQGK1k4fed1rH9jW28= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773450589; c=relaxed/simple; bh=mM1BPVW1QTH7/BXc4PZivhB4YvjG5aoCpugqUPEORdA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=giQ1cYde5VnO+CbNGwqZPKqV6iJJ+0GK4KS+XWfiDjkAaY/DE12UvzP7SEf7COrmgzAP8XVbMc0siMRCOiBY9JdvLlVx8j8dJ8ZzjVjzQDj3WmrJkxytRDWzm2UdRP1vCK5G5fP47+ZGj3tugDWbtIyW5ULHbFHU84k83ZJucpk= 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=X79+d29t; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=J29uabuL; 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="X79+d29t"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="J29uabuL" 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 62DIenKJ2391118 for ; Sat, 14 Mar 2026 01:09:47 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= 7B0471sRKQMwDEZP6vpU2reSm934CwZ9IjApmWlQSQw=; b=X79+d29t3XHKRreF +O0f8mcaQwDaxa2vr6lUB3WlkJGsbFJicY/jHiQHrOQBBki1vjz9+/lywyfsg8jK qifkCBCL8xdIzYHf0397vUECcnQmpTBYcKUlUMR+sN5AW0v0a5tSGcJmOpH6GhNV RXPJ+qXonZI/qzkziLbroYq5GA5/xW7E3lIpcdNPrwFhJsgh+dSxky3XXx2L9DSH zSblkUiGv4E6QZy8RDwECBKIbjF0jSpcNe8+ehuRDQg0ZmKn6uMNjNW6UCIBB237 QjILzUK1KB0U6sW1zP1OHQ1BMgXeVH/gCid+QoISVQ+uHcg0VSQb337wYA2PFzGt GtbQKw== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cvh5maher-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 14 Mar 2026 01:09:47 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50937cf66b5so379085101cf.3 for ; Fri, 13 Mar 2026 18:09:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773450587; x=1774055387; 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=7B0471sRKQMwDEZP6vpU2reSm934CwZ9IjApmWlQSQw=; b=J29uabuLSFOzl4sFJjBhMSPB8JabKOp6fE1sgUm7POd7+e7/88aJjqg03lOf30BkYr P+L1GdFib9n+Uvs+gW83Ucn0jpdLChTNVkQeta1CSsGFhOt+VVx82qaw1mJ0wyzlZajg /+d3hFGcsdY2EMsRxjKLcYjiXwjHLrNAGu84JhGryLebAPEb1HoLiwyohG4105lJ+9Vn 8z0WNzQlMS/fdehRgBXni5gQTsNv98XbkJRXKc6tL2RTIKB3UCfdGOiQciqEElyOqAZQ P/mzKOkHNyXm5wM7jtdT0N9nZ9X0y8AkPXsTroPPFEzDu5sxR6SEU6EuKW/a0IA9U9FV blCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773450587; x=1774055387; 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=7B0471sRKQMwDEZP6vpU2reSm934CwZ9IjApmWlQSQw=; b=jQISgvLC4geYm5USAe1VscfjoNF4apZi+KC57dQv/XXhMSSkfad8gR09IVyGc/j6M2 2ZyFlht33AdM5oIUItPQTMpLuIQBlOBVRS0me/9SYAlze98OBXlURhPaG39qgFG8Fjml wb8zF5dKGS6QhLmQtZi6C0bpc0/ssmp2uQgHhyMNtIUI6AB0wJnGg9Y/wmHGhc0ldcDc sPwAMMWbFZZzoQKUVCxbtm6s9k17mRK7pPZBp4J+boW8TlyT+R4As09k8frkZc591hq7 mAacJQ9gIIZ3auNhNNYoBtdmhPf0c6n2Rsa87uCfNRwXkvLZ6jQcVEkYW0cdd8aIVtlR ljQA== X-Forwarded-Encrypted: i=1; AJvYcCUhS8UBmmcmUGhIEyoH7DkdWMwMZc1XUS7Z92ZDEEaLWHX3uu8GCB3uxEhU70roQFBGQa41oW+fJO34wEA=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1gfIuDWrhgpXQlWuKcJNPYLKgiGtHRZwIncwpUo35d3jMYg86 S0U58unx3Q24mlLzuO/rqJA2pZdLB9aUZZWZ8z529zifAFv1O3HaPWFjnlxxEpd/YmCO0cY4I8V SkbIBIPnJBTAXeIjJk5Ptru9wmAoClkc3q0TCAv6Xwm/dXzfoE9Z3OlgKTdSiLdBRKz0= X-Gm-Gg: ATEYQzyvFm2pWnxp+D5hTLWJuMlqDcYAUbgkZynzBCJiku/c4PZq3uHnFrnhId0yYgW AiNt+VZpwuPxC6p3VrQKTX3akQs6+dG47GOG2rjSnQnoYciZRbPVN9bEmO6m/McJiCDG9cGoRlk 411fRKZXsgD9345tW1pLNkH4eus8FhSeuCGbs40BeVTKuiVlMKgaFQfvN6S3arYSglmTL2X/ukM JoSlaZMLZRuiYR/Ug8EKxTOCmrZmek6QlhumsnW24h5e/d5XHP9tblVn+ZnHT6DkVFdY+p/cotf 85sZkwozX7tjWf0+S2YFNjbI5gIOR1WPnc4va40mVVmCsiXKmyKpFSlc5MDYw9VS6aXHLek8ffE pphNpgDMt5Bq2p/kiYxkmf2hHSdcBpi96Cpn0/Z3pmxJFPpP5pcUVmNWNQR6pHgY16YRvbUQ2kz pDhQSiUkwM7E3BLQHFoM8z9ySqSMght1DTwBI= X-Received: by 2002:a05:620a:468d:b0:8cd:8938:f000 with SMTP id af79cd13be357-8cdb5a610edmr773788585a.28.1773450586678; Fri, 13 Mar 2026 18:09:46 -0700 (PDT) X-Received: by 2002:a05:620a:468d:b0:8cd:8938:f000 with SMTP id af79cd13be357-8cdb5a610edmr773785785a.28.1773450586260; Fri, 13 Mar 2026 18:09: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-5a156366b22sm1806805e87.77.2026.03.13.18.09.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2026 18:09:45 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 14 Mar 2026 03:09:14 +0200 Subject: [PATCH v5 10/10] drm/msm/dp: clear EDID on display unplug Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260314-hpd-refactor-v5-10-0c8450737d64@oss.qualcomm.com> References: <20260314-hpd-refactor-v5-0-0c8450737d64@oss.qualcomm.com> In-Reply-To: <20260314-hpd-refactor-v5-0-0c8450737d64@oss.qualcomm.com> 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 X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2545; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=mM1BPVW1QTH7/BXc4PZivhB4YvjG5aoCpugqUPEORdA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBptLU0Pw/Wr8XI+UeUONhk97j/MiQGZKZWH4bTZ ZuB82VI0PeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCabS1NAAKCRCLPIo+Aiko 1TH6B/9HVOXDOqe6Kq83wbuYJWfsDNfh6vW+7Iqx/NVA9Nnx0o83c41Vav4ihMIyb6Qj/LUe9ao uWaO0T3m5Y+Vv2/2cXK7OJxlssS5LPWj0xJlATqaY5bzdmw4dosdX2AdVx7FFeOTDiHeYjeB/So P6p/pVrXzztbZMMFYu86QiYRLBhrTMSz01gNqcf+CPIskZM9fuBZ/YqlRAwHOjHKsxfjREYZqll BsRNZz0tTh3ItupQBaB9fPnynvNfTPevJZI7r/gBQdChqRydV32MfJ7vOJTssXXg8i4pOX26CXZ JoAKIXO7q0Oy9FFK+YEYEeco5LmhuYsZzV2UVLxqIyWs7CQX X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: Hf7Ge7uFLp2XUOI2ZpZXNCQzBq_33o5u X-Proofpoint-GUID: Hf7Ge7uFLp2XUOI2ZpZXNCQzBq_33o5u X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE0MDAwNiBTYWx0ZWRfX58BVa3LU7hhG O/ezouTDeZEa0BqaGtTG5TTD389xB7+tT20qEknV5+PLX150Nqay0V/8ktosHDcabCs5Exb7Uzb ITpeMj4Vbaal7GxdsdvTxVM1mNeigeYI7qY0D2wiyp8z+sUwU223ieFSSMgyfZrNkj3Tb5FSUDE cIAaWcXouRyoE01eZ7YGwqX7IQi8A5fIrFoY3yQxeAXOfnom60RV9npEIGUBHnReb8DzRa9DHlV BvJXzpMm9mP8jAGJRfSgexzYtuy974Gy1oYOvnpR9hp0mbpZy6+xjisPbJuZg+1ly8O0rmuac1q ILzhucZ1vemn4Tw13g5Bb0YVKjCSN+YVR8ucwnWkQtGbecwFXGKr3xCdlMP/5CgE24VRrwzqZUW y1FBl3tUPo9uHe6dzLfFDPMznPcrlNP6I5bd/uG/5QyKDlkgMywaAZ+j/lluusvQTPVF/8sp0Fu 9rSRC5B/t4cjw1zEZQg== X-Authority-Analysis: v=2.4 cv=S6TUAYsP c=1 sm=1 tr=0 ts=69b4b55b cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=NIqqIfc2bYnrFRhDr3kA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-13_05,2026-03-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 spamscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603140006 Currently the driver only updates the EDID when it detects a connected monitor, which results in the connector still listing outdated modes even after the display is unplugged. Set connector's EDID to NULL on unplug to clear the list of modes. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_display.c | 4 ++++ drivers/gpu/drm/msm/dp/dp_panel.c | 8 ++++++++ drivers/gpu/drm/msm/dp/dp_panel.h | 2 ++ 3 files changed, 14 insertions(+) diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/d= p_display.c index 0a38957ea901..5c6a24ec140d 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -447,6 +447,10 @@ static int msm_dp_hpd_unplug_handle(struct msm_dp_disp= lay_private *dp) return 0; } =20 + /* Don't forget modes for eDP */ + if (!dp->msm_dp_display.is_edp) + msm_dp_panel_unplugged(dp->panel, dp->msm_dp_display.connector); + /* triggered by irq_hdp with sink_count =3D 0 */ if (dp->link->sink_count =3D=3D 0) msm_dp_display_host_phy_exit(dp); diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c b/drivers/gpu/drm/msm/dp/dp_= panel.c index 891211b23202..6bb021820d7c 100644 --- a/drivers/gpu/drm/msm/dp/dp_panel.c +++ b/drivers/gpu/drm/msm/dp/dp_panel.c @@ -293,6 +293,14 @@ int msm_dp_panel_read_sink_caps(struct msm_dp_panel *m= sm_dp_panel, return rc; } =20 +void msm_dp_panel_unplugged(struct msm_dp_panel *msm_dp_panel, + struct drm_connector *connector) +{ + drm_edid_connector_update(connector, NULL); + drm_edid_free(msm_dp_panel->drm_edid); + msm_dp_panel->drm_edid =3D NULL; +} + u32 msm_dp_panel_get_mode_bpp(struct msm_dp_panel *msm_dp_panel, u32 mode_edid_bpp, u32 mode_pclk_khz) { diff --git a/drivers/gpu/drm/msm/dp/dp_panel.h b/drivers/gpu/drm/msm/dp/dp_= panel.h index 177c1328fd99..9173e90a5053 100644 --- a/drivers/gpu/drm/msm/dp/dp_panel.h +++ b/drivers/gpu/drm/msm/dp/dp_panel.h @@ -49,6 +49,8 @@ int msm_dp_panel_deinit(struct msm_dp_panel *msm_dp_panel= ); int msm_dp_panel_timing_cfg(struct msm_dp_panel *msm_dp_panel, bool wide_b= us_en); int msm_dp_panel_read_sink_caps(struct msm_dp_panel *msm_dp_panel, struct drm_connector *connector); +void msm_dp_panel_unplugged(struct msm_dp_panel *msm_dp_panel, + struct drm_connector *connector); u32 msm_dp_panel_get_mode_bpp(struct msm_dp_panel *msm_dp_panel, u32 mode_= max_bpp, u32 mode_pclk_khz); int msm_dp_panel_get_modes(struct msm_dp_panel *msm_dp_panel, --=20 2.47.3