From mboxrd@z Thu Jan 1 00:00:00 1970 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 0B70E421A19 for ; Mon, 29 Jun 2026 14:48:47 +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=1782744529; cv=none; b=mlho81RkHAMyG3WVbcJ4xL48tJ/p2k0bjRUaDez2H7K7ntFFE/8DyLTk1o952HVD5tbg0FDM7WVKWjLX+Ya8AngDlkD8GnEqPk7boCJi2ay56dmxq/k788sM5kDRIbnchOxkHh8+kcdwEya6s67ItTrK7waIy1QSeWYJCMiLCcg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782744529; c=relaxed/simple; bh=HP/cW/Tw37YstcovENSRbx+bTNeC9rrNJjB508cDOAc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aPBgBZ9yJCbN/HG8KeOpXFrrwjRhLmSwizCI9O7vKWwks+Pl74LxgH39vEuuU7wZWcd20sisJ/p5MZgcrNHNZPy5DmTGCwtuW/eg65/LpmJrz9Eyo4Ny8GpHGpNpBOuxsO6GAUrQHy+E1HT4gFIOcjzfGD6T4rl1MnE0lrwI4oE= 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=CN2dAyMl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BRWAW5hp; 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="CN2dAyMl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BRWAW5hp" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65TASxrr2641503 for ; Mon, 29 Jun 2026 14:48: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= 0DCRc1+pd9Su9ZSSDRhIagXJRwfB5gYRz2Ej4HsfPXE=; b=CN2dAyMlR6FulHz/ L2n4JtnXLBj5ia8K5IadUawl7zDfJRIk4A0w13vLZMqxvaCTgMMymgGM7/BKX09P RCvjyKNID6nZ2MtTvpLdlQdoMNeDbz59482ygF6ek0Woq5hrTT4siHya/USurtTE vWyZnKdr8EBIOvQMTnIfBEwwxfu2BNv6kbqEKeZT7MP7Pph69VS+Qiv45sM4FKAk VXdA6VGaTJKv7NXxbPj2FqryLI/HMc3odkPmFzH6HGtkJNJKD5KN6Sq6OnusyNpt BlA8MteewBp4Lf3P+0p7Qpv/Cbk6zkEYBhhee1XLHVBFzKCpjeY3OAnYEhXET+W1 LWeFgQ== 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 4f3npescma-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 14:48:47 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-92e4f27f49bso168729685a.0 for ; Mon, 29 Jun 2026 07:48:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782744526; x=1783349326; 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=0DCRc1+pd9Su9ZSSDRhIagXJRwfB5gYRz2Ej4HsfPXE=; b=BRWAW5hpooUdd2CQGi4Ywm1+nasbUUETQe5PPUqlbYPehQ6QV8JPNHBWsBh0Dhn4pk 8j8QCv3p/iO5kdn6fCgoFLBfZGIex5Vu0HWnncLxfNYKG/hhKaCtdt7bM4xH2//pAOyR mmS40y6CIRNCKjYZ+czPeh5Ogt5IC2g44QIDAkt4BV8jV6I+8ky1adzCW81YZloXWlSi ZmD6I/WyRgxv0XNHPs8/GhvTfvI0LvySEL4bMDWSNeJAVeT6y1GWwJCXLc1H5k/NmNTN w0A+Y/GwpSpQJoIzMOgeG6bRAnDNYBvwAX5HQocWq+oc+jHEcwTUaDUXDAKTatVgKq24 cbGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782744526; x=1783349326; 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=0DCRc1+pd9Su9ZSSDRhIagXJRwfB5gYRz2Ej4HsfPXE=; b=JMsn08rmAsgikmBwpp+jd27pdCWN71GpqZNxc2ihH2fcyX9R9zflvAWpFnBuSHOWd5 ZtTBYPWm73lJXW3tHhnW+lhMwV+1MNgQs56iq6KxP40x7sknrff9SYXGeYfgCV8E7aS+ Z6BRIlDHSEXdvICYQzhlnNPzaonznXD37Xh68kA9kyXw7SNLgqOLbQW5C7yCgH0zfg7g wAXw3s9jg+Cmo3u6OEeon/lsbnYsPLAiV0tHFkv539OUe/cGsEGTlWFH06LVbRYjPpCK icGsgP3LNfsqlH1YGCvtnOa55uXYgPcUpxR2VufvNC1o6B1++xtHoEmBXWR64jNOz0m4 vQ0Q== X-Forwarded-Encrypted: i=1; AFNElJ8WHgIPezTjr2eOSI/2fB2vm4KHPW/aiWyorfH1reOAFbJdcPdfE5rPsW4dvWG9S78KfDfd+INqKmPCmds=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4bJb8y3vv2bNqMLjOJoo0vFaH1VmkBtIhOeMZIkLH2Xb6YG1a nBncliySbIovw3uLE+YUHiZwPVxmR6LaxikDPkF7Udkl8aagTVh1qd5UlYNgj1IFULB1MUZm3oL SceCDC/MeK8PQJwsgWgUhDP2Yn0m7+1aQHcyiy9taXE60w9DdwLIR/wKeTviKL91IXWU= X-Gm-Gg: AfdE7clJ+4OuZaXMT21BfD1G/ndqUx1GcwJiv7TS/JOs2Y0bnRfAzt+ivspumSG+Ty7 YPDMzlwgtPVq805Wa8eeDS0moEuCUSD7zNZ/KbU//3+cMpWXyaioLhekTxmcGMZ5sWki5ufRfgX eNdZBmNe4YsQoHZSR30niYCBYoa/jBqrr3OUFEHN6AKA30qjppy6ngt2noL6izCHEXl9u189zya DPKfYUiq3QvT9fahk+ZyKxZ3K8dGvdIGPnkTL/AyEnN00aAbhc+O3w78MKdcpzizf6VxqcB2PqQ jkYDuajMhuWwgiu5oPwRR4ZyW4BRi1HMRlg6k4Hr/r+aHFFrhPB3HSi1nzKwOmOsrInJ4LabDC0 /RpoePk2uQJkx4e4lMWmsPE9E2p0a4mdJoos8erQfnkrI444w5gEi4rKTiJVYClS48b8+gs8ocg == X-Received: by 2002:a05:620a:4050:b0:8cd:b2e9:b964 with SMTP id af79cd13be357-92b3b00a2d1mr1531797385a.10.1782744526054; Mon, 29 Jun 2026 07:48:46 -0700 (PDT) X-Received: by 2002:a05:620a:4050:b0:8cd:b2e9:b964 with SMTP id af79cd13be357-92b3b00a2d1mr1531790485a.10.1782744525425; Mon, 29 Jun 2026 07:48:45 -0700 (PDT) Received: from yongmou2.ap.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id af79cd13be357-926004ab49csm2087974385a.34.2026.06.29.07.48.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 07:48:45 -0700 (PDT) From: Yongxing Mou Date: Mon, 29 Jun 2026 22:48:05 +0800 Subject: [PATCH 3/5] drm/msm/dp: suppress bridge hotplug events during MST operation 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 Message-Id: <20260629-msm-dp-msttypec-v1-3-646a10256233@oss.qualcomm.com> References: <20260629-msm-dp-msttypec-v1-0-646a10256233@oss.qualcomm.com> In-Reply-To: <20260629-msm-dp-msttypec-v1-0-646a10256233@oss.qualcomm.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Luca Ceresoli , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Tomi Valkeinen , Bjorn Andersson , Konrad Dybcio Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Yongxing Mou X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1782744487; l=2450; i=yongxing.mou@oss.qualcomm.com; s=20250910; h=from:subject:message-id; bh=HP/cW/Tw37YstcovENSRbx+bTNeC9rrNJjB508cDOAc=; b=DhGa0Wr8tIbwVvFaZ+bpQnM6r2zbyTcERPBAAfH1jQ8mk+FZG4WQ2mgMtUZ4hCw5ENlOZGq6j uU8xr6dBr2YA52fJcrO1a+YGmKFCgXLAWGeqtbRA1D/miCilsRUfAJV X-Developer-Key: i=yongxing.mou@oss.qualcomm.com; a=ed25519; pk=rAy5J1eP+V7OXqH5FJ7ngMCtUrnHhut30ZTldOj52UM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDEyMyBTYWx0ZWRfX/Lk1IczIZcQp ygB4iG1Kk9S4u3jthcXa4C0BtEZIE/uVD0uVel2ldvN4NOwGtaMehuA0uGiaHCMuT1k8WqdmIj9 B+KWg7ukfyLdidD1cwDkWAhIyQyVRKzto9A/n5pKgGm8vruOQgPy6trJ2V0Nmf+AiQjQzr6ZPXB HZtBQNosSAEq515B1XDtNM+zGYc0oyB2MebdPBeNYjp1BF4azB85+EyVvOUT36sm5eZdtT8nw4b peBPC39u6XU3sYNw6D0T1DDMDWLLVg0Ewgs3wCPlxD0Qt/L0ry4wtlyFDp5llmV/kcYp6/SmPkI F6EIltkdgUfZVqo38kPne5bPb/t0Kr62dyZwVyNg4AU8HiWNyLoN+QtX9G0i2vDN210IkdXuq1P qQs7QCuSime8pRYaDITIwGCosF9sd8QlmW1UKVL6xQamG7TAYTXP9uMD+0k2Qzsi0ZYPsXSLHtS 7VQBM1Xdku3Y06tqhkg== X-Proofpoint-ORIG-GUID: 6ZN2tK8AkuAKgiYaokwsyddNKqieqNRU X-Authority-Analysis: v=2.4 cv=T6q8ifKQ c=1 sm=1 tr=0 ts=6a4285cf cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=MZjPE3D8UQgFyAeDyYcA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDEyMyBTYWx0ZWRfX7djBdJbBGwzz ZES48qoxPuTX+2JSz3Hoq/O8Fcob9YGG6wdYMX8/WqyaXgp9Tp8zaaymmpEBA2vZk4w6bKJt16v FgwXicKMheR1KvuAyWGXlvysr1/ufac= X-Proofpoint-GUID: 6ZN2tK8AkuAKgiYaokwsyddNKqieqNRU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 malwarescore=0 impostorscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290123 The DP MST framework already generates the required hotplug events for MST topology changes. Suppress connector hotplug event generation from the bridge connector path while MST is active, and continue propagating HPD notifications to the DP driver. Signed-off-by: Yongxing Mou --- drivers/gpu/drm/display/drm_bridge_connector.c | 6 ++++-- drivers/gpu/drm/msm/dp/dp_display.c | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/drm/display/drm_bridge_connector.c index 7334d6677604..82ed0dc450ab 100644 --- a/drivers/gpu/drm/display/drm_bridge_connector.c +++ b/drivers/gpu/drm/display/drm_bridge_connector.c @@ -162,6 +162,7 @@ static void drm_bridge_connector_handle_hpd(struct drm_bridge_connector *drm_bri { struct drm_connector *connector = &drm_bridge_connector->base; struct drm_device *dev = connector->dev; + bool send_hotplug = true; /* * IRQ-only notification: extra_status carries the event but @@ -179,9 +180,10 @@ 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, extra_status, NULL); + drm_bridge_connector_hpd_notify(connector, status, extra_status, &send_hotplug); - drm_kms_helper_connector_hotplug_event(connector); + if (send_hotplug) + drm_kms_helper_connector_hotplug_event(connector); } static void drm_bridge_connector_hpd_cb(void *cb_data, diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index 6835c68fe510..bc93b566fbca 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -1790,10 +1790,17 @@ void msm_dp_bridge_hpd_notify(struct drm_bridge *bridge, msm_dp_hpd_plug_handle(dp); } else { msm_dp_hpd_plug_handle(dp); + /* mst_active is set in plug_handle; suppress SST hotplug */ + if (send_hotplug && msm_dp_display->mst_active) + *send_hotplug = false; } } else { - if (hpd_link_status == ISR_DISCONNECTED) + if (!msm_dp_display->mst_active) { msm_dp_hpd_unplug_handle(dp); + } else if (send_hotplug) { + msm_dp_hpd_unplug_handle(dp); + *send_hotplug = false; + } } pm_runtime_put_sync(&msm_dp_display->pdev->dev); -- 2.43.0