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 9B50125776 for ; Sun, 12 Jul 2026 23:46:14 +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=1783899975; cv=none; b=Klc7VOdjr3dcuggROVi7dBcGq+2h3ZdayTY1ipCnVTbbdlooVRejPQNb2rBFYRLtlzMO2CQP5Ud3htkis2V9bAv64O0AgjWQFvnu0k5DLfCl5SUqwa9T5qFLJRrfXuzcsOM9Gz56/ZhyvLp/n82GPV4/H9B9lci+fJEBvfqMx/Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783899975; c=relaxed/simple; bh=HgLNjJLQwILgDff2c8zRyVa0+OhrJiwn4q/T1QbM4HU=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=Z1f0qqm0LEGWaxN14qwg0o7rpTAQigTElA9fvaH9dAo8jrwHyeuHxdgxtwKqQ0oJdKU8Z6jJarPc0R09TKiQfsF9n2fliRP/wu0/x3OAvGShS3eCVtQ2jiokgrxpkGUTY8a0pJG3A1MLww4abfdHUJoB+TJNUuVk+M9Se1YbPV0= 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=kMkta0wv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dFV4Plu/; 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="kMkta0wv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dFV4Plu/" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66CNUWIx3769422 for ; Sun, 12 Jul 2026 23:46:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=qcppdkim1; bh=+bNrvxyY7JJvuVGdCIRcAUFM lnDc7wQbUqxchf1kntQ=; b=kMkta0wviZTF7Q9yqce79kJ5IWxPrIkqEQipC4Fs jtgqzvtWegE/hAZUXSmBHhM7rpQBw4k3+O5co+LQcShQMMraHgGdZ8x38ovQ8+Lz pXI1eIfhk68TUE/InpNZRQrxMJD8T+6y/1zon1nyvS+Kv+K+WXwsKR1E6Yx+3Vff 4HfeO4uJSdNHM2OnKPjqrByrug0OZCzGWodgTtwC9zZJTslu11VGmoEOG5p0pzHf LL1oaLdvvKeIUGiCwS7Qbo4KzI+aceLatBuSF263+cvAA6TdTbSMvy6Ge1e9CV3E wwl4R8TiBKgev1eGFeYrl2TXLQEdwCShG7ZEdT2oRt/yvA== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fbf483kvu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 12 Jul 2026 23:46:13 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-73850dfc198so1109585137.2 for ; Sun, 12 Jul 2026 16:46:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783899967; x=1784504767; darn=vger.kernel.org; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=+bNrvxyY7JJvuVGdCIRcAUFMlnDc7wQbUqxchf1kntQ=; b=dFV4Plu/G1URcimwGW8GUi+CDCpdJsSZuMpRsFDq+3/YNcJ+7D8RQEsgZqQ/6FumGx lPUz90rVmaV/fdVcu34BRkRpm6v2292jyYiiwvNYAzNdIGeSoYt8jfX0G2zz2dzcua0z 4Kr8FfIw1xwDOKTi9jWI+hRxAywioIEmiPVh5lsT1mCuFoqa1Gjgsu1hf6svHuBoPsHL V41FIzCVg5AVZpU0+dJZGiHu+LjNf31xhiaAxbHpuZsPoc0eNAaV6vL8pk1uOLjDns3b r2diY3tY88tx+1l/FTrHBecrYU2ognAOKdnWgfPMFhk8XvyrVsDMyY2QryaZwMw5YsqL IGJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783899967; x=1784504767; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=+bNrvxyY7JJvuVGdCIRcAUFMlnDc7wQbUqxchf1kntQ=; b=DdZlZNXrBT7hEnltHAVfYWYqHNkC75YQb59RcNK4K9Ukxph8lGAemsOw5DodIQUzUK S9EM9m3+r+PyAAFRb9c0Yk1NseD4oWUOnUmVS6iFMefqT0XFizFFwnNcitVNyXdR+ENq iV8mBGPZmCA1BkWbAowx3XQh/ViWtXL0kXWWjLoVLur6ln38tsRqcH7zoy/JlSiDDsLO 0ponNfLJ8jKuOqGbnfMYWOgclc56efEaBBhp/wRcNAVpUUZ60nRg5Esg2laKQI7b8lci ZfYxVmgbGfwLkqpM4aAFzVIycAvW1teT85dFWf2YdPuueM5HU9flUhc6x8CjUCAzWpso 1eyw== X-Forwarded-Encrypted: i=1; AHgh+RojSqxtqZmLvHQNpt09QlOzZNC+kNQ9pi3C7/+CPkfPOubWXT00O4QvibL0H3kOXWoIc/RVTz51UBEdwi0=@vger.kernel.org X-Gm-Message-State: AOJu0YxuE82msSYbWQyPZ70QmvaIGUWBp0bKH6C1opB6bhf22eRboM1K dZwwGDXUVEQ/Tc4tRU5GNIdobCvMu/7qvSG2c6wBTh2uqNoiA91uUfS447d8QypC9Jdkby1+d1C seRQHKpcb08U8GmbkWJqYq6jrl6ZPtPN5EaKW7Fjni/t+SrxSLCRwd4VeHLxUEPOAdT4= X-Gm-Gg: AfdE7cmtx5+aP4Iczb75ENuy1JjPGj08CZIsIY96pIGz/x+s8XBCaDUD5RB1xE3rROY 8fbaCfsA/aa2S16iZA72q5oh8+6uPR5cCbbMWJgMHTEUp1R8IALLhym4vWEvkUKwKP/ZAC1fAec UrdekQXqHWBiiUqng6CsFemOX8A4dR+2w/Qb9hCrpVOLWHWCjiuLGgVgcsk50+AvYjO2qVYkIfy VpnC7G/xMCa/W/4c9CF3JJEMpIxg3DjUPrwq4Yn1jx2zG+JMU2OIUV1q4xBvaIO5vJouT+Ppd8V MqCWKcuUVAERJfZGb92vXxpOcoVHhVZjOTHSGkitoi/gA9ZXfAGj11/LE5DzSw8FUCLyp91WY5j QRSwEqtAJqi5kmqdae8nR7Rmt7wGPUF/lmDlrhfskCnPUcOTgvAENch0Pa7kUpC8O1PQHMjsO1U +BI/l60V4N3pZKUxlO0QV2Ri+3 X-Received: by 2002:a05:6122:6141:b0:5bd:fd79:ee35 with SMTP id 71dfb90a1353d-5bfbf2531ebmr3660987e0c.6.1783899967387; Sun, 12 Jul 2026 16:46:07 -0700 (PDT) X-Received: by 2002:a05:6122:6141:b0:5bd:fd79:ee35 with SMTP id 71dfb90a1353d-5bfbf2531ebmr3660963e0c.6.1783899966831; Sun, 12 Jul 2026 16:46:06 -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-39c84b9fb1csm21333701fa.34.2026.07.12.16.46.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2026 16:46:04 -0700 (PDT) Date: Mon, 13 Jul 2026 02:46:01 +0300 From: Dmitry Baryshkov To: Yongxing Mou Cc: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jessica Zhang , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Abhinav Kumar Subject: Re: [PATCH RESEND v5 17/25] drm/msm/dp: add link_ready to manage link-level operations Message-ID: <2ciespht5pfxvqnrik4a26drkmow2ilvxbkcnpt43jprhndryq@vfetl33dz3yg> References: <20260629-msm-dp-mst-v5-0-2ed6aee1867a@oss.qualcomm.com> <20260629-msm-dp-mst-v5-17-2ed6aee1867a@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=us-ascii Content-Disposition: inline In-Reply-To: <20260629-msm-dp-mst-v5-17-2ed6aee1867a@oss.qualcomm.com> X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEyMDI1NyBTYWx0ZWRfX6R94SXYt2uY+ hIHg8DYbr9Iku3DBAnUkVNhStIJpD/20TSjRW5aHqmDCPeFBUCmztX22uBT86clkvZfT36kjJlA vMO3JhbLx2Th81iP/FRLDcu1yWgoblI= X-Authority-Analysis: v=2.4 cv=OsJ/DS/t c=1 sm=1 tr=0 ts=6a542745 cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=j7iepdKy8yGsvB39TCEA:9 a=CjuIK1q_8ugA:10 a=ODZdjJIeia2B_SHc_B0f:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEyMDI1NyBTYWx0ZWRfX03gXEywB1unU Xl22Y1FiQkltLy2lTwz0MDxzpiRMia0yy0eXT/k5n4l077fBp4l7OnZOm7rBjGdUrAW5Ee+xYpR qm+4mFLiBPEP515hX+xqfMYNRJ4h8ZyDLVC/8f0DhY3B4PGn2WC2SeGqvWosOP9mxitYEF8LV4a 1RFwMKK5UJ5wIv4rAwXXssx+9/0Jf/UexK6uE/lzkyltNwcMmMByMycyEaH7jZxxkK7f4ZQsNDI oAsBN4RAt9QpI3/Poof1U2faHfObhY4f9TVGSfSUKUp0IVeIdK/EkDdc6glPSExMJpIEN8r+4Sq 6849M5yocVJBdbVbuVTNgojcw2UZycw7CxDSHbJtVi4Y0ZjLzRYltGvNAsuGtbIuf4uOE93rMim cXl4gpt6BrsfCJcAezCZDE5pf8qIfarbXpFFhMK2Acy2lgBGLGZX5+l9YhbUMTf6zD04uOCXn1r 40tAGzyBHE3PmI5Q2LA== X-Proofpoint-GUID: INVSxnUpOjwzURu37CMptSkqQN0KkoQP X-Proofpoint-ORIG-GUID: INVSxnUpOjwzURu37CMptSkqQN0KkoQP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-12_08,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 clxscore=1015 impostorscore=0 phishscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607120257 On Mon, Jun 29, 2026 at 10:14:38PM +0800, Yongxing Mou wrote: > In MST mode, multiple streams share the same DP link. Track a link_ready > state so msm_dp_display_prepare_link() runs only once per link and > repeated calls are skipped. > > Signed-off-by: Abhinav Kumar > Signed-off-by: Yongxing Mou > --- > drivers/gpu/drm/msm/dp/dp_display.c | 42 ++++++++++++++++++++++++------------- > drivers/gpu/drm/msm/dp/dp_display.h | 1 + > 2 files changed, 29 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c > index 2a74302bcb7c..d56ee10ee065 100644 > --- a/drivers/gpu/drm/msm/dp/dp_display.c > +++ b/drivers/gpu/drm/msm/dp/dp_display.c > @@ -702,6 +702,9 @@ int msm_dp_display_prepare_link(struct msm_dp *msm_dp_display) > if (msm_dp_display->is_edp) > msm_dp_hpd_plug_handle(dp); > > + if (msm_dp_display->link_ready) > + return 0; > + What kind of locking is protecting this variable? What prevents it from being accessed concurrently? > rc = pm_runtime_resume_and_get(&msm_dp_display->pdev->dev); > if (rc) { > DRM_ERROR("failed to pm_runtime_resume\n"); > @@ -714,14 +717,18 @@ int msm_dp_display_prepare_link(struct msm_dp *msm_dp_display) > if (!msm_dp_display->active_stream_cnt) { > msm_dp_display_host_phy_init(dp); > force_link_train = true; > + > + rc = msm_dp_ctrl_on_link(dp->ctrl, dp->panel); > + if (rc) > + DRM_ERROR("Failed link training (rc=%d)\n", rc); > + // TODO: schedule drm_connector_set_link_status_property() > } > > - rc = msm_dp_ctrl_on_link(dp->ctrl, dp->panel); > - if (rc) > - DRM_ERROR("Failed link training (rc=%d)\n", rc); > - // TODO: schedule drm_connector_set_link_status_property() Why is it being moved now rather than in the patch where active_stream_cnt was introduced? > + rc = msm_dp_ctrl_prepare_stream_on(dp->ctrl, dp->panel, force_link_train); > + if (!rc) > + msm_dp_display->link_ready = true; > > - return msm_dp_ctrl_prepare_stream_on(dp->ctrl, dp->panel, force_link_train); > + return rc; > } > > static int msm_dp_display_enable(struct msm_dp_display_private *dp, > diff --git a/drivers/gpu/drm/msm/dp/dp_display.h b/drivers/gpu/drm/msm/dp/dp_display.h > index 676213a48089..0464f8941e8d 100644 > --- a/drivers/gpu/drm/msm/dp/dp_display.h > +++ b/drivers/gpu/drm/msm/dp/dp_display.h > @@ -22,6 +22,7 @@ struct msm_dp { > bool mst_active; > unsigned int connector_type; > bool is_edp; > + bool link_ready; Please group the status variables together. > > struct msm_dp_audio *msm_dp_audio; > bool psr_supported; > > -- > 2.43.0 > -- With best wishes Dmitry