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 D23BF37C0FE for ; Wed, 22 Jul 2026 06:36:34 +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=1784702196; cv=none; b=FkZC9I1QuIYLKxVmFvVk91PttGbT+E0G6JTnuY/pMrTGkPmvxBpPLuBOBmxsyq2/1n6b05r33ruSpvk7w64TxwYEb0YBNhZfP0Qv7K4WFsYeGecq4xjT2Ai0i3eJlWmpFiZr8I/dmabGkAJsFlFf9ZGW1OkkXGXK0qdRUn83wJw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784702196; c=relaxed/simple; bh=BzOvnMI5yT23J0skjUtVdX/YbK2+8ydFXE2ObmImkrQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gl+kKUauVbZ/MiE5ZD0rQ9aqLq4puFhlKRuvjq2wHWkSMCBvzJzfHieUs+E1nOHEZDoEyAnaY+WfzS8lbBc9mQAIAhZxY08qUZNBuwGHock0ix6zo5COLe97mX3rNPMDDfd517C/iAcffY9tUUrm75urwgF/Zkb5/Li2gvvevjQ= 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=n7HSxYmR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LPcfYKka; 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="n7HSxYmR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LPcfYKka" 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 66M53hQs4168753 for ; Wed, 22 Jul 2026 06:36:34 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= Q3fc9Te4dKFk2JaGmRMxsej67CBbIGs9m76jWKgHR1g=; b=n7HSxYmRty0vw2QN LYI/22+5XXVmJlrhWIJUD8pPw1zDloEnRbZmBMC+GXQNwEwTOSQUmZ8Aw+b/3JCW x1eLDiYdstc3oEAKvdiaccfd9kUv1aXHXqypMjbxjceHOGKdftGgVTYHMjjFN70x ShkQEpFPCQQxZIXqjkJGpx07D/NUG7rBkc08C02obWT3rmlLu4Gzlv3gWsAgJyB3 6+bnTobeUMkRREC+htRkK/KveIvYpQjf1mzKPmMvOk18EHCMpR2ckMH5R7mOG3U6 9GY/gO+ZU59oQFJ/z0aTAG3BZuLkYpOm1488O2GKR7TPWJBUHkE6Fq+wS4Ujird/ ilh0dQ== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fj6r3mpft-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Jul 2026 06:36:33 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c110a3b6aso142353001cf.1 for ; Tue, 21 Jul 2026 23:36:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784702193; x=1785306993; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Q3fc9Te4dKFk2JaGmRMxsej67CBbIGs9m76jWKgHR1g=; b=LPcfYKkaVLkRdUwjlnlKGUh60Nsb4NAI7bnYyWdIS+OwmO6ArsJGXZwHJiHbyJvtDT HujDEIRp0l5TIhYA3pLeUPg7GuTs7vle8ldGXpNO1z+lLpQ8lZlWVtH/Qp3IBAsPSnft /lV05FjrkNivalNO6yHbnHgr5sjV118Aqw1K7NZ1Uak6LHvObocJFgp4AVVbw0yIcGqZ M6VbPqI6/QQMTBYCEa4Spu4ATUsZTqk3RTKxcmUgFXPfW+uNEZvw7eU9j8JnbqmUqFoI elMaLnXnHXZHOmi92Si2UL7kWjj0oVGiJRzHZOaANf3l1l6S8Q5SiXzzrI7OjaFhpJyH QTYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784702193; x=1785306993; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Q3fc9Te4dKFk2JaGmRMxsej67CBbIGs9m76jWKgHR1g=; b=GdLmShq4ezBB0cCaqPCPA145/4+weJs79QFMUuNqxbxeTjChEQCtwxcIh2G3jzzTpB jjInulzRRoOVRd69cAZ/7TehbOPPsUwqafcY/4VA6tG4BfjqdrZNqIa2hdtbkuwfMxTr u7umxu1VKzgSwq/NW87p4Kjf931MdP/X3rJM3pEyKkj7hBlMVgvCyVDIyCyH5J9WjrRb w3p3U3PR4G3DkC5BDKTP4JmBHKuJ1KH8HkqqNCIDwIlCvgDtctHj0HlIpFGDf2ELxp5Q mt8qiIvCSjXBJwzRz4IJVcE0FlEnZ35VFtc1noe0J0aXat5EzAOhoUqgQywztsw37xTV 4cUw== X-Forwarded-Encrypted: i=1; AHgh+RoMpnS3J3vR2UwUi9KAjz2jx1DyBCBbqWLYNSoALaa7GGBddXO6PLWlh8CYihu+/ySkXwhe6qq5tSy0bzo=@vger.kernel.org X-Gm-Message-State: AOJu0YyegD70eYlhYxLt/tHEiJZph8NwSkprOFZoQUqDeMk6XOXuF10M 4bYvBT+rXsu9VVyCClVkMmcOYSgDppbBDnCc1EtTvYC36nIEqeOkeaH0tEvE0an7XN9owYBOQS1 we1SaKppfWDghJYUWk6zJG00vxDhaCkA7PBg8iOJ4n/2CE1BasJGyBTSWq3TgMNp3Wxw= X-Gm-Gg: AR+sD11ZEjqQMfWasufPIhMMWxwyxXyADKBtqxWU5UsIBHC4QWnXZn+Z4yqS6SbMVvD sOUzU3eRleQRzki07636D9lCKkOGu1yEB+aNo2maLzo5w33HQAl1uiiRalViCF4Akd5aehAMEGN 9dVWgZi2DN9Z2IJFQpmZBma9vVYh3JlhcHC284Em4akiPNsUYoyEusEOUJMmLwTnlEcVnvmJzJM 9uQ2/oLyhYYffxP4t3uBq9YguFYxK5rMfX5kBpAWm8CLtE+aWabglg8DaIBq7thkX+A3lBC3oTH 53b1UGmZB6A9igJD0qecsVtnJ88rGX5QDCck1Skn2jPnxsVnsmgBGs8bHEwVHWapoHqcMDVUJju rhjIiUbZy/PfV1hQ/BeXqQOI93zV7YdmbVKMkpB3Av3NxmZEfsimkpYC9rhG5ZLPCLuakOZigEa g0uQnJdcPdphgwOw== X-Received: by 2002:a05:622a:13c9:b0:51c:7b12:1213 with SMTP id d75a77b69052e-521403455d1mr205562281cf.81.1784702192875; Tue, 21 Jul 2026 23:36:32 -0700 (PDT) X-Received: by 2002:a05:622a:13c9:b0:51c:7b12:1213 with SMTP id d75a77b69052e-521403455d1mr205562131cf.81.1784702192459; Tue, 21 Jul 2026 23:36:32 -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-5b2a9b8c6f6sm309696e87.4.2026.07.21.23.36.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 23:36:31 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 22 Jul 2026 09:36:17 +0300 Subject: [PATCH 02/24] drm/msm/dp: drop the always-true yuv_supported argument 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: <20260722-drm-msm-display-interface-v1-2-368c10fe62fd@oss.qualcomm.com> References: <20260722-drm-msm-display-interface-v1-0-368c10fe62fd@oss.qualcomm.com> In-Reply-To: <20260722-drm-msm-display-interface-v1-0-368c10fe62fd@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Luca Ceresoli , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann 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.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5212; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=BzOvnMI5yT23J0skjUtVdX/YbK2+8ydFXE2ObmImkrQ=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ1ZCyjNde7nU/Swzl0bM98xeFeMw7/ePXNP4tkuBr99ee FB72Tmsk9GYhYGRi0FWTJHFp6Blasym5LAPO6bWwwxiZQKZwsDFKQATiedi/8Vsk6vvmbc6vDop 7GXQSUm1GhEL0QCWtVqZurIfKzRf9jtliDMKum0Qnvju29oURoMXcpVyP7zftfZcWjt7Zkuham/ k29AtSx1swy+encJx0k1y+lfb6b0lXjl3Undp6dX/nHVj57m4ucc9a5SnnZxUPv/pUpF2Mbn3by rzSzbee6Dj0sW0+vynrZMyLE+YTGX2W6HyMNG1rLOfT/fznvPFJjO81FnzQzncw+V+PvgYkKBfI fu3r2JrX+0/py8vVXprBf7ocf6uqjB0UvE5yxXUs+v+/tjISrFTKQwylQKXxKaxtna/YppgKqy4 f87i8mclGpoPfKW9Fcu9Z53ST1fyeBOWP/NiO7dq8B4A X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIyMDA2MCBTYWx0ZWRfX+/Am1sxw8du9 IPL96VodfH+boidqUPe9S5sVxNlVc4TuCqa+sG/UjsaRu2aHVLJn1PQtiDOdcW+zp8C2mn9vanK tE2IW/K5qzZ4kbUQloykaTUAfMVf0gF96RG3wjrGysFyBkCM7wXGwoMXIDlDBBLBe7o+q9hCwP5 04+KHjpCov9xTj48JCEeyAV9o/ZgV3+rev/+jjKp13lKmquXsBo6yW/mM+wJEATSaDf2NNxf4p3 F7tPt9u1pbMKdj5orZG5W+4VQgX/1pB6VQg8YrLFK8FM6b5jxqt0RMjUsyDUa61/HWZNJUX1UTH ISvFtk+oz6t+wGg79Fq/Dm7+y76tDttx6COLzyDurlTCltz4x+b/cV4FFzqPG4SEv5IAhu3Ba6h GqJeW34LKmzmRhO7WIdE8I6bn5JAl9M57ovhT7utxS0uSiN6iLqBPneqOPfGxIE9mdtVz4f9mtO VmujmuumyZJpGsIxegg== X-Proofpoint-ORIG-GUID: RFRejaecL9EusvNzmsRp6X6zxSJu2rP6 X-Proofpoint-GUID: RFRejaecL9EusvNzmsRp6X6zxSJu2rP6 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIyMDA2MCBTYWx0ZWRfX3jk1kBBn+XQ9 +FDRsXd/E43nz3/W+cXkyCZV5LD/Qk7ouXJY0C9ZhqzUNMqPFnEK26NhbSaeym0XHl7r3FN995Q gnKWWvTG24HhkOS4pVBi6N+j5JcprTA= X-Authority-Analysis: v=2.4 cv=SIRykuvH c=1 sm=1 tr=0 ts=6a6064f1 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=nfG2dtz5EEHLLqw77CsA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 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-22_02,2026-07-21_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607220060 msm_dp_modeset_init() and msm_dp_bridge_init() take a yuv_supported argument, which the DPU driver fills in from the presence of a CDM block in the hardware catalog. All platforms that support DisplayPort have a CDM block, so this argument is always true and only obscures the code. Drop the argument and set the bridge's ycbcr_420_allowed flag unconditionally. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 4 +--- drivers/gpu/drm/msm/dp/dp_display.c | 4 ++-- drivers/gpu/drm/msm/dp/dp_drm.c | 5 +++-- drivers/gpu/drm/msm/dp/dp_drm.h | 3 +-- drivers/gpu/drm/msm/msm_drv.h | 5 ++--- 5 files changed, 9 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c index da3556eb6ecc..ede935a426d1 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -653,7 +653,6 @@ static int _dpu_kms_initialize_displayport(struct drm_device *dev, { struct drm_encoder *encoder = NULL; struct msm_display_info info; - bool yuv_supported; int rc; int i; @@ -672,8 +671,7 @@ static int _dpu_kms_initialize_displayport(struct drm_device *dev, return PTR_ERR(encoder); } - yuv_supported = !!dpu_kms->catalog->cdm; - rc = msm_dp_modeset_init(priv->kms->dp[i], dev, encoder, yuv_supported); + rc = msm_dp_modeset_init(priv->kms->dp[i], dev, encoder); if (rc) { DPU_ERROR("modeset_init failed for DP, rc = %d\n", rc); return rc; diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index e0c44eef3aba..5ae5eed7e010 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -1318,7 +1318,7 @@ void msm_dp_display_debugfs_init(struct msm_dp *msm_dp_display, struct dentry *r } int msm_dp_modeset_init(struct msm_dp *msm_dp_display, struct drm_device *dev, - struct drm_encoder *encoder, bool yuv_supported) + struct drm_encoder *encoder) { struct msm_dp_display_private *msm_dp_priv; int ret; @@ -1327,7 +1327,7 @@ int msm_dp_modeset_init(struct msm_dp *msm_dp_display, struct drm_device *dev, msm_dp_priv = container_of(msm_dp_display, struct msm_dp_display_private, msm_dp_display); - ret = msm_dp_bridge_init(msm_dp_display, dev, encoder, yuv_supported); + ret = msm_dp_bridge_init(msm_dp_display, dev, encoder); if (ret) { DRM_DEV_ERROR(dev->dev, "failed to create dp bridge: %d\n", ret); diff --git a/drivers/gpu/drm/msm/dp/dp_drm.c b/drivers/gpu/drm/msm/dp/dp_drm.c index 06881bfd6181..4f615b45fff7 100644 --- a/drivers/gpu/drm/msm/dp/dp_drm.c +++ b/drivers/gpu/drm/msm/dp/dp_drm.c @@ -243,7 +243,7 @@ static const struct drm_bridge_funcs msm_edp_bridge_ops = { }; int msm_dp_bridge_init(struct msm_dp *msm_dp_display, struct drm_device *dev, - struct drm_encoder *encoder, bool yuv_supported) + struct drm_encoder *encoder) { int rc; struct msm_dp_bridge *msm_dp_bridge; @@ -259,7 +259,8 @@ int msm_dp_bridge_init(struct msm_dp *msm_dp_display, struct drm_device *dev, bridge = &msm_dp_bridge->bridge; bridge->type = msm_dp_display->connector_type; - bridge->ycbcr_420_allowed = yuv_supported; + /* all platforms which support DP have a CDM block for YUV output */ + bridge->ycbcr_420_allowed = true; /* * Many ops only make sense for DP. Why? diff --git a/drivers/gpu/drm/msm/dp/dp_drm.h b/drivers/gpu/drm/msm/dp/dp_drm.h index 041aa026ae2e..3b046822f05e 100644 --- a/drivers/gpu/drm/msm/dp/dp_drm.h +++ b/drivers/gpu/drm/msm/dp/dp_drm.h @@ -22,8 +22,7 @@ struct msm_dp_bridge { struct drm_connector *msm_dp_drm_connector_init(struct msm_dp *msm_dp_display, struct drm_encoder *encoder); int msm_dp_bridge_init(struct msm_dp *msm_dp_display, struct drm_device *dev, - struct drm_encoder *encoder, - bool yuv_supported); + struct drm_encoder *encoder); enum drm_connector_status msm_dp_bridge_detect(struct drm_bridge *bridge, struct drm_connector *connector); diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h index 3d5679be488e..0ec0622d9217 100644 --- a/drivers/gpu/drm/msm/msm_drv.h +++ b/drivers/gpu/drm/msm/msm_drv.h @@ -354,7 +354,7 @@ struct msm_dp; int __init msm_dp_register(void); void __exit msm_dp_unregister(void); int msm_dp_modeset_init(struct msm_dp *dp_display, struct drm_device *dev, - struct drm_encoder *encoder, bool yuv_supported); + struct drm_encoder *encoder); void msm_dp_snapshot(struct msm_disp_state *disp_state, struct msm_dp *dp_display); bool msm_dp_needs_periph_flush(const struct msm_dp *dp_display, const struct drm_display_mode *mode); @@ -370,8 +370,7 @@ static inline void __exit msm_dp_unregister(void) } static inline int msm_dp_modeset_init(struct msm_dp *dp_display, struct drm_device *dev, - struct drm_encoder *encoder, - bool yuv_supported) + struct drm_encoder *encoder) { return -EINVAL; } -- 2.47.3