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 397961A08AF for ; Tue, 7 Apr 2026 02:38:12 +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=1775529494; cv=none; b=CMHMZvUiJfZSN6LqWMpvDoIL4FPrY46AFUuAq1YUvMHbw9Vokh0g8p1BTtmz77hX4ALgPfsybwYJvVcpjf3x6yhKP3TJ7Al5CfVAwlGoZneVj7pApJ7jAUD/Hio15ftstfvuFahHKrCmVZMKdUI0xmz/i3Gz5XxPig+2FgpN9o0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775529494; c=relaxed/simple; bh=g3RMF/mWhs8dsj5tlWogdLRJp2PO7B07H1LcLUDqSW0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=q5eqUAUZkGh+zzmMN9BKI9CKcOkATGcJIpaHxfh4oOUXOL6MELnXADe6/tGwIQb8OxCMyJme3mgGK/VBf01Im/DXXNzsG0Hurbo7PxkwRC2/6qfgSYBLWmibxLmQqOpcwB65ZJ9udxQpusiXhhLVkRw23FUcHOWdH4LVcUwvr3Y= 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=TLFHy3vF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jlkd8UjG; 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="TLFHy3vF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jlkd8UjG" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 636LTKCL2329704 for ; Tue, 7 Apr 2026 02:38:11 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= jxY0yV5+oNV02QxbphI8pejM9GESpyjwddOZocNniT8=; b=TLFHy3vFsI8G2Wze sN3yd7eF66G2DcXNKF2blrtbxDw/IIuo0qMiRH5X0rY8WK7sARfDNjsOjYPCOkZX BuMGOLSAJRlBHIwjqz5vEZRcLConkn1en2xCjvxd2N0WSgi5T/T1MnXXJbR2adoq tK9iR4pYmiC4DY8kkqPLJzHiXwnoMgTq11VGwbYcBarPjjV7UQ+agXTYStjwa3wJ 4fpYN8kOkHoqgc7hffSTw9jVw174fJde9znJ3BnTYvDXZgGgyN+pL86uMiSYALMg f2iPeCIGNXz+nBLsnz0YXYnd3XK3oTEeR1ZH+3mYqzPJH25wkF1pELHt06/Bb7NZ AYgXOQ== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dcms4rped-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Apr 2026 02:38:11 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2b241be0126so126153405ad.3 for ; Mon, 06 Apr 2026 19:38:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775529491; x=1776134291; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=jxY0yV5+oNV02QxbphI8pejM9GESpyjwddOZocNniT8=; b=jlkd8UjGzv9d02t4hyXZEQhmAsry9bbylqk0zWFO7q7qEudrR88wW3hDQf8FoodHge 614gFQZkJ+kcUgue+fTMk2rQ4B4l4226mWn2dqINaHKELUDvUGTfcUuN3TL86xvAjVCR HgAMB3HpAbnnb+ACDmwKcGQBmTr/FuWrHPIuH9BGlHCDK/vzmSBESgxstxIHJuLc2rBs qK6rDlb2CSnkFf0pz+deqtap/qepzXq5r7xJOm0Jq5m2lufmIGTNKFCAVsxRDNccXyuy ITQDtO2TLwYaePner9CV8jAxqbnmxOglSPb5LUPY3Azkjtl6+vmxVqeE5kFSvUJadri0 R23A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775529491; x=1776134291; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jxY0yV5+oNV02QxbphI8pejM9GESpyjwddOZocNniT8=; b=NbMjUtutZywmPJzT2XcU0MRihyy7/YOMs79V7pHE+5aATIaeulFsmrsFjoti8CFJP3 8MOvCPwc7soGcQdLWkP+EXFzvQOt3raxMOV74C+WLXfQytA4isYAUsFSS9FhFj4NSw9a rvhwHzG649IBjdA6ETlYpjOcZeEKYKRL7MsAV38HteeJmLZwlxMY3qr/4vzeSbumwMjz Bu5EE6WMfXjRN0mcGEE7JmydPgCZr//Yf53dHVV31vpoMaGh3w8yHnBsG9CevmmxRZSD Z3o8Pupm3Sj+nCTOnOgLitLU0MW68XTkQPqDsb0NeHNWOEhgva1juUGw4HKyBboiTwm+ x7Kg== X-Forwarded-Encrypted: i=1; AJvYcCVp+tT3msauk9lCJZ59mvIAThPb3lUdtCRQK5opFHD3OulC0nbcL939tfqVYmMbsqbrFSetQJhFZXx+5Mg=@vger.kernel.org X-Gm-Message-State: AOJu0YyOwnfVBbOTXcSgrBgM1OWyc2jIcx3aqlkcUzDPSyvUL6o2VfIP qJ2zwHgVrIFXtF8GUEBKcTUfIS6h6U1ptpkE8pOnUI1y7u9qUyirATNO5RGlFyZqeQwztWzaWSz WAfDOGcs3+JnaUPy+6SWC/o0qUIrJjWQXge4gaDlH2yvClOkUsjFtL7GQUqtFI2YuGzM= X-Gm-Gg: AeBDiesv2nampo3R3xpUOFQ/hA3WkqrYr5o5a2HGTgBamGwl1PG8nIpCpECSnZBB8CI fWc1ntGjfOFOP+gtghzoXPkJIk6s/wAxDcbnb8kc+aYC32KK7GBXg6g9yV4IWkkWSxD0VBhsF61 O9q5GdvvMiKOtM5EBHm49nQ/hrhD8loZKaUnC457Ir7Mdl/AVTp30Lqw1S/BzLdkOWvlQZ2gMFR 4Qt65rRZOl/9Hr9SVpnUKczNQcXngKHG+lfHfC1LGYXKUhyQdxSTXu317v2pu1RyF/R4k0nkFf8 R3YvujQ6ni3sVkDnW41m0QpMiIGmRovqHNAoN5r45Ws1MbJG4agUG0/TJq06BFzCNRgkz3O/fvM wnL6B76FLAgFkkxBJKiAlywvIDvakLZXxRshVvoAMKtyLz639pcApEi4CEX16ieqNeKSQNYDxdb /0SaKJhGYjNo9DPlJUPA== X-Received: by 2002:a17:902:ef12:b0:2b2:4bf9:1766 with SMTP id d9443c01a7336-2b2817c061fmr164317405ad.33.1775529490781; Mon, 06 Apr 2026 19:38:10 -0700 (PDT) X-Received: by 2002:a17:902:ef12:b0:2b2:4bf9:1766 with SMTP id d9443c01a7336-2b2817c061fmr164317035ad.33.1775529490329; Mon, 06 Apr 2026 19:38:10 -0700 (PDT) Received: from [10.133.33.129] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b27497c117sm148544335ad.40.2026.04.06.19.38.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Apr 2026 19:38:09 -0700 (PDT) Message-ID: <64fdfd7d-4a10-4032-a5c6-35642957705e@oss.qualcomm.com> Date: Tue, 7 Apr 2026 10:38:04 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 32/38] drm/msm/dp: propagate MST state changes to dp mst module To: Dmitry Baryshkov Cc: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Abhinav Kumar References: <20250825-msm-dp-mst-v3-0-01faacfcdedd@oss.qualcomm.com> <20250825-msm-dp-mst-v3-32-01faacfcdedd@oss.qualcomm.com> Content-Language: en-US From: Yongxing Mou In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA3MDAyMyBTYWx0ZWRfX2sx+gLwGNqfq WBFn+SE6ZWyBCTIA59eKWZgSlRktv81oV53cyDhxncDYTcwolStxk8wanwPHV4OKX/yWFuUNtFD X+KbfGPg3uJTnOAW1gbtCxhQJooW/2lbqtX/5xckNJDzYSaMoLpBGZOsh83OVk9l7Q7ZJCec4w3 5TC2MNpnVYzM075rrYVCNLM0liBT1KXPHIij+rXZgLykBkHkhGG6LyTUMSkYUwrn75J4ehNsEsB Arjvq9+RCZtFq4oeFfHeXu6yduYtBnMeh9GJdrxT5jh0cJ2H43nrVx2tHROeqKiGcM7vea1zi/d QoHcUosLMKv66Mg7P8NRezQ1s5aofdDQTy8eLjyiermTaFevyJmPAc8ElqVVP9GpnQQeqvd61WQ 1+LBKbwRePO4Dq5yImnWLyo5Emq7N0SkVIxHuqUiynCziVw4ekvrPPNObWdllTQwmf/8Sw1Tbyt nPT8jD+y5rUM+cDFHtw== X-Proofpoint-ORIG-GUID: bpoWUp9clx55JPCb62otiiW51f_V-hoM X-Authority-Analysis: v=2.4 cv=WNZPmHsR c=1 sm=1 tr=0 ts=69d46e13 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=25Fo4dagkznjro4wADQA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: bpoWUp9clx55JPCb62otiiW51f_V-hoM 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-07_01,2026-04-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 phishscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604070023 On 8/27/2025 2:43 AM, Dmitry Baryshkov wrote: > On Mon, Aug 25, 2025 at 10:16:18PM +0800, Yongxing Mou wrote: >> Introduce APIs to update the MST state change to MST framework when >> device is plugged/unplugged. >> >> Signed-off-by: Abhinav Kumar >> Signed-off-by: Yongxing Mou >> --- >> drivers/gpu/drm/msm/dp/dp_display.c | 10 +++++++++- >> drivers/gpu/drm/msm/dp/dp_mst_drm.c | 15 +++++++++++++++ >> drivers/gpu/drm/msm/dp/dp_mst_drm.h | 1 + >> 3 files changed, 25 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c >> index 59720e1ad4b1193e33a4fc6aad0c401eaf9cbec8..909c84a5c97f56138d0d62c5d856d2fd18d36b8c 100644 >> --- a/drivers/gpu/drm/msm/dp/dp_display.c >> +++ b/drivers/gpu/drm/msm/dp/dp_display.c >> @@ -28,6 +28,7 @@ >> #include "dp_drm.h" >> #include "dp_audio.h" >> #include "dp_debug.h" >> +#include "dp_mst_drm.h" >> >> static bool psr_enabled = false; >> module_param(psr_enabled, bool, 0); >> @@ -269,7 +270,6 @@ static int msm_dp_display_send_hpd_notification(struct msm_dp_display_private *d >> dp->panel->video_test = false; >> } >> >> - > > Unrelated > Will drop it. >> drm_dbg_dp(dp->drm_dev, "type=%d hpd=%d\n", >> dp->msm_dp_display.connector_type, hpd); >> >> @@ -386,6 +386,9 @@ static int msm_dp_display_process_hpd_high(struct msm_dp_display_private *dp) >> >> msm_dp_link_reset_phy_params_vx_px(dp->link); >> >> + if (dp->msm_dp_display.mst_active) >> + msm_dp_mst_display_set_mgr_state(&dp->msm_dp_display, true); > > I'd say, this should be a part of the previous patch. > Will rework this chunk. >> + >> if (!dp->msm_dp_display.internal_hpd) >> msm_dp_display_send_hpd_notification(dp, true); >> >> @@ -608,6 +611,11 @@ static int msm_dp_hpd_unplug_handle(struct msm_dp_display_private *dp, u32 data) >> if (!dp->msm_dp_display.internal_hpd) >> msm_dp_display_send_hpd_notification(dp, false); >> >> + if (dp->msm_dp_display.mst_active) { >> + msm_dp_mst_display_set_mgr_state(&dp->msm_dp_display, false); >> + dp->msm_dp_display.mst_active = false; >> + } >> + >> /* signal the disconnect event early to ensure proper teardown */ >> msm_dp_display_handle_plugged_change(&dp->msm_dp_display, false); >> >> diff --git a/drivers/gpu/drm/msm/dp/dp_mst_drm.c b/drivers/gpu/drm/msm/dp/dp_mst_drm.c >> index 331d08854049d9c74d49aa231f3507539986099e..ca654b1963467c8220dd7ee073f25216455d0490 100644 >> --- a/drivers/gpu/drm/msm/dp/dp_mst_drm.c >> +++ b/drivers/gpu/drm/msm/dp/dp_mst_drm.c >> @@ -924,6 +924,21 @@ msm_dp_mst_add_connector(struct drm_dp_mst_topology_mgr *mgr, >> return connector; >> } >> >> +int msm_dp_mst_display_set_mgr_state(struct msm_dp *dp_display, bool state) >> +{ >> + int rc; >> + struct msm_dp_mst *mst = dp_display->msm_dp_mst; > > Reverse X-mas > Got it. >> + >> + rc = drm_dp_mst_topology_mgr_set_mst(&mst->mst_mgr, state); >> + if (rc < 0) { >> + DRM_ERROR("failed to set topology mgr state to %d. rc %d\n", >> + state, rc); >> + } >> + >> + drm_dbg_dp(dp_display->drm_dev, "dp_mst_display_set_mgr_state state:%d\n", state); >> + return rc; >> +} >> + >> static const struct drm_dp_mst_topology_cbs msm_dp_mst_drm_cbs = { >> .add_connector = msm_dp_mst_add_connector, >> }; >> diff --git a/drivers/gpu/drm/msm/dp/dp_mst_drm.h b/drivers/gpu/drm/msm/dp/dp_mst_drm.h >> index 5e1b4db8aea4506b0e1cc1cc68980dd617d3f72a..8fe6cbbe741da4abb232256b3a15ba6b16ca4f3e 100644 >> --- a/drivers/gpu/drm/msm/dp/dp_mst_drm.h >> +++ b/drivers/gpu/drm/msm/dp/dp_mst_drm.h >> @@ -87,5 +87,6 @@ int msm_dp_mst_drm_bridge_init(struct msm_dp *dp, struct drm_encoder *encoder); >> int msm_dp_mst_init(struct msm_dp *dp_display, u32 max_streams, struct drm_dp_aux *drm_aux); >> >> void msm_dp_mst_display_hpd_irq(struct msm_dp *dp_display); >> +int msm_dp_mst_display_set_mgr_state(struct msm_dp *dp_display, bool state); >> >> #endif /* _DP_MST_DRM_H_ */ >> >> -- >> 2.34.1 >> >