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 7FD4E35B125 for ; Mon, 30 Mar 2026 09:59:37 +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=1774864779; cv=none; b=DLdKfEs2f+ehYeu3AbZ0LhI4UBHP3CcMuTc8FSX2HC+45RMjAQXWDelUd7VUJ+ezT0AW0nfERRTTA4Q7B8t5F6TNxupElM71X+2jBxu+AIZS7nQcDEVcajDB35VP2dXHzUiFvBRD5HPaB9aX9aBwxFdU/VJdWW4cKIy2aQpfXxk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774864779; c=relaxed/simple; bh=4gDlDOfBmbs+IAQZ4qjeX0ovGi6DxvmXAAy9WXh/geI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=r3lrDKTUA8aVl2bxZ4jXpnuR5y4Yl4u6SGRNY4h4sDt44axGnBCFo3qf2/+vhQlUjMB9o4UJdxvhUUjplJDOdxtxlLto+lVayFR5IuO72zYhi1Um0Hyrh9Hp3zuSHwuVihvw0YtrNNvx89bS98KL+RMELoZTbL8X6oUVK+N0xdY= 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=A+cojxtX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TpSEY1mG; 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="A+cojxtX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TpSEY1mG" 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 62U4r7ZE583059 for ; Mon, 30 Mar 2026 09:59:37 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= +oFEZzGALuVwvBpWKTSR8/70BuWj677y5wYf3rKFaL4=; b=A+cojxtXcurl7zMz jSQMAPvKDMu2n73fX2DoO0XHGQ4aR2WDpdvTtv+8qQpctDXjAy7HxU37IKCRy2AY AprqsptFy7B3km/iqS3Fdh2vQBYPY+CzjZvHPJuf5OrAHDiGT+LvBzsWEQhJqzCS qHritJ0Oxh4UXYo0gBzIUjWUw/caw+W65ynSL0FM8vjAdtQZLxGbwEZX3L+iGmuz DWyFwEmrnaoVbqOYjva0qvvQHt7ma8CJuEnra9QcDUtDcxKaFt1ELpWYS8IvlNij vo9HFq2erw95EgT21sMZ4usL6eBxwAKpv7Tpx8qFJbEXsg0M5MmZsJXcM7Ds3xXT KI74ig== 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 4d65xqnr7f-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 30 Mar 2026 09:59:36 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2b0f4e632caso38695855ad.3 for ; Mon, 30 Mar 2026 02:59:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774864776; x=1775469576; 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=+oFEZzGALuVwvBpWKTSR8/70BuWj677y5wYf3rKFaL4=; b=TpSEY1mGIW/+/rndXgrfwKSdZ8j+e3EiPmCBHX/6of/0IC9movxrShLPgv/WD8DK53 mFH7pK3QfocDF5yjYjlb0/XpFM+hUQ/1a5zt9STtIg43vb08hmC7rUmKMsdDLRCcoae/ Yz62urNN3S4C46biz4G6BgvsR1/GOhoKfXT2QPojyF4X0bjmUyL3/eyQeq779hfhoVPM eRUMw584rzFqFL1xg7G0evh1xfT5O3CHxORzSFyXj5w7+eMCrpFApHZ7SVg5WVYxuUGj Cl1xrltl5eDpx5uwE4DmKdQoDeOHYFqoIf9/I5IVo44e2f4qU5nO37lcKF21Jtm8db36 Vgzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774864776; x=1775469576; 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=+oFEZzGALuVwvBpWKTSR8/70BuWj677y5wYf3rKFaL4=; b=J9lenaSuLjM74+uJ+YSk/2lNiDnosZRaPMrNDArfDcQMflfN1cYjajSkg/0IzpMOXC nIMpi6bvcca/dZ3FVj82PV5RPAhDpd5Y6kW9t8aMN4ap1DBx8/ckco+mwU7L2fbRsPB7 UxKGSGGA5lEwmWPMgw/AaOoqTuY9jqmD1pxAnM3e14pAKC41GTev/us14RGaAIaptkhw +NenfJTG2xpV7aEPX+GxyRsGBair1K9EyUAY8akfjyuG+oVPxQ9fA83FKvm8hPXSQoUv HYqHyfBb+wj2Y0xFwJ2ozNp0ckNaqE7RkUxXRqaLWUftoBZSY+zk8mKYM4I2pnl2ktfM vs+w== X-Forwarded-Encrypted: i=1; AJvYcCXf7mUdlsd644TdwUz4a/T8Wu1AzSq0zbJd7xoH7w5hB2PU2+qfvzl4Y9EXtWtzcaFhp0zYQwU+LV2roYQ=@vger.kernel.org X-Gm-Message-State: AOJu0YypenTkK0AhyN/RoEt89s08xTXmOzMcI1R3awjZ6OyQrCUAJJIQ GfAZ19gXHYMevf/amwcVPY4nisCg4praRCFgLSwyrhwzYXQcyv8PLADTrzDtwBaoA6Wxjb/xRyE +XW9vmRcyvW8+SPSK1MzSEJIYT6DRl1c67pF5pf47e6LHBqYU7flbxPqz4oTfb6dISRk= X-Gm-Gg: ATEYQzxNiesQtqB9On9ZOVGn00gmTcyh2IFZ4R1dknPj4KEkxFm5k0vm9hIk1JzbpbA ToUi2F/jNM1GaTR6JSWm1MmXAzmTZH2DLD7Yh+z0chSlXzBuszLSmzpyJtGes76s9BQktZ2b/0V Owcm3Ff87sGgpOOK0+IwZUKjwToWcfLpxef6C2v+2cGabyFWf5mW6dDAOOpYR+E9rCyLggoDyxl IoKfGTheMGP7n1hgGNpX8iCGi6wO+94Swk/DKMLfAadLFF3VrOXbsCHYVRe4vnfQQFL/FCz9qpF a/Cyc34YlBfQDEiAKBS3P/jr6xy3FcVfwZalms3X1rAWolZmhJZtsPr2axSoP4/hxo6nsdbJ6wv /fS5ixdnAuAWDAu8wuUCyqMJIxgYde9glRTh1O6Bgz3Q+2J6C X-Received: by 2002:a17:902:ce12:b0:2ae:54b2:27c7 with SMTP id d9443c01a7336-2b0cdcca420mr133928575ad.39.1774864775976; Mon, 30 Mar 2026 02:59:35 -0700 (PDT) X-Received: by 2002:a17:902:ce12:b0:2ae:54b2:27c7 with SMTP id d9443c01a7336-2b0cdcca420mr133928225ad.39.1774864775490; Mon, 30 Mar 2026 02:59:35 -0700 (PDT) Received: from [10.64.69.173] ([114.94.8.21]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2427c4cafsm78786605ad.81.2026.03.30.02.59.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 30 Mar 2026 02:59:35 -0700 (PDT) Message-ID: <7e6a7bdd-a94c-418e-92e6-524a58cdca46@oss.qualcomm.com> Date: Mon, 30 Mar 2026 17:59:28 +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 12/38] drm/msm/dp: introduce max_streams for DP controller MST support 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-12-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-ORIG-GUID: 00t-iG24u0wk2_lzsFppKp4TrLV5dniy X-Proofpoint-GUID: 00t-iG24u0wk2_lzsFppKp4TrLV5dniy X-Authority-Analysis: v=2.4 cv=evLSD4pX c=1 sm=1 tr=0 ts=69ca4988 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=Uz3yg00KUFJ2y2WijEJ4bw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=J4JoB0OTnpniNVX1FM8A:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzMwMDA3NyBTYWx0ZWRfX5Bk2zLDlbqL/ Njwz9aV2Qk2PgF0f1cwmobVq84gYkKyvBEgpspHkum+2KonhsXkEDOEb2YiY5O6+TwY5JhbZvYj 5ZCePcVSvMn42Qsx/M8P2e18CHqzaapO3Hv21eoJWcJ3+XgRcXTYlTuQO0vp2cTAgl8KlzO5KZ/ /7TeHTgD0nH5JXgh4IOW8D4E/GYY48Bz1yg1iGji2DcOeSlmAwOAvKmLa2RqjCwyS54iePk3jzm 2WZB4wQSlIB+6JEcebSotOR23UvuQu1zuZjlqufY8T+18BwB+mjfWV1CUZPOQmD8o/1cCmSm+vx Nl92W9jTFAF5cmSfyb/f8GMFt6NEttGJYnStR3a81reHjv9ZRR51qENjI5e25k/jQJCXd3UPOkn VK4CMwoDS8AX4if3fAz7Xy0vFmUli1StIimN5VyLN3vKOkJkTpWtaZCJJOmCHe9IAbowOlFsNnW k6Y28aimDNRKUNEx+8g== 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-29_05,2026-03-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 impostorscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603300077 On 9/2/2025 5:41 PM, Dmitry Baryshkov wrote: > On Mon, Aug 25, 2025 at 10:15:58PM +0800, Yongxing Mou wrote: >> From: Abhinav Kumar >> >> Introduce the `mst_streams` field in each DP controller descriptor to >> specify the number of supported MST streams. Most platforms support 2 or >> 4 MST streams, while platforms without MST support default to a single >> stream (`DEFAULT_STREAM_COUNT = 1`). >> >> This change also accounts for platforms with asymmetric stream support, >> e.g., DP0 supporting 4 streams and DP1 supporting 2. >> >> Signed-off-by: Abhinav Kumar >> Signed-off-by: Yongxing Mou >> --- >> drivers/gpu/drm/msm/dp/dp_display.c | 21 +++++++++++++++++++++ >> drivers/gpu/drm/msm/dp/dp_display.h | 1 + >> 2 files changed, 22 insertions(+) >> >> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c >> index 78d932bceb581ee54116926506b1025bd159108f..a8477a0a180137f15cbb1401c3964636aa32626c 100644 >> --- a/drivers/gpu/drm/msm/dp/dp_display.c >> +++ b/drivers/gpu/drm/msm/dp/dp_display.c >> @@ -33,6 +33,7 @@ module_param(psr_enabled, bool, 0); >> MODULE_PARM_DESC(psr_enabled, "enable PSR for eDP and DP displays"); >> >> #define HPD_STRING_SIZE 30 >> +#define DEFAULT_STREAM_COUNT 1 >> >> enum { >> ISR_DISCONNECTED, >> @@ -52,6 +53,7 @@ struct msm_dp_display_private { >> bool core_initialized; >> bool phy_initialized; >> bool audio_supported; >> + bool mst_supported; >> >> struct drm_device *drm_dev; >> >> @@ -84,12 +86,15 @@ struct msm_dp_display_private { >> >> void __iomem *p0_base; >> size_t p0_len; >> + >> + int max_stream; >> }; >> >> struct msm_dp_desc { >> phys_addr_t io_start; >> unsigned int id; >> bool wide_bus_supported; >> + int mst_streams; >> }; >> >> static const struct msm_dp_desc msm_dp_desc_sa8775p[] = { >> @@ -1213,6 +1218,15 @@ static int msm_dp_display_get_io(struct msm_dp_display_private *display) >> return 0; >> } >> >> +int msm_dp_get_mst_max_stream(struct msm_dp *msm_dp_display) >> +{ >> + struct msm_dp_display_private *dp; >> + >> + dp = container_of(msm_dp_display, struct msm_dp_display_private, msm_dp_display); >> + >> + return dp->max_stream; >> +} >> + >> static int msm_dp_display_probe(struct platform_device *pdev) >> { >> int rc = 0; >> @@ -1239,6 +1253,13 @@ static int msm_dp_display_probe(struct platform_device *pdev) >> dp->msm_dp_display.is_edp = >> (dp->msm_dp_display.connector_type == DRM_MODE_CONNECTOR_eDP); >> dp->hpd_isr_status = 0; >> + dp->max_stream = DEFAULT_STREAM_COUNT; >> + dp->mst_supported = FALSE; >> + >> + if (desc->mst_streams > DEFAULT_STREAM_COUNT) { >> + dp->max_stream = desc->mst_streams; > > We should keep compatibility with earlier DT files which didn't define > enough stream clocks for DP MST case. Please check how many stream > clocks are actually present in the DT and set max_stream accordingly. > Now these DTs should already have the MST clocks added. >> + dp->mst_supported = TRUE; >> + } >> >> rc = msm_dp_display_get_io(dp); >> if (rc) >> diff --git a/drivers/gpu/drm/msm/dp/dp_display.h b/drivers/gpu/drm/msm/dp/dp_display.h >> index 37c6e87db90ce951274cdae61f26d76dc9ef3840..7727cf325a89b4892d2370a5616c4fa76fc88485 100644 >> --- a/drivers/gpu/drm/msm/dp/dp_display.h >> +++ b/drivers/gpu/drm/msm/dp/dp_display.h >> @@ -29,6 +29,7 @@ struct msm_dp { >> bool psr_supported; >> }; >> >> +int msm_dp_get_mst_max_stream(struct msm_dp *msm_dp_display); >> int msm_dp_display_get_modes(struct msm_dp *msm_dp_display); >> bool msm_dp_display_check_video_test(struct msm_dp *msm_dp_display); >> int msm_dp_display_get_test_bpp(struct msm_dp *msm_dp_display); >> >> -- >> 2.34.1 >> >