From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 1950926F28A for ; Fri, 14 Nov 2025 03:43:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091824; cv=none; b=f/4OKSRRnsqTwjO7ySVoGDwze6FcqCdGZ9BuZ0E4EsfVZA+OcZV6rfU7Q38PzBHYyYphsz5L19iNeUY7pu3YSyQ5p9AotAGLE6qbZbZ9gKU50fo++6HzNT4Gp1zMt/+LEKmo3mst4wkpubHHLBmohuXvpfCLPOl7rOWdb0xgkCA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091824; c=relaxed/simple; bh=Kg6ZgzT0hlwWlWupJv9iz+ZS8koIsZ11L+KUs3ZMWyk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CbyQVSW/HFfV4aOoKQVh5xe4/dKOtIkn3AwFr3mKV95kTyYSsnAcZjC6qh8us8lqcJPce4RYI6HlAsFX7nla8a4aHccoZtxYLtC5UOicGRw9yurHCNfiXso/XCDybSj1egLSf90WJEgchUaundISxVT+vGaWUu908g8eGBt/m/E= 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=D0FqKBvM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IzA1fkne; arc=none smtp.client-ip=205.220.180.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="D0FqKBvM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IzA1fkne" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMagdg1477709 for ; Fri, 14 Nov 2025 03:43:40 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= sybVXgpP0xgwK0gFVwiFyD1rwurwukp6TOQLmHVXzOc=; b=D0FqKBvMlp6q0wcM xFwMxTyxv7m2iTTVVNL9BDnlG2L3+iFb3AdPG4GccUpFWG4Qv1CLXnndnA31mL51 QLW5+3JAqt2lDGDT+gXQ44FwtXsPfQlz8TE5fmxFLmHY06nm/m5IPLnnZV/GJfWI 9bJFAeFTfEkEqcRoT0qa0mNDv0RWUA2874Lvawv+eHB6S27EoFm2c7dRkmXffAe6 vN1wYrGlSW+sjd/0fceAOS8v23IHMwws3LHja2CGnltydQhCGmIF8u7zaVYKKNgS 1VCCaFD0bOqjBd1BFN87ayVy0OsLQW0iNFe4OTCnmoC0lLp7dcb9XZy6Jc/edzm9 ti66IQ== 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 4adr9drppx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:43:40 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4ed6855557aso73579881cf.1 for ; Thu, 13 Nov 2025 19:43:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091820; x=1763696620; 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=sybVXgpP0xgwK0gFVwiFyD1rwurwukp6TOQLmHVXzOc=; b=IzA1fknerg4SakTFL38gMwQkzqUr1iT9+74PFGYDHev8RtPmZoS1DTBftIkdzEwDTj UWQf4FR4Zj8nG/9hQ1ogvpU6BH9fu0Z6wFi8kzc8Cov6eH3ngT816/KyPcU4R8pjnVkr 31HGmCurDIEWxjeq9DKmj/0q2li5DQvScMHcZUxDIeg13gadt9E0uguwsIwS362PxdgI Nk0/MFkx5jBjLhlEJyS6QKjqfnI1STJZM73kjJn4xREqs5sLuJKF6BFSORlny221JKnr K/pyc+bNpJj1JrE1kGchNEGb5kSWwZ2oaxJFyBLtD81rxj9DRbNgFof94gCrGF9gVhuy L0uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091820; x=1763696620; 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=sybVXgpP0xgwK0gFVwiFyD1rwurwukp6TOQLmHVXzOc=; b=PXtODVfZlpT/uZKrpMfDWVEYWcbD315O5Ym9YsvUQ4Ge1eo6gNW7kRx28OWTNa4hZa yIKpQ+EbZbNp8d1i19C2G5Td79FDogvhJSn6Mth30JouldLhbj/cbDMkpwdlvVU1LEeK FvV0nK+06Xlm8xEfblEc2e3e/kgvnmvb6IcwjhDtOtWvvrSFI8t99uP1cbvZmQL+nD4A lrbguG8e2ze71Ch+GNP0NJaZHZTA14yNFIAh6cZsyqPbAG/54G43MkeYqRnDj2dZSx82 tacRXnMc5biN7YtrQ3ExU29wdS6ylnx6pwCG61mBRCME5X/EptyQH2Unz/wG7vuaPHIu 2IEw== X-Forwarded-Encrypted: i=1; AJvYcCUB8ub/BiEHvQZNLQrD9wrAPNExDYnlg3I8rFwTCfOUvbMpR1Fkp58A31Z6mzp0zv15+9zf3DisHISL3MI=@vger.kernel.org X-Gm-Message-State: AOJu0YxMl/z+kcoBlY2PmXNo7mZ3pm0irB+3rChKPLZutbnNTWX7hs+R jVCACSJXGVFjDjkWePxq+oZXNr9fpJgW+HUjRx+Dj9EYmY1QP5/2SvG8K6MhnJeo5QPL+AYiNja jjExt2eFCGV3oRZ5mPgMrTmnbE9xfql1pHufzKLfW+qwrlSjcGg2Y1zIyvgkcPUVp40Q= X-Gm-Gg: ASbGncvzttXYO74BI7RFaKV8CNAtEAmzkm9EB+lViKkwMG+aQtuEp8sMC1VuZVQQgNz UHvSQYN1uR5dGRsUAC8wa7nq+pBpvl8JTXzERwp8F93VT+rHwqtLVDgsX9IXby24p1CWoJ0cvE9 4XoDUBcL9NmxcRxFYlOKGZAvRXm8VRRSRuiXebDEAzrBxDkWxl8rX4rjmBVKe0pBj7WHfqpfofv Ix3y8JBNT0rdrE7tPsNgt/P0V0JoNdNbA9tBo1pVbNqj31J910xppUtdXIB6+wl4ZMMsGmtUDXj OJ8YR3cOLdqGizOrK3MIfSijSzPI3bVMMPydX/ED4sKZPs7mPTH4kO8GUEcu6+VGwPZRysxbmQk 3Iz0aPODKxHMdrXXipmXQC3gVNjVC/PeA1grW/4pytWD9HZaP2URilZ90aF/ZAyBRfWmk+zkTsP mQ4ZwSSQh8Irkl X-Received: by 2002:a05:622a:1a0e:b0:4ed:9a2b:a906 with SMTP id d75a77b69052e-4ede6fa96bdmr67943441cf.5.1763091820008; Thu, 13 Nov 2025 19:43:40 -0800 (PST) X-Google-Smtp-Source: AGHT+IFwF718hmTMotBQ0AAu6G10L2telBfH4RNG+l+ASha+DbrSIb8DzyqDzAQHoCEuZwXoRWZlPg== X-Received: by 2002:a05:622a:1a0e:b0:4ed:9a2b:a906 with SMTP id d75a77b69052e-4ede6fa96bdmr67943321cf.5.1763091819450; Thu, 13 Nov 2025 19:43:39 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:43:38 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:28 +0200 Subject: [PATCH v3 01/12] drm/msm/disp: set num_planes to 1 for interleaved YUV formats 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-1-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1685; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=Kg6ZgzT0hlwWlWupJv9iz+ZS8koIsZ11L+KUs3ZMWyk=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVkm1hatXLE3E1Z6sn9t7C1RLJuKNM5z0fBO SSwOmzGLEaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZAAKCRCLPIo+Aiko 1aH7B/9HMrkK3oPMs1TRbKq0LG8kaNHUS/SGqVhZ0qTQwUFwh0/DSW3SDDrhamIONkuERpJHQsM iQZs76Ao0FVDkDY4yTRV3AKESnW2CFPqZH2gp1GhbkR/KOUS99SLI++Y5VRA5coa6E67SFP0zE1 94Akz+QMs4+8zptF4iOYePvrMzLqxrqS5uWCZF/rplucL2mldcfGd1WMXs8LBf96dyyaz2QIW5r MiAA/Dg9jMQNe4TKUWonszVp3YLINZwXj0LPwNPWUcPm80EYkEfCOIL5Tmsze2EMifUBN7s875g HXl2P4rKkORTBfnE2G/SyOpddp7REMXcsYvPSTpF26eEqZ6I X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=IaiKmGqa c=1 sm=1 tr=0 ts=6916a56c cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=DB8TyEHaRv6uusbT9jkA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: VoCB0QHslcKXc457P9fM-qZPskiVtaQd X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfX3IxGQGtthFql ekqI9FMFXGIwoJZ2GvPwSMxKHepKt9lKxDOgFsGTzz13VzWFSGFhiDAF/Rz1NHjn/Z3n0t0Vaec oFA/ErKXf4B4wDVm3yRehSK34ZDJJ5H36/SbMlKjce5R5R/rI5Z5xDTTGYV8fjJY8NRnYlIu3AV /5OuQU73J8bfd+cKwnikD7upzfQHiMWMSwg/eGn3OPzcCA6ttGWB4kI8EwWgl6YJdxOEiAp9oZT 2rluQ1KkPuVUFGrn7YFfaSo7boMPbe2gJaqDnQ2LcVRUvr4AX/cJqXIeVeulxvj8rkBm5ZPFc4C dpoXtzcE9HUhr5pwEJduDbIf5C6/sdMPxuwyf7u0+C3I4zDU+KVLqRkzoBJgmMSxv/eDmuZQvw2 ozDRbeye+iRmTcKC1NvsteX94rR4uA== X-Proofpoint-GUID: VoCB0QHslcKXc457P9fM-qZPskiVtaQd X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 adultscore=0 bulkscore=0 phishscore=0 clxscore=1015 spamscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 Interleaved YUV formats use only one plane for all pixel data. Specify num_planes =3D 1 for those formats. This was left unnoticed since _dpu_format_populate_plane_sizes_linear() overrides layout->num_planes. Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support") Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp_format.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp_format.c b/drivers/gpu/drm/msm/di= sp/mdp_format.c index 426782d50cb49d57a0db0cff3a4bb50c5a0b3d1a..eebedb1a2636e76996cf82847b7= d391cb67b0941 100644 --- a/drivers/gpu/drm/msm/disp/mdp_format.c +++ b/drivers/gpu/drm/msm/disp/mdp_format.c @@ -479,25 +479,25 @@ static const struct msm_format mdp_formats[] =3D { 0, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C0_G_Y, false, CHROMA_H2V1, 4, 2, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 2), + MDP_FETCH_LINEAR, 1), =20 INTERLEAVED_YUV_FMT(UYVY, 0, BPC8, BPC8, BPC8, C1_B_Cb, C0_G_Y, C2_R_Cr, C0_G_Y, false, CHROMA_H2V1, 4, 2, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 2), + MDP_FETCH_LINEAR, 1), =20 INTERLEAVED_YUV_FMT(YUYV, 0, BPC8, BPC8, BPC8, C0_G_Y, C1_B_Cb, C0_G_Y, C2_R_Cr, false, CHROMA_H2V1, 4, 2, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 2), + MDP_FETCH_LINEAR, 1), =20 INTERLEAVED_YUV_FMT(YVYU, 0, BPC8, BPC8, BPC8, C0_G_Y, C2_R_Cr, C0_G_Y, C1_B_Cb, false, CHROMA_H2V1, 4, 2, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 2), + MDP_FETCH_LINEAR, 1), =20 /* 3 plane YUV */ PLANAR_YUV_FMT(YUV420, --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 CF49126E179 for ; Fri, 14 Nov 2025 03:43:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091828; cv=none; b=ifDvk+9MVetaluxbSGFI9mDE39ImiYOfgNfKMpdSO6WNIRTjJTs7yxUarAkCw82HRAzykJVkRtAyMamYekTjP/YnLdih/1A/flu3vKHFAMNeTl/0BsQThnhgR97zh77lGhlgBZ9bcvopwUJRjeJVpBr2OaoYxOK8qdhNBPVnieU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091828; c=relaxed/simple; bh=qo+0mdHe4wTEzglRW9VqAiidH3uCrmPm+bJorIxSg/w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VyEDsK+alSUmJqYFmPTuRfwjdi0TWNOqw6UNII45Qe7NIFVj81uDW/GCSiUui3VZ3J2+bmV6f70lC3tF7FZd1yG9lCjJJ9b20yklHMEdxK6EpjhWBqzeJsnkcUmdNJIpQ93VmwrIAbXcUcsIsH4oECZmZDm1AMWWev/tnBVgJSI= 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=ZcJFBhbU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=WXw6OjsA; arc=none smtp.client-ip=205.220.180.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="ZcJFBhbU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="WXw6OjsA" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMb2Z01430755 for ; Fri, 14 Nov 2025 03:43:43 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= lnFWhLARTgAIeqtOy9WuZ4+XVm2pmT7HqfrinJnd6GI=; b=ZcJFBhbUwSUamuzu ws1VbCuoyw3lCbYUFQr2z7CzAfy/kO743QgEef5SujQxgozDudmh15SEuDJjpXet hGPnUDW9PYbJwhiRlyDC0XpJGwu0jkLg++Dj1LTcU5dRPr2KX0JVBM4KeDSsGYo7 g30vIZUQdT6GfaOLEYuZN9zSgdxNjV1fbBWDLY/Dj9HU3dy+k8ChmtLKAPsZO1O3 CApPb+Xfrf2Qc1Jxu2fDf3WgCIoFYKm7S4tw1+0rdHhw57Qf0RR7mnykKiADble3 yLe9PYoztGrUvSZFKEO2TOHGNqyonuPKWFmfOtU/mmxLKDJI4Cd9Mk5wnYV64bjf YJeQIQ== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4adr9g0p4n-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:43:43 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4e8b33c1d8eso48881101cf.2 for ; Thu, 13 Nov 2025 19:43:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091822; x=1763696622; 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=lnFWhLARTgAIeqtOy9WuZ4+XVm2pmT7HqfrinJnd6GI=; b=WXw6OjsAFoGSRalkTojDU1Ut7GdiCvNsIiijqnS4TnFNPbbWbRdCYG0TFBdgeSqMZM wNAFflmXAEgREiGpn5ZSCGBAal6FoVFZfgXXrhGHJxxN9xLJnxaEb+7hawovd/SDCsLt MpBmkTeoYonkSsfBu7Kc3leybvUdtIo0gHJUv0TzZu+n/0AupHl8WlCBeLgwJC4ZpCtd k5bGLZu4g+ugMZCedP+xLPrnbjGEThoHo0Ww8lcd18VRCppsRI3gzRy1/RcQpxvEFUB5 WWS0J2Twq4z6GhK2gZck5bknQNqlrhyX32ZcTffMdNMivmbfn80U6RI8p0dsP1pIVCp3 5nXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091822; x=1763696622; 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=lnFWhLARTgAIeqtOy9WuZ4+XVm2pmT7HqfrinJnd6GI=; b=TmZ60qifPh4vSWIFyFUqT7YzGE0MWsWt2Be4pE1gfMMhDpq5NaSK4FRHX7EZRVlr38 TH04f8ZFvGYccp+vJ6vROo0YqH5ImsA/pYyoqltEqL6n9VykBYMY82eVL1pgy9mxE9r7 Khi1M7iLQtdQgpBULk3CbtacMhinO9bRWsQ732BTnzMOdm4J2lQtetaAFKxQ4DGtKGVs WUXiJC9QkX+vNIN2bmY6SwoIaHhzGcPaGBsDj6zauGPECB5xYTBoL4de5625rKsmHQWl Xj82Eg4ibXZ/6gd24zNPpSSW7LNwCjrr83BJuH01/AVMGOuWhRBFJGhKobeaCr/KBqb7 tzLg== X-Forwarded-Encrypted: i=1; AJvYcCXk77x7XFpmsPsNdTeR57e4iHfJAvmwJzyYRjn6xIekGOAVonLt0dSf8E0WaV+711FGkbHFOQaRoO8/EBA=@vger.kernel.org X-Gm-Message-State: AOJu0Yylj2x2FWdxlOMXBNu7HRJ/dud9y/tn3fZYFoM1eaxWhukm2HRd X/Q9qIGpm7dlr9R84ZvopQW6DksCMQpP0plwcHC9LWV7M16jDS9Bb+gz+64dRwOt0NG1msT/YJd mikJSujfrFkyIX7Gz9fQ76oksKu1JeDx2VIrFd2R2ZuEp8CImkqHgFmqw3eF5Q/l1H8s= X-Gm-Gg: ASbGncvZE/Xl2HVBbmJ25GNUsTuygrwqJJEezvLsyQbpGIy2KsOBmBC8k8bhnbm5TkS aCr/7EQ4qtF+1yXinyGYnv2LLKpVDF2LUd4uWtFzW3dHtv6TDdV8WqjYsuhLN17AnjACMaVdSAU Z7C4xhVRFeyHCMjT1526epK/Bp711eJ2QtSOm+PtolSQtEMVymAOHU1kijUxaXhEDSC1DDpZPO8 oSI9q6+p78auHOVEis0tNKyfyB0BUfsdFEvgGwnkCH7nUeNpQ62iDwA16niLShJccn1LPkMAAjx g7QtJVF4YlTk3hkYtYTjcGmdl2/7aPaI8GTrqgXENZArco1gYyApHs6+b/mg7yDDtGQC1LXqUco y+rkWpRIIQ0ffDBz4ek2KiTI5+cgs3udYLIKdEYfdlyJVJuwXxJZOixCdGaRo2oS/s3b5QhPpyP c2B/6/Om/4CYru X-Received: by 2002:ac8:5d46:0:b0:4ed:e13c:6b54 with SMTP id d75a77b69052e-4edf212fdafmr29357241cf.46.1763091822437; Thu, 13 Nov 2025 19:43:42 -0800 (PST) X-Google-Smtp-Source: AGHT+IHrnYyrrw/7//b7AdS9zWApmm85oAXtzlXC/36/x/HEP8K0mvRzaKRwjGLIPrKGbQFI2YpdUQ== X-Received: by 2002:ac8:5d46:0:b0:4ed:e13c:6b54 with SMTP id d75a77b69052e-4edf212fdafmr29357071cf.46.1763091822004; Thu, 13 Nov 2025 19:43:42 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:43:41 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:29 +0200 Subject: [PATCH v3 02/12] drm/msm/disp: set num_planes and fetch_mode in INTERLEAVED_RGB_FMT 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-2-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=8457; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=qo+0mdHe4wTEzglRW9VqAiidH3uCrmPm+bJorIxSg/w=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVlWDURCdBZugAM72XnjM82wZ4YNRzin6c9k SNO1FYbxB2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZQAKCRCLPIo+Aiko 1XLhB/9/0ku58ocOHJtMSF+QHyANj8tpI/X+lUJdTs7TAe9T/mHwoxnc82bfVAXYm7Ao2XeJDCS yfJ55iShKA81iRulzuzqg8cJPmcvxhSPU1mYIZGKR6Zp6q4bAECfIrnFt0zzFw4fqNu8NUSlDbY 1IOIns48mzMzig4+YjVHHzcvFQ+zVpB8W9tkLwLGn4crLurQC8KgeCk1WF838CW3cZliR/vgP7a 91euuavIkP0E2Z0Eq3130KuGYhElz5XaRAJO3lo/N7PXwzgQ08LvwUJLI3/8Mci/O5YW6P4hM0N NkRG9TgUj/VpIkjhk/kmXKSoM6219P4m9FEMn9x577X75Zs6 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=L+AQguT8 c=1 sm=1 tr=0 ts=6916a56f cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=uYEdUiPHXpurYBtsK8sA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfX3uaHbTqFNaqO oyZQHZQMGTrmGY0W51q8fu6hGc6VVt1krwkRwkUnybJZaDop0k+w97oF7JG+k0o1csS8EhHI7dU 7QCYSlyLcNfsNPgnQOJshfjUdRs6qFgfy/irM/NBFEGWg+Fqc0c8DftxninesMhncp6TEaqwV/C Qm/ZByfRua3FWFaU90pGw3S2AwNFT7LRea/toD1YGpjpLHjpsaEX8oGC1dO25tOKFlzVh/A43rC qdbrh3WZNWxMabAWVRHmbTdHnZo1lJcYLVA1358kOvMwxSQnr8whlQeVILAZsplIVlK39KUVdMe aTqb9DwJ1WWe0/kcVy+FihhRVFfLovbF50/9VYLiSJWl2f6iNNUf+LAeH6Z6Ov1bNvI3Khj0RRU d70I5bYPWdTyxZcLiuwcCFprFxLWPw== X-Proofpoint-ORIG-GUID: btX4_HfH6WZ3VxzHxFkV77Pyxucj9g_U X-Proofpoint-GUID: btX4_HfH6WZ3VxzHxFkV77Pyxucj9g_U X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 impostorscore=0 priorityscore=1501 adultscore=0 clxscore=1015 bulkscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 All interleaved RGB formats use only 1 plane and MDP_FETCH_LINEAR. Specify num_planes and fetch_mode directly in the macro and remove unused parameters. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp_format.c | 114 ++++++++++++------------------= ---- 1 file changed, 39 insertions(+), 75 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp_format.c b/drivers/gpu/drm/msm/di= sp/mdp_format.c index eebedb1a2636e76996cf82847b7d391cb67b0941..26be35572fd2ee7456401aa525c= c36025bc52ee4 100644 --- a/drivers/gpu/drm/msm/disp/mdp_format.c +++ b/drivers/gpu/drm/msm/disp/mdp_format.c @@ -67,7 +67,7 @@ static struct csc_cfg csc_convert[CSC_MAX] =3D { #define MDP_TILE_HEIGHT_NV12 8 =20 #define INTERLEAVED_RGB_FMT(fmt, a, r, g, b, e0, e1, e2, e3, uc, alpha, \ -bp, flg, fm, np) \ +bp, flg) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ .fetch_type =3D MDP_PLANE_INTERLEAVED, \ @@ -80,9 +80,9 @@ bp, flg, fm, np) = \ .chroma_sample =3D CHROMA_FULL, \ .unpack_count =3D uc, \ .bpp =3D bp, \ - .fetch_mode =3D fm, \ + .fetch_mode =3D MDP_FETCH_LINEAR, \ .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | flg, \ - .num_planes =3D np, \ + .num_planes =3D 1, \ .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ } =20 @@ -228,218 +228,182 @@ static const struct msm_format mdp_formats[] =3D { INTERLEAVED_RGB_FMT(ARGB8888, BPC8A, BPC8, BPC8, BPC8, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - true, 4, 0, - MDP_FETCH_LINEAR, 1), + true, 4, 0), =20 INTERLEAVED_RGB_FMT(ABGR8888, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, 0, - MDP_FETCH_LINEAR, 1), + true, 4, 0), =20 INTERLEAVED_RGB_FMT(XBGR8888, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 4, 0, - MDP_FETCH_LINEAR, 1), + false, 4, 0), =20 INTERLEAVED_RGB_FMT(RGBA8888, BPC8A, BPC8, BPC8, BPC8, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - true, 4, 0, - MDP_FETCH_LINEAR, 1), + true, 4, 0), =20 INTERLEAVED_RGB_FMT(BGRA8888, BPC8A, BPC8, BPC8, BPC8, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - true, 4, 0, - MDP_FETCH_LINEAR, 1), + true, 4, 0), =20 INTERLEAVED_RGB_FMT(BGRX8888, BPC8A, BPC8, BPC8, BPC8, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - false, 4, 0, - MDP_FETCH_LINEAR, 1), + false, 4, 0), =20 INTERLEAVED_RGB_FMT(XRGB8888, BPC8A, BPC8, BPC8, BPC8, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - false, 4, 0, - MDP_FETCH_LINEAR, 1), + false, 4, 0), =20 INTERLEAVED_RGB_FMT(RGBX8888, BPC8A, BPC8, BPC8, BPC8, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - false, 4, 0, - MDP_FETCH_LINEAR, 1), + false, 4, 0), =20 INTERLEAVED_RGB_FMT(RGB888, 0, BPC8, BPC8, BPC8, C1_B_Cb, C0_G_Y, C2_R_Cr, 0, 3, - false, 3, 0, - MDP_FETCH_LINEAR, 1), + false, 3, 0), =20 INTERLEAVED_RGB_FMT(BGR888, 0, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3, - false, 3, 0, - MDP_FETCH_LINEAR, 1), + false, 3, 0), =20 INTERLEAVED_RGB_FMT(RGB565, 0, BPC5, BPC6, BPC5, C1_B_Cb, C0_G_Y, C2_R_Cr, 0, 3, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(BGR565, 0, BPC5, BPC6, BPC5, C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(ARGB1555, BPC1A, BPC5, BPC5, BPC5, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - true, 2, 0, - MDP_FETCH_LINEAR, 1), + true, 2, 0), =20 INTERLEAVED_RGB_FMT(ABGR1555, BPC1A, BPC5, BPC5, BPC5, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 2, 0, - MDP_FETCH_LINEAR, 1), + true, 2, 0), =20 INTERLEAVED_RGB_FMT(RGBA5551, BPC1A, BPC5, BPC5, BPC5, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - true, 2, 0, - MDP_FETCH_LINEAR, 1), + true, 2, 0), =20 INTERLEAVED_RGB_FMT(BGRA5551, BPC1A, BPC5, BPC5, BPC5, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - true, 2, 0, - MDP_FETCH_LINEAR, 1), + true, 2, 0), =20 INTERLEAVED_RGB_FMT(XRGB1555, BPC1A, BPC5, BPC5, BPC5, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(XBGR1555, BPC1A, BPC5, BPC5, BPC5, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(RGBX5551, BPC1A, BPC5, BPC5, BPC5, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(BGRX5551, BPC1A, BPC5, BPC5, BPC5, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(ARGB4444, BPC4A, BPC4, BPC4, BPC4, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - true, 2, 0, - MDP_FETCH_LINEAR, 1), + true, 2, 0), =20 INTERLEAVED_RGB_FMT(ABGR4444, BPC4A, BPC4, BPC4, BPC4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 2, 0, - MDP_FETCH_LINEAR, 1), + true, 2, 0), =20 INTERLEAVED_RGB_FMT(RGBA4444, BPC4A, BPC4, BPC4, BPC4, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - true, 2, 0, - MDP_FETCH_LINEAR, 1), + true, 2, 0), =20 INTERLEAVED_RGB_FMT(BGRA4444, BPC4A, BPC4, BPC4, BPC4, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - true, 2, 0, - MDP_FETCH_LINEAR, 1), + true, 2, 0), =20 INTERLEAVED_RGB_FMT(XRGB4444, BPC4A, BPC4, BPC4, BPC4, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(XBGR4444, BPC4A, BPC4, BPC4, BPC4, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(RGBX4444, BPC4A, BPC4, BPC4, BPC4, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(BGRX4444, BPC4A, BPC4, BPC4, BPC4, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - false, 2, 0, - MDP_FETCH_LINEAR, 1), + false, 2, 0), =20 INTERLEAVED_RGB_FMT(BGRA1010102, BPC8A, BPC8, BPC8, BPC8, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - true, 4, MSM_FORMAT_FLAG_DX, - MDP_FETCH_LINEAR, 1), + true, 4, MSM_FORMAT_FLAG_DX), =20 INTERLEAVED_RGB_FMT(RGBA1010102, BPC8A, BPC8, BPC8, BPC8, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - true, 4, MSM_FORMAT_FLAG_DX, - MDP_FETCH_LINEAR, 1), + true, 4, MSM_FORMAT_FLAG_DX), =20 INTERLEAVED_RGB_FMT(ABGR2101010, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX, - MDP_FETCH_LINEAR, 1), + true, 4, MSM_FORMAT_FLAG_DX), =20 INTERLEAVED_RGB_FMT(ARGB2101010, BPC8A, BPC8, BPC8, BPC8, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX, - MDP_FETCH_LINEAR, 1), + true, 4, MSM_FORMAT_FLAG_DX), =20 INTERLEAVED_RGB_FMT(XRGB2101010, BPC8A, BPC8, BPC8, BPC8, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - false, 4, MSM_FORMAT_FLAG_DX, - MDP_FETCH_LINEAR, 1), + false, 4, MSM_FORMAT_FLAG_DX), =20 INTERLEAVED_RGB_FMT(BGRX1010102, BPC8A, BPC8, BPC8, BPC8, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - false, 4, MSM_FORMAT_FLAG_DX, - MDP_FETCH_LINEAR, 1), + false, 4, MSM_FORMAT_FLAG_DX), =20 INTERLEAVED_RGB_FMT(XBGR2101010, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 4, MSM_FORMAT_FLAG_DX, - MDP_FETCH_LINEAR, 1), + false, 4, MSM_FORMAT_FLAG_DX), =20 INTERLEAVED_RGB_FMT(RGBX1010102, BPC8A, BPC8, BPC8, BPC8, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - false, 4, MSM_FORMAT_FLAG_DX, - MDP_FETCH_LINEAR, 1), + false, 4, MSM_FORMAT_FLAG_DX), =20 /* --- RGB formats above / YUV formats below this line --- */ =20 --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 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 A8873274B3C for ; Fri, 14 Nov 2025 03:43: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=1763091830; cv=none; b=AFmAjXmL8g77vtCtNWuQWgR0olbHOK2IAICmkA2NHx3etlf6G2ninmOEFnPXq87V/5R/IXkIYTWPqXI0zKhr/3Ctl7XPV0lIad12/WhbFZszn+d0U2dBSuK1lORl+BNNWsV2aXjoAzDRddLWbL9t1NoqrG5KSoeQQ42u0tBnBTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091830; c=relaxed/simple; bh=HynRqSf875K7IJaHCWEeqW7sxbTtE2rMwkup4t2jGsQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DPznfX3bw1mElvUThYsjkwqmg88pWGvWXw8OLhpsIGN02zjip3qSZ5sWe5h57ypf2clVoSuYkR6ckbUna7NyAnfQPV1pXq9IfoUCQIUawnkWdYaUWd+81P3SdWUaqm3RLcQF78pBqqWpLhx1g8eN/FACsaGWdAr5lKb5s6/wiAQ= 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=Dd5mfHhy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AO6WC3yG; 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="Dd5mfHhy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AO6WC3yG" 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 5ADMalik1745323 for ; Fri, 14 Nov 2025 03:43:46 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= /bmhjb/GhYsi42ZR7QhHyhURJHQgsv7dPKrN0P2OVwQ=; b=Dd5mfHhy0ZM1qTmf 1AtsB4rXBPQPTJyv4DNsfScYXfhgdFM/0cXB/drGyKslQ2etSYHw3kSAvsDapsBZ Mh+eg4A1AQTcqOUy2eCwKIf6EW4X2wuHX+6FLgTsLBpjq/mg/Pb7MeXD9h4nEK10 pjYJq9jnFZV4zP8DocR/Y4cdkNeBrCEsdzpOWgq0rgk2TVedAFOb7rL2nL6uespD Z39bmU6r4oGMQLMc/JCAAnXZmC03G5ckoc0Nk6MtcD+oM+5wyQccvYNqtu95WxIC 3CDrAtrwSHcTdmtUCrqgy+ppwz4uK69pYeeP3osMMKingwKjQsrWfkcg7dn1AG7s MHbm3A== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4adr9egqdf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:43:46 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8b234bae2a7so495680185a.3 for ; Thu, 13 Nov 2025 19:43:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091825; x=1763696625; 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=/bmhjb/GhYsi42ZR7QhHyhURJHQgsv7dPKrN0P2OVwQ=; b=AO6WC3yGB4MsA296DIApZqjZwliaQKt+TahRixE+X6fSCH+SmzKmUTJdFPkGhL1erq 91KZdUeoSbVZTq5XqMNdroq7vQPiPc1gcgBAAyOHzW8sMkc9glh0i6ZAa7UAioI6it/h BcY32bPF6WAj2xxxhrY7IYVMVtMRVlOZlLwqRsNw2MKi8sXZ4xdqBN8eFfrwRXXpOQzs 5kuZtkTI/6dEmuA7VP2R3ILXYPWfIpx4o9gnyBt3rpnaU7RduJ7Em112CGvoCSFwxnBD 64FNCxRb/r2IMRDLiaPpf84D+0E58z4p/pG4GvaznbXmDFJeKIzeTzb1lBQ0rlJTAAj8 NGrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091825; x=1763696625; 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=/bmhjb/GhYsi42ZR7QhHyhURJHQgsv7dPKrN0P2OVwQ=; b=Y29+e6TXWpBJa4D2mcOXiinsPbvzr07U/o+oxhIVIRiMDnUhy+dmN9upQytGmFEOkV I1X2UmzX46y4U8T19Tf/gmRnlTHmCKvk7Db9v7WImKEgrwakhuiVC6ze1OWk0mjrnVl0 TVvVGBt7kd1STgC/PC3uR0MCZfvfagm+M4sWabGUTt0+JnBD7XOA/+MY7Hqb08XIYCDN iISKtwBZdacWB1Ppa81qs+p8U/OkEHQVKwuw+q7gsZ6M86sffvrUXQVeN3Cfspk0p9Ji fFvTuDig9aL6boCDSGIS3J6fCfJlyxzH1gtLMLw2SSFslBW715XGLBMwFdpJ9xNK+SJn WN6w== X-Forwarded-Encrypted: i=1; AJvYcCW6K4i3r7lV6Nk2aaXfnw0LZilv77q97mCEuM1Q2b1KlWjLYF+xK3J4FlynYEs4GIV/Am2vC8TguItjURI=@vger.kernel.org X-Gm-Message-State: AOJu0YyYyroRtnZc8VquTe2e0tjPVXH8FMTRAGUHcxdhuA5mL4ZxU8j5 2+VcL2baamlVofUpyhwdMd2d23WbnKjao5tToMdT53sNwIOZGeZ3OEaBGgs72T4ywp7wIS7Ew0j xx6gqAZVz/uBbklK/u+L6tNicdMAgDgCX/kwYM3QyHe5mKx7Bvv6KNSFP9fWVbJ9oZMg= X-Gm-Gg: ASbGncvtJQTlhHxlNcn0hcbS1pPQAd9ecqWxEkcChsGk0ZvAsQ2buTwCAh3GPUxF7lq tnDrkhK6vvLciHJqG+Rdt1VvZh/LvDVptz/K9yIRQs+6nk7/OszgK4sVWr3W/XX6Z2zzbhXOISw 03v5FaZlt44fWr24afWFO1mtz1q1pIqtD1RdYrYRgyu5ERdUWbzZC8ZUIharv56C9XJzrDWQjbN lQNRc5f7kADxG0++gfLQyyaXqKc1r/2w18uVXXWTfaUXVlPxHjtsUb4lbnGqLyNva2jhY5pq0Zh VatmdkjzUKsR/Dop5/++rv5fZT9GHLD9yV/jCfUp/Ct99XcnSmYZmudg4ZtAUMIu5WHSxK3+w+j b3x9GofyWzhGLtXRCxA5HNDEfv+xDMzHFjiRV+z49oEwWCpnQv0Ce6z8aEIVyZCVyTBqQRLEZes RXOOEfta4UUuSd X-Received: by 2002:a05:620a:29c4:b0:8b2:989b:efe6 with SMTP id af79cd13be357-8b2c314cdd9mr214769685a.26.1763091825263; Thu, 13 Nov 2025 19:43:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IH0/htnlz/KvNkhh7Iysx8djak+gNIkid7WKCGuXBIKm6w4oGSsAtdmvE3I7QCZqpdvhdNRiw== X-Received: by 2002:a05:620a:29c4:b0:8b2:989b:efe6 with SMTP id af79cd13be357-8b2c314cdd9mr214767385a.26.1763091824582; Thu, 13 Nov 2025 19:43:44 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:43:43 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:30 +0200 Subject: [PATCH v3 03/12] drm/msm/disp: set num_planes, fetch_mode and tile_height in INTERLEAVED_RGB_FMT_TILED 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-3-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang 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.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5031; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=HynRqSf875K7IJaHCWEeqW7sxbTtE2rMwkup4t2jGsQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVl1SXhlWy/g5d4hKALxO9kRBY3D6TrQAf6Q Ax3YV85+B2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZQAKCRCLPIo+Aiko 1QSqCACdhWaCv8eF2ZQ+rnGxtFbD4MnZiVrHEV/JqZbO26aNojPN1sjFuzYV2lu2nSbN3iWAqvM 1r/fdO3QUvX6oKXzZ+mnvg2uoRY78iwMQv3b9JEXCdKYj5s4lnLEEzn1UQnT9doDfOI+IQItuyC DH2lw1zgNmL1rruAXvQEGnl2NvycLaprv1PUmkhqbfrZAz82IiJTiZeN7kmBT/3zZ1WNXFysCTm IbizXin8a7xJFex/e6RWuegeNdR1TpH70pLMv8OvuGjtPxmamBS6FObqV4OccPTc6UmqS6B06c7 qCdB11B+FB+7rBwbyxbFdixQ4t3z4H2SEfNXKoETRgN47f4a X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfX3PzDCL7DcYX7 TNkx2qA2dw1e5I8+Mc224z1iLKm0alcibwfxPDD59jdQ4jwrSKr7eTTNOhKpX39c7Spr3ft65U5 Op4R81zGqc+KYNd5C4au50UXoM+YLIy46b3l7oUp69mYgBsL2fvEySPxArG4vrPXhFuDQh2fkVB Vb2q7/G1GJs1VTn4TIhy+cL8trNZL4rYDW6Ci3ib7VjVuSLEgwEKWVKrFAyK1yMWLNYWlW/Jktm 7SdjmBJD7MZFV4QLZTqVtRfybh1lX/lvMX5GBsjlh/y4RZ76b3G2yFxl5YD5ItpCJuM1oCgC93u 42kcSadsv4DpTwbhlyj1tk6QA7eelkXg+w0S061K812QssuHxJ5AGK4PRNKXmQfTViaY5bsJkvn fRcZvctZtKsCniVaz0J79Nwgj9WgaQ== X-Proofpoint-ORIG-GUID: -LblyxT0eod9bo43Mjr0SI4GF2yrcRxg X-Authority-Analysis: v=2.4 cv=Afu83nXG c=1 sm=1 tr=0 ts=6916a572 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=dmvhxJvSUNPaeTh-JWgA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: -LblyxT0eod9bo43Mjr0SI4GF2yrcRxg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 suspectscore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 All interleaved compressed RGB formats use only 2 planes, MDP_FETCH_LINEAR and MDP_TILE_HEIGHT_UBWC. Specify num_planes, fetch_mode and tile_height directly in the macro and remove unused parameters. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp_format.c | 35 +++++++++++++------------------= ---- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp_format.c b/drivers/gpu/drm/msm/di= sp/mdp_format.c index 26be35572fd2ee7456401aa525cc36025bc52ee4..09a5bffd838b8a4fd3c22622e82= dcf9fb99b5117 100644 --- a/drivers/gpu/drm/msm/disp/mdp_format.c +++ b/drivers/gpu/drm/msm/disp/mdp_format.c @@ -87,7 +87,7 @@ bp, flg) = \ } =20 #define INTERLEAVED_RGB_FMT_TILED(fmt, a, r, g, b, e0, e1, e2, e3, uc, \ -alpha, bp, flg, fm, np, th) \ +alpha, bp, flg) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ .fetch_type =3D MDP_PLANE_INTERLEAVED, \ @@ -100,10 +100,10 @@ alpha, bp, flg, fm, np, th) = \ .chroma_sample =3D CHROMA_FULL, \ .unpack_count =3D uc, \ .bpp =3D bp, \ - .fetch_mode =3D fm, \ + .fetch_mode =3D MDP_FETCH_UBWC, \ .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | flg, \ - .num_planes =3D np, \ - .tile_height =3D th \ + .num_planes =3D 2, \ + .tile_height =3D MDP_TILE_HEIGHT_UBWC, \ } =20 #define INTERLEAVED_YUV_FMT(fmt, a, r, g, b, e0, e1, e2, e3, \ @@ -487,14 +487,12 @@ static const struct msm_format mdp_formats_ubwc[] =3D= { INTERLEAVED_RGB_FMT_TILED(BGR565, 0, BPC5, BPC6, BPC5, C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3, - false, 2, MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 2, MDP_TILE_HEIGHT_UBWC), + false, 2, MSM_FORMAT_FLAG_COMPRESSED), =20 INTERLEAVED_RGB_FMT_TILED(ABGR8888, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 2, MDP_TILE_HEIGHT_UBWC), + true, 4, MSM_FORMAT_FLAG_COMPRESSED), =20 /* ARGB8888 and ABGR8888 purposely have the same color * ordering. The hardware only supports ABGR8888 UBWC @@ -503,38 +501,32 @@ static const struct msm_format mdp_formats_ubwc[] =3D= { INTERLEAVED_RGB_FMT_TILED(ARGB8888, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 2, MDP_TILE_HEIGHT_UBWC), + true, 4, MSM_FORMAT_FLAG_COMPRESSED), =20 INTERLEAVED_RGB_FMT_TILED(XBGR8888, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 4, MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 2, MDP_TILE_HEIGHT_UBWC), + false, 4, MSM_FORMAT_FLAG_COMPRESSED), =20 INTERLEAVED_RGB_FMT_TILED(XRGB8888, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 4, MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 2, MDP_TILE_HEIGHT_UBWC), + false, 4, MSM_FORMAT_FLAG_COMPRESSED), =20 INTERLEAVED_RGB_FMT_TILED(ABGR2101010, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 2, MDP_TILE_HEIGHT_UBWC), + true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED), =20 INTERLEAVED_RGB_FMT_TILED(XBGR2101010, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 2, MDP_TILE_HEIGHT_UBWC), + true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED), =20 INTERLEAVED_RGB_FMT_TILED(XRGB2101010, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 2, MDP_TILE_HEIGHT_UBWC), + true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED), =20 /* XRGB2101010 and ARGB2101010 purposely have the same color * ordering. The hardware only supports ARGB2101010 UBWC @@ -543,8 +535,7 @@ static const struct msm_format mdp_formats_ubwc[] =3D { INTERLEAVED_RGB_FMT_TILED(ARGB2101010, BPC8A, BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 2, MDP_TILE_HEIGHT_UBWC), + true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED), =20 PSEUDO_YUV_FMT_TILED(NV12, 0, BPC8, BPC8, BPC8, --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 C6A90275AF0 for ; Fri, 14 Nov 2025 03:43:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091833; cv=none; b=ex5LBD9nIeSoVuJSr4YUq030nliqNPYfob4D0beczz1ZZpNdLX8V/OMrSD8De2pVzYW0Or1GtBXu7Zk3odRpWykQHTCB2iCIwDaSCcaX5iw+/O5ofT6fKSQNGKdBNSlNoUHtaqXc5kjYp9M4anwbYOnY/3/0nn9N6Ox4FG4NiOA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091833; c=relaxed/simple; bh=tjYcuHqd9t9rEGqx9jMRK1U9Qo2GHizM0YfUvo9T/0E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qXJS0igd8OtEXK0ldAcbmfqhEaEt2ovlSohKWl9ogQhXXa/O4KZFcPUGH5BJgvmH3g4ksAMx1qG3IJBaujnKoqUGlHbj51q2N2cZeo2nKJsO/v3pByXcQ5e0FzKrRiki1Hp0sLCkAj/aexhuVAvNH6+kHgF46WkKOal60HCw/dg= 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=J3RGIFtB; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YKCwMQuW; arc=none smtp.client-ip=205.220.180.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="J3RGIFtB"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YKCwMQuW" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMb3D01692449 for ; Fri, 14 Nov 2025 03:43:48 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= Dqo+GrxB6ufKBG84oPv5Co76xTAZ8u5akk5ZS7r7mig=; b=J3RGIFtB1JEplRSj eIOXbuJwzHBQ4a88qY9cfmfIlhSpsNIx71LPBhvkliusyZjH/Ol9VLYrSoqs8dBW /x1zUTFdxgwUIA8JqefouMU/LAis9Y3kNUtqtDZMREhI68Zba+U0/uuPHWqhuX0V FzvYqlDNvS/O7YY0Jn5yTirG+0brhOw0OnOPJK3be7geLzn45X6TEAh49UpGkVKP v+Irl02jO0gMhBkxmPaGT3jEpkbg5D5bb9KrGU8LXgpcM51JeiHo58YAiDMHYVH+ xBbRp+a5EoU0IlbMfGtawblK2z0KSM3RO+kgKm4ksmrarz+Sk1h12ss0fQMWl9ka fuSY1A== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4adr9g0phq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:43:48 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-882381f2092so73807556d6.1 for ; Thu, 13 Nov 2025 19:43:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091828; x=1763696628; 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=Dqo+GrxB6ufKBG84oPv5Co76xTAZ8u5akk5ZS7r7mig=; b=YKCwMQuWCnZRSk8TSrVZ8rO/RCW6ZBJsFBEL2lbi7rHl1UZxJy/fFE/qTVsHTZnnHr iiDzHvuhijtymOjKUSQG5v3inQU0N+jAKEiJmUzT77QeTUi+gwPs0NgpylWXiFWpW0fz FlG7g9H/E6OhCLP06uDjU7X72Hji2ZZl0mk6qAfyNMPVGKMwgvf41kONLYSR2/mDudl4 6rF+1EPEDD8MCXPizhpLT2uzkjbcv2qzPmUfOgb4ZjOqPusiZHRQpAbVjrPOmw3WVa4+ exa1/YK7Z2kMwQCFAMZ01A2UwK2ucfiHkpc2DWEWDvVTuXvpCHT9CfQ0E6bNjs/FP6oh wyIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091828; x=1763696628; 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=Dqo+GrxB6ufKBG84oPv5Co76xTAZ8u5akk5ZS7r7mig=; b=RLj2cg4Ye8i236WuU6mPHgOJA3A86fh60goWS89A0Dj0Hizbl0muTDpJudt4FassNO Tp7zC6PghtTJitWhqLWcWyp9QhaKKOtUW5We3s87QT2YfVMIqPEjEwJ+0uUbwfUOm2xM WWmPj3t4vL5CRndt5vo1CEOiQLCCioDz3eMhWzAsmkAQOT8xIjYhoRU9wx4DRnDtEgO/ YLU37d1FPmzE1xFJQyEDaSOICmrTm8J1pQXaR/QerDRNwmr8bA6kkCH+qtbJ5vnJjvNZ mbHrMtQzP0GU4x/TVXdBtgb0J1TQgINpI8F1wbJgeVpunsjUqVmbe87gXh+2kKnF9JnJ OD+w== X-Forwarded-Encrypted: i=1; AJvYcCXJgeqRubOOmP7D9yfquf607NVIaxU0AH+TN4qlSOF2rvw/kC8WeqCpNEBvRbU4KdGHo6M7UKPtHhhcTzI=@vger.kernel.org X-Gm-Message-State: AOJu0YwpCKzpQwaUE+OHnT3qu2k7G9yYg+BlGluT6LLYX/f9UTESkeF8 6aUmdkNH/0Ac7NH8AY2cavHgvE3QGfTqzxe4fHjiNj+URKYdyZdUL5371JxyiM9e6AaMVjHWaEU yLSXbVEpQfRGjp4XvOi5/03OnuySoFzW/d5y1GmnXo2ILDqk75UvKN/ueRexHLEJa5ZM= X-Gm-Gg: ASbGncusN6f5X8pkFUgmxZhQrG2iaj47SBqdJI7magKd4cwmMLztsArKL3b6GuLq++D r2F0eBsBJiIlDwQgXIvSwGkGzOP+clK8X/WYnLTDRb7JcLlGyOwbMTMXZwcv8B4QIDtF3J41lhv pDbDwkqzZwm11MADn5Ygz52Hh/UDQtlyt51Rop4yQpLwyNxK7vU9JbItugiGIvgC3sTIHeff/Xb TE6m+JKSjqDv8UJk8pKFIK8o/Vy1lJiz0IpMzININ6j0n/w1sthR7qwB8/lLH3f+zX6lDRfx6Sd IBtxXXjCOGBdfisqfB5yI2Qnri8gl5YNxn3kGcxis//5qDdpvBMFxT6nUqdcXHmPJzqtMFbymYL O09xKBetW6kr8/gYOsB74CPoo4EJlR8KzfUoQv+pAKPtI8sUzDBzwKVzU5v0p0iCPLd4KHuM5nJ ddZpum+70gVRa/ X-Received: by 2002:a05:6214:f06:b0:882:36d3:2c60 with SMTP id 6a1803df08f44-8829260006dmr18084646d6.19.1763091827600; Thu, 13 Nov 2025 19:43:47 -0800 (PST) X-Google-Smtp-Source: AGHT+IEZS6JyC7Q+V4ZteTwmzyxcl+HpU2Ea+AJ+NcRd/QCNAHcgyv/dIlkvpQvoxMQZ7TadLovyqw== X-Received: by 2002:a05:6214:f06:b0:882:36d3:2c60 with SMTP id 6a1803df08f44-8829260006dmr18084426d6.19.1763091827118; Thu, 13 Nov 2025 19:43:47 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:43:45 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:31 +0200 Subject: [PATCH v3 04/12] drm/msm/disp: simplify RGB{,A,X} formats definitions 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-4-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=15198; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=tjYcuHqd9t9rEGqx9jMRK1U9Qo2GHizM0YfUvo9T/0E=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVlsRLwThNBvvV79sMTImP9yKHdwxnc+T+2i hhrexMDs3KJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZQAKCRCLPIo+Aiko 1WAqB/97XrzJarAhFxqsdH+pylUyH8MCTNNP+HvGvolkc8qnYNLY9ZkA5M9wzcSGPsCaNpCMOAt e9ESjp36jz/wmI0LGesGkgQCdz9vVmVRwmRquMBoFtcDf5uGxXHAXAX4wQosIBnaBLJ7UWLXITX +hBcyaj+hogevMd1vlaNdvpf/OgsSyDxfOMtAAeyyRmsHxUr2vkMmQzjCQMOV2mDuGownRqR0KA MRWRRp+5SaRTuRXMzlxE8/EJRxqW38rfwChNQTe6IpOjPjjkp9u5h5q8VEj5agldkyNc7qHxnGD sfKpFlTfIpX77dFEhxpe/CwbGm5oLpYRYZ/so6uIEYx1lQpf X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 1SvjJjKR4WCb7Kpr5uPN7cWSgemNdDQG X-Proofpoint-ORIG-GUID: 1SvjJjKR4WCb7Kpr5uPN7cWSgemNdDQG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfXykzynfJB/C5u blDHNgoQJgEYHUlSHUr5qZ6ums3ilk3rNBsPebDTb3EJjtHLTvTdR1yo5aAoCspjFcBejPoGu3u t9OqSb49nA2t9EIEOtP7K5iAYoLSd79SOTw8z1eN3gYYWXQUq6Pdlo5SVTLWI9EEmG9emUNneSY w6FREKki1hIYiTyHONUIvdg70RDP9QqUWrp9rkhybSMaqTm45JKCKyPa1VvRJzcvG6XG2h34dNJ 7X2tOidbpp53W2c5eQdx+enmY8es/7/5OlpQhdFO1n+CV98rCdlwYn6+Ynp++Q4xn/FgAZmp9th hwSt31y64OhELCm8P1naysPsk4DGXFTnf78qX0VQptTKwRhkcBlUj59h5y3SYywNZot3C56Vhgb nVgPuYs4CB7JZdgQjtXmljSEqWIZ/A== X-Authority-Analysis: v=2.4 cv=IM8PywvG c=1 sm=1 tr=0 ts=6916a574 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=KyFCczhh_M9M8MRke_UA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 malwarescore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 impostorscore=0 phishscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 Define several additional macros, capturing RGB format classes, in order to simplify defining particular RGB* format. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp_format.c | 275 +++++++++++++++++++-----------= ---- 1 file changed, 158 insertions(+), 117 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp_format.c b/drivers/gpu/drm/msm/di= sp/mdp_format.c index 09a5bffd838b8a4fd3c22622e82dcf9fb99b5117..28cef986f2d662484afd47440a7= 9393c48256ff5 100644 --- a/drivers/gpu/drm/msm/disp/mdp_format.c +++ b/drivers/gpu/drm/msm/disp/mdp_format.c @@ -66,22 +66,99 @@ static struct csc_cfg csc_convert[CSC_MAX] =3D { #define MDP_TILE_HEIGHT_UBWC 4 #define MDP_TILE_HEIGHT_NV12 8 =20 -#define INTERLEAVED_RGB_FMT(fmt, a, r, g, b, e0, e1, e2, e3, uc, alpha, \ -bp, flg) \ +#define INTERLEAVED_RGB_FMT(fmt, bp, r, g, b, e0, e1, e2) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ .fetch_type =3D MDP_PLANE_INTERLEAVED, \ - .alpha_enable =3D alpha, \ + .alpha_enable =3D false, \ + .element =3D { (e0), (e1), (e2), 0 }, \ + .bpc_g_y =3D g, \ + .bpc_b_cb =3D b, \ + .bpc_r_cr =3D r, \ + .bpc_a =3D 0, \ + .chroma_sample =3D CHROMA_FULL, \ + .unpack_count =3D 3, \ + .bpp =3D bp, \ + .fetch_mode =3D MDP_FETCH_LINEAR, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT, \ + .num_planes =3D 1, \ + .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ +} + +#define INTERLEAVED_RGBA_FMT(fmt, bp, a, r, g, b, e0, e1, e2, e3) \ +{ \ + .pixel_format =3D DRM_FORMAT_ ## fmt, \ + .fetch_type =3D MDP_PLANE_INTERLEAVED, \ + .alpha_enable =3D true, \ .element =3D { (e0), (e1), (e2), (e3) }, \ .bpc_g_y =3D g, \ .bpc_b_cb =3D b, \ .bpc_r_cr =3D r, \ .bpc_a =3D a, \ .chroma_sample =3D CHROMA_FULL, \ - .unpack_count =3D uc, \ + .unpack_count =3D 4, \ .bpp =3D bp, \ .fetch_mode =3D MDP_FETCH_LINEAR, \ - .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | flg, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT, \ + .num_planes =3D 1, \ + .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ +} + +#define INTERLEAVED_RGBX_FMT(fmt, bp, a, r, g, b, e0, e1, e2, e3) \ +{ \ + .pixel_format =3D DRM_FORMAT_ ## fmt, \ + .fetch_type =3D MDP_PLANE_INTERLEAVED, \ + .alpha_enable =3D false, \ + .element =3D { (e0), (e1), (e2), (e3) }, \ + .bpc_g_y =3D g, \ + .bpc_b_cb =3D b, \ + .bpc_r_cr =3D r, \ + .bpc_a =3D a, \ + .chroma_sample =3D CHROMA_FULL, \ + .unpack_count =3D 4, \ + .bpp =3D bp, \ + .fetch_mode =3D MDP_FETCH_LINEAR, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT, \ + .num_planes =3D 1, \ + .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ +} + +#define INTERLEAVED_RGBA_DX_FMT(fmt, bp, a, r, g, b, e0, e1, e2, e3) \ +{ \ + .pixel_format =3D DRM_FORMAT_ ## fmt, \ + .fetch_type =3D MDP_PLANE_INTERLEAVED, \ + .alpha_enable =3D true, \ + .element =3D { (e0), (e1), (e2), (e3) }, \ + .bpc_g_y =3D g, \ + .bpc_b_cb =3D b, \ + .bpc_r_cr =3D r, \ + .bpc_a =3D a, \ + .chroma_sample =3D CHROMA_FULL, \ + .unpack_count =3D 4, \ + .bpp =3D bp, \ + .fetch_mode =3D MDP_FETCH_LINEAR, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_DX, \ + .num_planes =3D 1, \ + .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ +} + +#define INTERLEAVED_RGBX_DX_FMT(fmt, bp, a, r, g, b, e0, e1, e2, e3) \ +{ \ + .pixel_format =3D DRM_FORMAT_ ## fmt, \ + .fetch_type =3D MDP_PLANE_INTERLEAVED, \ + .alpha_enable =3D false, \ + .element =3D { (e0), (e1), (e2), (e3) }, \ + .bpc_g_y =3D g, \ + .bpc_b_cb =3D b, \ + .bpc_r_cr =3D r, \ + .bpc_a =3D a, \ + .chroma_sample =3D CHROMA_FULL, \ + .unpack_count =3D 4, \ + .bpp =3D bp, \ + .fetch_mode =3D MDP_FETCH_LINEAR, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_DX, \ .num_planes =3D 1, \ .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ } @@ -225,185 +302,149 @@ flg, fm, np) = \ } =20 static const struct msm_format mdp_formats[] =3D { - INTERLEAVED_RGB_FMT(ARGB8888, + INTERLEAVED_RGBA_FMT(ARGB8888, 4, BPC8A, BPC8, BPC8, BPC8, - C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - true, 4, 0), + C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(ABGR8888, + INTERLEAVED_RGBA_FMT(ABGR8888, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, 0), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(XBGR8888, + INTERLEAVED_RGBX_FMT(XBGR8888, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 4, 0), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(RGBA8888, + INTERLEAVED_RGBA_FMT(RGBA8888, 4, BPC8A, BPC8, BPC8, BPC8, - C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - true, 4, 0), + C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), =20 - INTERLEAVED_RGB_FMT(BGRA8888, + INTERLEAVED_RGBA_FMT(BGRA8888, 4, BPC8A, BPC8, BPC8, BPC8, - C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - true, 4, 0), + C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(BGRX8888, + INTERLEAVED_RGBX_FMT(BGRX8888, 4, BPC8A, BPC8, BPC8, BPC8, - C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - false, 4, 0), + C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(XRGB8888, + INTERLEAVED_RGBX_FMT(XRGB8888, 4, BPC8A, BPC8, BPC8, BPC8, - C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - false, 4, 0), + C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(RGBX8888, + INTERLEAVED_RGBX_FMT(RGBX8888, 4, BPC8A, BPC8, BPC8, BPC8, - C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - false, 4, 0), + C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), =20 - INTERLEAVED_RGB_FMT(RGB888, - 0, BPC8, BPC8, BPC8, - C1_B_Cb, C0_G_Y, C2_R_Cr, 0, 3, - false, 3, 0), + INTERLEAVED_RGB_FMT(RGB888, 3, + BPC8, BPC8, BPC8, + C1_B_Cb, C0_G_Y, C2_R_Cr), =20 - INTERLEAVED_RGB_FMT(BGR888, - 0, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3, - false, 3, 0), + INTERLEAVED_RGB_FMT(BGR888, 3, + BPC8, BPC8, BPC8, + C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(RGB565, - 0, BPC5, BPC6, BPC5, - C1_B_Cb, C0_G_Y, C2_R_Cr, 0, 3, - false, 2, 0), + INTERLEAVED_RGB_FMT(RGB565, 2, + BPC5, BPC6, BPC5, + C1_B_Cb, C0_G_Y, C2_R_Cr), =20 - INTERLEAVED_RGB_FMT(BGR565, - 0, BPC5, BPC6, BPC5, - C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3, - false, 2, 0), + INTERLEAVED_RGB_FMT(BGR565, 2, + BPC5, BPC6, BPC5, + C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(ARGB1555, + INTERLEAVED_RGBA_FMT(ARGB1555, 2, BPC1A, BPC5, BPC5, BPC5, - C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - true, 2, 0), + C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(ABGR1555, + INTERLEAVED_RGBA_FMT(ABGR1555, 2, BPC1A, BPC5, BPC5, BPC5, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 2, 0), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(RGBA5551, + INTERLEAVED_RGBA_FMT(RGBA5551, 2, BPC1A, BPC5, BPC5, BPC5, - C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - true, 2, 0), + C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), =20 - INTERLEAVED_RGB_FMT(BGRA5551, + INTERLEAVED_RGBA_FMT(BGRA5551, 2, BPC1A, BPC5, BPC5, BPC5, - C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - true, 2, 0), + C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(XRGB1555, + INTERLEAVED_RGBX_FMT(XRGB1555, 2, BPC1A, BPC5, BPC5, BPC5, - C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - false, 2, 0), + C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(XBGR1555, + INTERLEAVED_RGBX_FMT(XBGR1555, 2, BPC1A, BPC5, BPC5, BPC5, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 2, 0), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(RGBX5551, + INTERLEAVED_RGBX_FMT(RGBX5551, 2, BPC1A, BPC5, BPC5, BPC5, - C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - false, 2, 0), + C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), =20 - INTERLEAVED_RGB_FMT(BGRX5551, + INTERLEAVED_RGBX_FMT(BGRX5551, 2, BPC1A, BPC5, BPC5, BPC5, - C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - false, 2, 0), + C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(ARGB4444, + INTERLEAVED_RGBA_FMT(ARGB4444, 2, BPC4A, BPC4, BPC4, BPC4, - C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - true, 2, 0), + C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(ABGR4444, + INTERLEAVED_RGBA_FMT(ABGR4444, 2, BPC4A, BPC4, BPC4, BPC4, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 2, 0), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(RGBA4444, + INTERLEAVED_RGBA_FMT(RGBA4444, 2, BPC4A, BPC4, BPC4, BPC4, - C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - true, 2, 0), + C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), =20 - INTERLEAVED_RGB_FMT(BGRA4444, + INTERLEAVED_RGBA_FMT(BGRA4444, 2, BPC4A, BPC4, BPC4, BPC4, - C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - true, 2, 0), + C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(XRGB4444, + INTERLEAVED_RGBX_FMT(XRGB4444, 2, BPC4A, BPC4, BPC4, BPC4, - C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - false, 2, 0), + C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(XBGR4444, + INTERLEAVED_RGBX_FMT(XBGR4444, 2, BPC4A, BPC4, BPC4, BPC4, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 2, 0), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(RGBX4444, + INTERLEAVED_RGBX_FMT(RGBX4444, 2, BPC4A, BPC4, BPC4, BPC4, - C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - false, 2, 0), + C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), =20 - INTERLEAVED_RGB_FMT(BGRX4444, + INTERLEAVED_RGBX_FMT(BGRX4444, 2, BPC4A, BPC4, BPC4, BPC4, - C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - false, 2, 0), + C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(BGRA1010102, + INTERLEAVED_RGBA_DX_FMT(BGRA1010102, 4, BPC8A, BPC8, BPC8, BPC8, - C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - true, 4, MSM_FORMAT_FLAG_DX), + C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(RGBA1010102, + INTERLEAVED_RGBA_DX_FMT(RGBA1010102, 4, BPC8A, BPC8, BPC8, BPC8, - C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - true, 4, MSM_FORMAT_FLAG_DX), + C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), =20 - INTERLEAVED_RGB_FMT(ABGR2101010, + INTERLEAVED_RGBA_DX_FMT(ABGR2101010, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(ARGB2101010, + INTERLEAVED_RGBA_DX_FMT(ARGB2101010, 4, BPC8A, BPC8, BPC8, BPC8, - C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX), + C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(XRGB2101010, + INTERLEAVED_RGBX_DX_FMT(XRGB2101010, 4, BPC8A, BPC8, BPC8, BPC8, - C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, 4, - false, 4, MSM_FORMAT_FLAG_DX), + C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(BGRX1010102, + INTERLEAVED_RGBX_DX_FMT(BGRX1010102, 4, BPC8A, BPC8, BPC8, BPC8, - C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb, 4, - false, 4, MSM_FORMAT_FLAG_DX), + C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT(XBGR2101010, + INTERLEAVED_RGBX_DX_FMT(XBGR2101010, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 4, MSM_FORMAT_FLAG_DX), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT(RGBX1010102, + INTERLEAVED_RGBX_DX_FMT(RGBX1010102, 4, BPC8A, BPC8, BPC8, BPC8, - C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, 4, - false, 4, MSM_FORMAT_FLAG_DX), + C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), =20 /* --- RGB formats above / YUV formats below this line --- */ =20 --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 472EE25B1FC for ; Fri, 14 Nov 2025 03:43:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091835; cv=none; b=SBdzENjB83pkLiaRQ6p20tXfEJjGK97zs+3tsPdPn3ghnZGBk1sYcuQusXbFPhzyszC5Uc8neDOOfsCRCTxjNm2fpCeUMKDvI3PyPzdnf2YuskGfe4JKOTkM5JTGuKHfFX8fsIjCCg6K0VeWLVofto0CYWkpJHnxk8SNGWufygA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091835; c=relaxed/simple; bh=qHCTHjIA5laS2HK+x6axVpCJPJY96pJ2AxcbIbNCeaI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ry4dMkgb/tocxiOUHeWaWWIWC7vxC55MsWW4lZuwkLAhg8xwqumfth3HzZ7v3AdALuXc4ECNmcgMH+sbDavkPo90NToOIGOY6aqP8ElGdQWwNgiZkadINUglUxHvmCaf7Wp6g/0nVkdeH59w+qT83ecOteBuy00onBpfDaTWNxw= 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=JIizMgKG; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hfsKVhPj; arc=none smtp.client-ip=205.220.180.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="JIizMgKG"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hfsKVhPj" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMaxXH1614442 for ; Fri, 14 Nov 2025 03:43:49 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= fkNDDeEkFU3dBwRVznIRKCYbh9s0YY6BLe7zy3wV/dE=; b=JIizMgKGHKU4uDWD PFA1hV5KOQDEvhIpG0tmOwq8DSpVuXLV5IBDp7OVJrRhfLZvrEN0YYeILJyAxENQ 926ZZsV7rzFFcrsBnp2lgsv8xEGBV5nFcnzUwrKGy/Jxcbo4BQjAxwX7MEONpVv7 29nFZxUdvcOYtLpYpmuT3/IK10ZXUR8u3ejVOJXgLz8QmLPgGNIsCpORo1lgqCPZ vD5HjtpmI0kwXc/RmEryzw9DkxX9mfJIh0BJCfR9L06Vo2vP7E21gUiNF3hKRRB4 rWjrvHMC3J4F/bDHyxlq+uzDxUK1ZpkqhK53u08CmeSc28EiTaGsjy2JY/PhTA9B kZpP3g== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4adr9h0pfr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:43:49 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-880441e0f93so61171936d6.1 for ; Thu, 13 Nov 2025 19:43:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091829; x=1763696629; 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=fkNDDeEkFU3dBwRVznIRKCYbh9s0YY6BLe7zy3wV/dE=; b=hfsKVhPjrss1JlmqwPZZQ/nP8r2XYn73BcEJ0vOIcOwzKINeNjAN+MZAq4O39nfJlc 4GTsfd7WsZBV/gJIhq8LP6Ft76t4CzekU/DFd3jmcr9EGNBpxyor3bO2aKwSXR2wjhyg OC/2bTTNj9eIin6hSupyo8Yy71D1jK2WuIIXNew6jN6hh2qZLsoODe0BzXPh5EovOcrK EuJTmJrQND4AmdD4gUGOENF3fVkB7YZ3UR5yiQTsi1fHFf1HEe2CRpBhxdYkC6IaIPj+ JK0cfWc6k/9uEi65O+CVcyIPdvDzyCCvwgxBJL2Wnvyc+M5mEDfby5sj1EYhaEW6nPNM LuCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091829; x=1763696629; 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=fkNDDeEkFU3dBwRVznIRKCYbh9s0YY6BLe7zy3wV/dE=; b=K+9bJcXc7VlMrTVmW5DxA6y03XBF4PjpFyJt/39EebU7AZwKbJciHQPeJ3sr5FesL0 1LSRFfRnVCHOpF9Esgw8arym4ci/ZpxRmy/W3LCC0R9XQr7X5qSZ53+M0yukyaoe6mrY 1QGPh2zEqfMu/PqQn3nD6GCLkfKK09uGBNw4r3vCRsEeHYOC5XmjaOYe6dC2qGcYCv9P LtIbqPW/Bw9A3SZRxhZAEI3z2bnmFKmVN+cK8jExu1VgKQEiLC2gcli5kFVOyHntFJAg /PKGHr9/xwMjwNIfbbPYV9swjkNlfGuWygIhQvPIaxNBQySoIVSV4DBEN9gvWE4k9YqP yKTQ== X-Forwarded-Encrypted: i=1; AJvYcCVMFyiL6U4d6YLEgREGEnZTo35mo0MxlYNbogOu7ElnQZnJPwOigk2uhAKjnyCqY7Em3WKhhWgn5QT7BFQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwLxO+7uWTSKeDVDL+YoxNOFaIhvYF9L1TKpHCznxpnqhzhnYBN 74L3Qm7GflO0YLN+9JmkF9etAtXvLvP9FDN2nfCY8NtGTFKAzL73JF8qHuKj4vnm4lrchnYYV2+ OwGZEUlcBNheFnPdttrBtrZlnCiwk7r6ttY1Hkucy5jkvpBEx3FZDfqR0O4XautCo9s0= X-Gm-Gg: ASbGncuT+r0Eh+99/TPISSsF2przaWrQrh7M2Gv1BlAqmXZ3BgDcKN4TfVLme3WXJry yBd2Q9gn3Lht7tksr/7sHfRJXt/XSYQMhFPXyxYYXQlHalU8fT28o559JKfV6FUl6yMudYvnfU1 Cc/4z6dxErhb11lwwEqtHSNk7aGHLwqaIBoI9I7l1Er2WUNtZE2tXq56+48GBk7HNA7JB1IS3SH S9LxsKsCTonjHgTkPTFfxKgy3U3jA9euO0J9DZD743CZ2FIPRhQNdhxX3nkmSNy3gDU/QYWOy3j TwSC9vd5qgIkythbnuOxB2lTBZZEkS7VAKb/2CbD5Y9PTf4wjFQwCqSQnabWysZifmM9G3DYIQJ nghZjwWZq3xyoAJZwHW7yHe4iNBpsKTyNPDNQhdr9UY3mwC9N8xpsDLa0FQhl0Jp1vnfnKmIgYI ho6E1OeQpzry5T X-Received: by 2002:a05:6214:519e:b0:880:50dd:16fc with SMTP id 6a1803df08f44-88290dccb7emr26463966d6.7.1763091828675; Thu, 13 Nov 2025 19:43:48 -0800 (PST) X-Google-Smtp-Source: AGHT+IH28088MQo54QH0F65cn+100QuWktEp23e4SSzPV9enf/SnCeM1n3q97xpogjYU/zsBIc5+hQ== X-Received: by 2002:a05:6214:519e:b0:880:50dd:16fc with SMTP id 6a1803df08f44-88290dccb7emr26463746d6.7.1763091828223; Thu, 13 Nov 2025 19:43:48 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:43:47 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:32 +0200 Subject: [PATCH v3 05/12] drm/msm/disp: simplify tiled RGB{,A,X} formats definitions 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-5-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=9223; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=qHCTHjIA5laS2HK+x6axVpCJPJY96pJ2AxcbIbNCeaI=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ6bY0lSxl665kRYnJnUJBDR25pY1h7p1dO5f7s/G0HQ8M 4On4VknozELAyMXg6yYIotPQcvUmE3JYR92TK2HGcTKBDKFgYtTACbCUcXBsI7Zg2N6+pxHXqvL ewVc+LTzm6MafK0jmTf05uw4FsOrs4P7FUOIj72xSGnpRA7m0i6nvjelbDEFAecWcbztvXf4zzQ X4fNNhvO/Rj7reW1uHB28ZU27+NudlxgX2hsXyRRW7WQPDOC0WHTAZ9vRGA6n776xOQHmJrdidy 2qTv3UzXVm54Rc0WlV0pHcblODveN+32EzqTGU2/epfLqsRJaN2X+hP8tCbjmqLOj/IL+X1515o aNkVoX0NJ3OvNXPZmyd7rmbvbctVPesws2ymqoHkyPWV1vV3DY5nh4dKyJ7hkuGXX27+F6befdv W8YuSN992v9ydtD81dXLp0vkTGoy3XfVWzSyxeJ3KwA= X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: wBufQOCi3X22UBQd6Vnp0beN3u5w2gDF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfX4ErFv4KbGPt8 oyfDAtk2IY1wPCNgwOZ3a1uSk6Hmv1P25n1WJ6eDbXKHylG1fYF5LyDMv7DNFVs7euCLh1+OaNj mf6YrpnePlKKvd6B2IR9FbSc+v3UkbDTDTEu6N6+kuO71wdNgClgMLqJ/Pr0thW/AQ2q+OuCUuB oPlUr1Fhz1+HB6eOeKGTHv3onMBpxZdrpCekeBLiewxLN7gO1WkIi7EJYYJO5ZKDRukuUhsLPAd /9tMwOxdWt8fwZ2d6YtWYThNT5ouWbtaHJwjp4FVi4zxr4mi3mfFxdDW2hRMv/t9TZTdNApVeAA G+5XOOepjlkz7V7XoLsmG0MQrphXrTDUO82a+iFNGYflsQX5HxeyxwgmmL5letGR+Z4UlQxEZ4f khMT6eWwoll1PF3V3dV1UY9nDauCGw== X-Proofpoint-GUID: wBufQOCi3X22UBQd6Vnp0beN3u5w2gDF X-Authority-Analysis: v=2.4 cv=V+1wEOni c=1 sm=1 tr=0 ts=6916a575 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=dZuHSUUM1Vk3wmwcgTEA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 phishscore=0 clxscore=1015 spamscore=0 priorityscore=1501 impostorscore=0 adultscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 Define several additional macros, capturing tiled RGB format classes, in order to simplify defining particular RGB* format. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp_format.c | 118 ++++++++++++++++++++++++------= ---- 1 file changed, 85 insertions(+), 33 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp_format.c b/drivers/gpu/drm/msm/di= sp/mdp_format.c index 28cef986f2d662484afd47440a79393c48256ff5..d577b3d53fbebced63792b5c65f= 50dd45211c8ea 100644 --- a/drivers/gpu/drm/msm/disp/mdp_format.c +++ b/drivers/gpu/drm/msm/disp/mdp_format.c @@ -163,22 +163,83 @@ static struct csc_cfg csc_convert[CSC_MAX] =3D { .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ } =20 -#define INTERLEAVED_RGB_FMT_TILED(fmt, a, r, g, b, e0, e1, e2, e3, uc, \ -alpha, bp, flg) \ +#define INTERLEAVED_RGB_FMT_TILED(fmt, bp, r, g, b, e0, e1, e2) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ .fetch_type =3D MDP_PLANE_INTERLEAVED, \ - .alpha_enable =3D alpha, \ + .alpha_enable =3D false, \ + .element =3D { (e0), (e1), (e2), 0 }, \ + .bpc_g_y =3D g, \ + .bpc_b_cb =3D b, \ + .bpc_r_cr =3D r, \ + .bpc_a =3D 0, \ + .chroma_sample =3D CHROMA_FULL, \ + .unpack_count =3D 3, \ + .bpp =3D bp, \ + .fetch_mode =3D MDP_FETCH_UBWC, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_COMPRESSED, \ + .num_planes =3D 2, \ + .tile_height =3D MDP_TILE_HEIGHT_UBWC, \ +} + +#define INTERLEAVED_RGBA_FMT_TILED(fmt, bp, a, r, g, b, e0, e1, e2, e3) \ +{ \ + .pixel_format =3D DRM_FORMAT_ ## fmt, \ + .fetch_type =3D MDP_PLANE_INTERLEAVED, \ + .alpha_enable =3D true, \ .element =3D { (e0), (e1), (e2), (e3) }, \ .bpc_g_y =3D g, \ .bpc_b_cb =3D b, \ .bpc_r_cr =3D r, \ .bpc_a =3D a, \ .chroma_sample =3D CHROMA_FULL, \ - .unpack_count =3D uc, \ + .unpack_count =3D 4, \ .bpp =3D bp, \ .fetch_mode =3D MDP_FETCH_UBWC, \ - .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | flg, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_COMPRESSED, \ + .num_planes =3D 2, \ + .tile_height =3D MDP_TILE_HEIGHT_UBWC, \ +} + +#define INTERLEAVED_RGBX_FMT_TILED(fmt, bp, a, r, g, b, e0, e1, e2, e3) \ +{ \ + .pixel_format =3D DRM_FORMAT_ ## fmt, \ + .fetch_type =3D MDP_PLANE_INTERLEAVED, \ + .alpha_enable =3D false, \ + .element =3D { (e0), (e1), (e2), (e3) }, \ + .bpc_g_y =3D g, \ + .bpc_b_cb =3D b, \ + .bpc_r_cr =3D r, \ + .bpc_a =3D a, \ + .chroma_sample =3D CHROMA_FULL, \ + .unpack_count =3D 4, \ + .bpp =3D bp, \ + .fetch_mode =3D MDP_FETCH_UBWC, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_COMPRESSED, \ + .num_planes =3D 2, \ + .tile_height =3D MDP_TILE_HEIGHT_UBWC, \ +} + +#define INTERLEAVED_RGBA_DX_FMT_TILED(fmt, bp, a, r, g, b, e0, e1, e2, e3)= \ +{ \ + .pixel_format =3D DRM_FORMAT_ ## fmt, \ + .fetch_type =3D MDP_PLANE_INTERLEAVED, \ + .alpha_enable =3D true, \ + .element =3D { (e0), (e1), (e2), (e3) }, \ + .bpc_g_y =3D g, \ + .bpc_b_cb =3D b, \ + .bpc_r_cr =3D r, \ + .bpc_a =3D a, \ + .chroma_sample =3D CHROMA_FULL, \ + .unpack_count =3D 4, \ + .bpp =3D bp, \ + .fetch_mode =3D MDP_FETCH_UBWC, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_DX | \ + MSM_FORMAT_FLAG_COMPRESSED, \ .num_planes =3D 2, \ .tile_height =3D MDP_TILE_HEIGHT_UBWC, \ } @@ -525,58 +586,49 @@ static const struct msm_format mdp_formats[] =3D { * the data will be passed by user-space. */ static const struct msm_format mdp_formats_ubwc[] =3D { - INTERLEAVED_RGB_FMT_TILED(BGR565, - 0, BPC5, BPC6, BPC5, - C2_R_Cr, C0_G_Y, C1_B_Cb, 0, 3, - false, 2, MSM_FORMAT_FLAG_COMPRESSED), + INTERLEAVED_RGB_FMT_TILED(BGR565, 2, + BPC5, BPC6, BPC5, + C2_R_Cr, C0_G_Y, C1_B_Cb), =20 - INTERLEAVED_RGB_FMT_TILED(ABGR8888, + INTERLEAVED_RGBA_FMT_TILED(ABGR8888, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_COMPRESSED), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 /* ARGB8888 and ABGR8888 purposely have the same color * ordering. The hardware only supports ABGR8888 UBWC * natively. */ - INTERLEAVED_RGB_FMT_TILED(ARGB8888, + INTERLEAVED_RGBA_FMT_TILED(ARGB8888, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_COMPRESSED), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT_TILED(XBGR8888, + INTERLEAVED_RGBX_FMT_TILED(XBGR8888, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 4, MSM_FORMAT_FLAG_COMPRESSED), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT_TILED(XRGB8888, + INTERLEAVED_RGBX_FMT_TILED(XRGB8888, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - false, 4, MSM_FORMAT_FLAG_COMPRESSED), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT_TILED(ABGR2101010, + INTERLEAVED_RGBA_DX_FMT_TILED(ABGR2101010, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT_TILED(XBGR2101010, + INTERLEAVED_RGBA_DX_FMT_TILED(XBGR2101010, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 - INTERLEAVED_RGB_FMT_TILED(XRGB2101010, + INTERLEAVED_RGBA_DX_FMT_TILED(XRGB2101010, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 /* XRGB2101010 and ARGB2101010 purposely have the same color * ordering. The hardware only supports ARGB2101010 UBWC * natively. */ - INTERLEAVED_RGB_FMT_TILED(ARGB2101010, + INTERLEAVED_RGBA_DX_FMT_TILED(ARGB2101010, 4, BPC8A, BPC8, BPC8, BPC8, - C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, 4, - true, 4, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_COMPRESSED), + C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 PSEUDO_YUV_FMT_TILED(NV12, 0, BPC8, BPC8, BPC8, --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 39078271456 for ; Fri, 14 Nov 2025 03:43:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091835; cv=none; b=KhacdefpXEoljIrxu24Ri3RsiIQ9JktyGGe0nzeNqzMomzCzEK7pW5ph3VVSRU2yCMDx8TK37OD64SuQe/eNYd/4dYJWx2z1joUv6n1lUio7WqSzrWuCKEbi9kSZEzDasrP6u+4a4+8c79D4y7cyu15gACEydO78pJsIOhU98kU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091835; c=relaxed/simple; bh=wQ4EPeLyGHhSl6u2Yto18CwT2uBhHyqQhzQUmV+w91A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NcMAiIIqdMUB6zeMc5c8CMIkO0LZyjrxiJI2GVZTT9PWMQRhcNOVPVIj1ZeAvq3/ifkAaC3xIT+S+ouMiCRIz+rWq9+aOZp5ShSiEWNwg6ZU9fAaLgWLjBlx38jIy/S/bMcV0rX17+i1i1qWVaqfKsrFQC80sgrTtt0gMi1BmvE= 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=bHVAMQjP; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HmOaq1U0; arc=none smtp.client-ip=205.220.180.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="bHVAMQjP"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HmOaq1U0" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMb2Z41430755 for ; Fri, 14 Nov 2025 03:43:51 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= qD3y0SSt7nzx/s6G8IYeUSznWx6wT7uGhkHCZulV5zM=; b=bHVAMQjPFU819qLV deUXC+gQ8ywoDtrRF8F19GW15Kt+fr5RqThQU7qzTrePlITxwpSGY63OPtKJYejR TXA1M+a6LVF+gnyARkh6kn6Aqa9zPz9RSUkz9Qr9rzHEOCMg5+aEvOlTWXegmuf6 AMOoPu+gNgMTyU85ppm6Hj1pNtBcN8V2pgfrlb/GbYgiATlSZzx864OpgWQzxPjq KUl2LHr02hbQrWVqzFls2ynUzyfpMJrMb/KRfjKli6S+tHrr7dASxDw/wkf3knwd xwEQWGPUGU0mez7Ol8C67UezkgONY9Mzbs74hZ80t/Jd0eYP3KwKmLdCQ4W78CXf VvWtCg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4adr9g0p5a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:43:51 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4edb34dd9c9so43036581cf.1 for ; Thu, 13 Nov 2025 19:43:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091831; x=1763696631; 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=qD3y0SSt7nzx/s6G8IYeUSznWx6wT7uGhkHCZulV5zM=; b=HmOaq1U0nPVa3wTa4jJZr5qYkJMi9ehgJX2PuV7nxBaJRqgyhO1rT1bsQrlWRRz5IU caPOw/ZsGW49bQNcY+7v6RYMcPnBNYgj1DZpAcixV9YBNLfg/7lU7akhj1eEQEUgP0fP znnbaz80MCxX9aNuDCqoymnazvRVPgZ+G53lsN41xylYlsgmaV8c7FrwxfwLSB3Keo4n U7jX/o3IunqyVXTZZDfZogUiO352WjQEptft3xbeoZSKhUHIWyJ1ZitDKkh1pEvfpU54 l49Jm0pfuZot7vy9QjqKodjLi3Up5azBAip+DGCZKeGdF4DhKGKKm42p8Cg9vvv5i83r SMOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091831; x=1763696631; 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=qD3y0SSt7nzx/s6G8IYeUSznWx6wT7uGhkHCZulV5zM=; b=NA+a8ntA5aSo0HtbcIF7m/nJexVIrpzgHajJYdFh1xf78oemx2wm3yMUmiojQUuAi+ 4sbahQg+nWJzQxmq/A3d4X0Q/DhkB5JejKf1t+iRPIih9vmlwS3bnizCmnGJI2wQmsUD tyimkKouIZJV56qv5EmoIaQpx7sZZ+++wJTfbBKz2kyA8KfF2K6yWFSJaaN7oTjgOofA k37897O2Xgur03wNHMKy8uzfeOGsw7yR5oAK5+DwdSyOG0pXhRn6d3exzyPcOPW8M4/l tUCj/d+FXWESJDE8O9HeVt24+YEa6YQV1DoVZMWikFn6cRIfdz52q+1ZnppwPq/kBFKj UMGA== X-Forwarded-Encrypted: i=1; AJvYcCVVEus0LsSAmkRegfRr/URBiGZpULwXdbjPx4LXGcup07/5v9asvy+bOnj0bXEfBMkxmsMdtG3RfNztZRc=@vger.kernel.org X-Gm-Message-State: AOJu0YxH6sY3i5DeMpeD4FPzJgBvpJzucYLGbjCFid/BPKQ9VK0Uzr0L QkqqnB3aC7hHsIqa+Txg90WLaTOp3tHz6I8R6DuPluHM14r3F611BUJ8dQWLiCAkS5UBow8ua0H JQp8jkOI92o2ZgnEZn3xvjETtULxzlHUHx7ciP1ZC5O3s6oQy0DP108CFBNlvwMOHxic= X-Gm-Gg: ASbGncvioAqINuHPvP4vrk0HNCHTcn2wAZ9AQLNZ9lSm7gP8qyG4hgeXPWYkiMo1of4 tHLnEsT/D/IklOTFUyyLTYYV8GjECKsDtC4GbwaX0o29y36WTOh5pAEE+6bVhUgmTD4TWq8gXCI WT8BHOR67Iv2N+xotfiMLk/SEbchUcPMHH7L/nfGymjIsK/aoUHyw7Cdn8rYHdIRFrkHyI3ptZA VMkxyZe8CaRhsGqbMtOpcmjiqIKFU6RVm00H6w7cX6xuuWJVaqUyWtF4pktHl0imUaH5ShF/ory jBBmwhtImggUK80bZBskmntGHj77ziVlZ2VVYei2pGjZT8xjpVmFYioHs6aSPfbEpvIU3+e18X5 ikl+IwW+/hF7I7UT0n9S6HSwYDn5t5rOwlVzHxWPOy9/Kz3r87/Cdrxi7ZXZimMVQkh3k3RUVrZ 2WhV3kCsGUFBS/ X-Received: by 2002:a05:622a:19a9:b0:4eb:a6c5:f6c7 with SMTP id d75a77b69052e-4edf2060140mr29111771cf.2.1763091830888; Thu, 13 Nov 2025 19:43:50 -0800 (PST) X-Google-Smtp-Source: AGHT+IGDUrZrpOfkxuu2QnCmXbhASIGTxd5Yc/oCnlPkzgq2c9dyUHIG6LLVEyybQSqLeChliuOewQ== X-Received: by 2002:a05:622a:19a9:b0:4eb:a6c5:f6c7 with SMTP id d75a77b69052e-4edf2060140mr29111551cf.2.1763091830423; Thu, 13 Nov 2025 19:43:50 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:43:49 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:33 +0200 Subject: [PATCH v3 06/12] drm/msm/disp: pull in common YUV format parameters 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-6-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=10606; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=wQ4EPeLyGHhSl6u2Yto18CwT2uBhHyqQhzQUmV+w91A=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVl/nZv2NQywFC1k5OvxkHDZxZW4yS8sY9Y3 R4JhyH9m32JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZQAKCRCLPIo+Aiko 1a/KCACP4oGXDCBhHf94lE6C6JJUX7Zb33oaTJqEUDAvc3QXiUbhOTVvGgTIpExeANy3iWRM4yx wElr3yg6MWQYQiDhHZrsXt81Vj2CpdLIyuIrAKaTQlhXJpwUNTvkpTk17xtooisDYj56s+3cVa6 Q3fQyoOlUenWgA9+n8KOizJvcG8icflOOeIQhLsUAEJsMOGx0RSdRVU6EcmGS7ZVqTcCihM0buX UXlDVraeoY1GS33tmOX77nRPfXxBmSAUnPvByNLtvSnhAy8FtJTm7gmiDJnjbukkcrcwIxTnIrg NQ3ieJnQ/wZGrhLXdZWQLmg4lyx4FwnM+g7RauDvL7VxxLMc X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=L+AQguT8 c=1 sm=1 tr=0 ts=6916a577 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=J-CC3KfA7NYzMh5jGAsA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfXwYwnAh4zNRmH eAPtaBE6agKANRKD26TphoetCLwLfNoJogRthc0LsgmIi5Kc6BAGwG4DpMrfMm9F4siryYmnq+C GdCG0rbZwOm+1HI519e/o/zqFiGUAE/TbGlj5PvGMZx6JO8BWvQsfSW6EyDrLkTUvJvjImtLnNP JE3NR123HXg9+QrRqmRNcmeR11K2BnaoC95ZliJGf+zkMmN668J3fPXANg9yHctSdppHdG92ra+ 7714WtrIfXdeDkmsAkQfXJJoPFK7t+NbIhMPAQZDruX/+vqivzs5aAtjgLUe3x4WUEv391Z6tmD WVNs2IfvC2T55U+ZYovEpKReDaQaik84QOQwRoV1/NG5oCKztTYWxUopQHF4G8l2AjX4+ehvV1h 905VYK6X3EkA6dcdzKcsLFv7/7XeSw== X-Proofpoint-ORIG-GUID: xRNyiFNwlhuDorNSuKhYs9OFeUVcJQVE X-Proofpoint-GUID: xRNyiFNwlhuDorNSuKhYs9OFeUVcJQVE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 impostorscore=0 priorityscore=1501 adultscore=0 clxscore=1015 bulkscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 Pull common params of YUV formats into corresponding macro definitions, simplifying format table. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp_format.c | 120 ++++++++++++++++--------------= ---- 1 file changed, 56 insertions(+), 64 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp_format.c b/drivers/gpu/drm/msm/di= sp/mdp_format.c index d577b3d53fbebced63792b5c65f50dd45211c8ea..900b2de252a6eb2eac3d0670f1a= aa77f7520fd77 100644 --- a/drivers/gpu/drm/msm/disp/mdp_format.c +++ b/drivers/gpu/drm/msm/disp/mdp_format.c @@ -244,27 +244,27 @@ static struct csc_cfg csc_convert[CSC_MAX] =3D { .tile_height =3D MDP_TILE_HEIGHT_UBWC, \ } =20 -#define INTERLEAVED_YUV_FMT(fmt, a, r, g, b, e0, e1, e2, e3, \ -alpha, chroma, count, bp, flg, fm, np) \ +#define INTERLEAVED_YUV_FMT(fmt, bp, r, g, b, e0, e1, e2, e3, chroma) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ .fetch_type =3D MDP_PLANE_INTERLEAVED, \ - .alpha_enable =3D alpha, \ + .alpha_enable =3D false, \ .element =3D { (e0), (e1), (e2), (e3)}, \ .bpc_g_y =3D g, \ .bpc_b_cb =3D b, \ .bpc_r_cr =3D r, \ - .bpc_a =3D a, \ + .bpc_a =3D 0, \ .chroma_sample =3D chroma, \ - .unpack_count =3D count, \ + .unpack_count =3D 4, \ .bpp =3D bp, \ - .fetch_mode =3D fm, \ - .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | flg, \ - .num_planes =3D np, \ + .fetch_mode =3D MDP_FETCH_LINEAR, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_YUV, \ + .num_planes =3D 1, \ .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ } =20 -#define PSEUDO_YUV_FMT(fmt, a, r, g, b, e0, e1, chroma, flg, fm, np) \ +#define PSEUDO_YUV_FMT(fmt, r, g, b, e0, e1, chroma) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ .fetch_type =3D MDP_PLANE_PSEUDO_PLANAR, \ @@ -273,13 +273,14 @@ alpha, chroma, count, bp, flg, fm, np) = \ .bpc_g_y =3D g, \ .bpc_b_cb =3D b, \ .bpc_r_cr =3D r, \ - .bpc_a =3D a, \ + .bpc_a =3D 0, \ .chroma_sample =3D chroma, \ .unpack_count =3D 2, \ .bpp =3D 2, \ - .fetch_mode =3D fm, \ - .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | flg, \ - .num_planes =3D np, \ + .fetch_mode =3D MDP_FETCH_LINEAR, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_YUV, \ + .num_planes =3D 2, \ .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ } =20 @@ -303,7 +304,7 @@ flg, fm, np, th) = \ .tile_height =3D th \ } =20 -#define PSEUDO_YUV_FMT_LOOSE(fmt, a, r, g, b, e0, e1, chroma, flg, fm, np)\ +#define PSEUDO_YUV_FMT_LOOSE(fmt, r, g, b, e0, e1, chroma) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ .fetch_type =3D MDP_PLANE_PSEUDO_PLANAR, \ @@ -312,13 +313,15 @@ flg, fm, np, th) = \ .bpc_g_y =3D g, \ .bpc_b_cb =3D b, \ .bpc_r_cr =3D r, \ - .bpc_a =3D a, \ + .bpc_a =3D 0, \ .chroma_sample =3D chroma, \ .unpack_count =3D 2, \ .bpp =3D 2, \ - .fetch_mode =3D fm, \ - .flags =3D MSM_FORMAT_FLAG_UNPACK_ALIGN_MSB | flg, \ - .num_planes =3D np, \ + .fetch_mode =3D MDP_FETCH_LINEAR, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_ALIGN_MSB | \ + MSM_FORMAT_FLAG_DX | \ + MSM_FORMAT_FLAG_YUV, \ + .num_planes =3D 2, \ .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ } =20 @@ -342,23 +345,23 @@ flg, fm, np, th) = \ .tile_height =3D th \ } =20 -#define PLANAR_YUV_FMT(fmt, a, r, g, b, e0, e1, e2, alpha, chroma, bp, \ -flg, fm, np) \ +#define PLANAR_YUV_FMT(fmt, bp, r, g, b, e0, e1, e2, chroma) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ .fetch_type =3D MDP_PLANE_PLANAR, \ - .alpha_enable =3D alpha, \ + .alpha_enable =3D false, \ .element =3D { (e0), (e1), (e2), 0 }, \ .bpc_g_y =3D g, \ .bpc_b_cb =3D b, \ .bpc_r_cr =3D r, \ - .bpc_a =3D a, \ + .bpc_a =3D 0, \ .chroma_sample =3D chroma, \ .unpack_count =3D 1, \ .bpp =3D bp, \ - .fetch_mode =3D fm, \ - .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | flg, \ - .num_planes =3D np, \ + .fetch_mode =3D MDP_FETCH_LINEAR, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_YUV, \ + .num_planes =3D 3, \ .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ } =20 @@ -511,72 +514,61 @@ static const struct msm_format mdp_formats[] =3D { =20 /* 2 plane YUV */ PSEUDO_YUV_FMT(NV12, - 0, BPC8, BPC8, BPC8, + BPC8, BPC8, BPC8, C1_B_Cb, C2_R_Cr, - CHROMA_420, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 2), + CHROMA_420), =20 PSEUDO_YUV_FMT(NV21, - 0, BPC8, BPC8, BPC8, + BPC8, BPC8, BPC8, C2_R_Cr, C1_B_Cb, - CHROMA_420, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 2), + CHROMA_420), =20 PSEUDO_YUV_FMT(NV16, - 0, BPC8, BPC8, BPC8, + BPC8, BPC8, BPC8, C1_B_Cb, C2_R_Cr, - CHROMA_H2V1, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 2), + CHROMA_H2V1), =20 PSEUDO_YUV_FMT(NV61, - 0, BPC8, BPC8, BPC8, + BPC8, BPC8, BPC8, C2_R_Cr, C1_B_Cb, - CHROMA_H2V1, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 2), + CHROMA_H2V1), =20 PSEUDO_YUV_FMT_LOOSE(P010, - 0, BPC8, BPC8, BPC8, + BPC8, BPC8, BPC8, C1_B_Cb, C2_R_Cr, - CHROMA_420, MSM_FORMAT_FLAG_DX | MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 2), + CHROMA_420), =20 /* 1 plane YUV */ - INTERLEAVED_YUV_FMT(VYUY, - 0, BPC8, BPC8, BPC8, + INTERLEAVED_YUV_FMT(VYUY, 2, + BPC8, BPC8, BPC8, C2_R_Cr, C0_G_Y, C1_B_Cb, C0_G_Y, - false, CHROMA_H2V1, 4, 2, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 1), + CHROMA_H2V1), =20 - INTERLEAVED_YUV_FMT(UYVY, - 0, BPC8, BPC8, BPC8, + INTERLEAVED_YUV_FMT(UYVY, 2, + BPC8, BPC8, BPC8, C1_B_Cb, C0_G_Y, C2_R_Cr, C0_G_Y, - false, CHROMA_H2V1, 4, 2, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 1), + CHROMA_H2V1), =20 - INTERLEAVED_YUV_FMT(YUYV, - 0, BPC8, BPC8, BPC8, + INTERLEAVED_YUV_FMT(YUYV, 2, + BPC8, BPC8, BPC8, C0_G_Y, C1_B_Cb, C0_G_Y, C2_R_Cr, - false, CHROMA_H2V1, 4, 2, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 1), + CHROMA_H2V1), =20 - INTERLEAVED_YUV_FMT(YVYU, - 0, BPC8, BPC8, BPC8, + INTERLEAVED_YUV_FMT(YVYU, 2, + BPC8, BPC8, BPC8, C0_G_Y, C2_R_Cr, C0_G_Y, C1_B_Cb, - false, CHROMA_H2V1, 4, 2, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 1), + CHROMA_H2V1), =20 /* 3 plane YUV */ - PLANAR_YUV_FMT(YUV420, - 0, BPC8, BPC8, BPC8, + PLANAR_YUV_FMT(YUV420, 1, + BPC8, BPC8, BPC8, C2_R_Cr, C1_B_Cb, C0_G_Y, - false, CHROMA_420, 1, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 3), + CHROMA_420), =20 - PLANAR_YUV_FMT(YVU420, - 0, BPC8, BPC8, BPC8, + PLANAR_YUV_FMT(YVU420, 1, + BPC8, BPC8, BPC8, C1_B_Cb, C2_R_Cr, C0_G_Y, - false, CHROMA_420, 1, MSM_FORMAT_FLAG_YUV, - MDP_FETCH_LINEAR, 3), + CHROMA_420), }; =20 /* --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 6C914280318 for ; Fri, 14 Nov 2025 03:43:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091838; cv=none; b=l6hs3YbyL16rNuZzcgTpKKzKPGjpDb9pelD5tD7PlzSE9NUQKZ+F5t5ygVOY1MNMgZKSZZ7YUGUG0YUt3se+IADtdetq0jLOn6rxnUwOan1dkqUC74NHY6TjZx1+jDP2gvIBQ603p/Ypx2uEeGqu/Z+THOAEigB5nf9b9vDkVX4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091838; c=relaxed/simple; bh=L3cuMpvZrODm9ou9XwGWI5E1+eCfCXPevZkiItqJ8xY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rHyBXUMkRjZ+dI301dyqTV57eufTo+7mPkcFc+LBTudSobND7Q+8d6NY/ExEpROvs7UDN601Cs2SNGeoDF89dSN4QXZlm15T1sOJtgLQdeHrwFwIgZ/jmJ1DtcgWISI3kd4SnF4gLASTkGYGlDraa5vgbRUtaF3obyKZ6OBbMdA= 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=nvqLUUJ6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CSDFbdlo; arc=none smtp.client-ip=205.220.180.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="nvqLUUJ6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CSDFbdlo" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMb2J51617027 for ; Fri, 14 Nov 2025 03:43:55 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= VssKN6Sifi0waF9P44yLAfWMYEsEhVY78u7bczlXMVk=; b=nvqLUUJ6kfKXdIMF 6b3xDMClSG5WRE4jbio45LQeQQAKk5TWGzeWqwX3JSiVcVMHuJSiHjsKc3L3NB+/ WYU+QEOW220dI6UHBqTRIakYQRmFeJ4Nd0hVAhOz58BsOekDweq2JAhm7eFgRpI+ kULvYU37XJkfxSagplxlTvVuMIz5qh1qRN5qyjPdENzh5+vXJTUp2h8pSWuIF2Aa 7qBIGyj4JLK4uxpWfMfpQcJfRMErwAPiKyHZaIcsmVzP/OCskVuPpKuNuxtIXhY/ TiY91S+GY+EvCkLIFYD0/EbuUE2Fpvp1Qw/ez+u29oQr45vaUiVaZlKHE0MLBg5f fOQZ0w== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4adr9h0pg7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:43:55 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4e88947a773so58049931cf.2 for ; Thu, 13 Nov 2025 19:43:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091835; x=1763696635; 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=VssKN6Sifi0waF9P44yLAfWMYEsEhVY78u7bczlXMVk=; b=CSDFbdlogVS1ZfSnP7Ae5/+j9QT5SPNHmo51cV2uGoEBxUIOqmh26Jk7GmaXOHMe5l dDIXAX2tXddafp+bvD735tSXwTYotyZguOItsyU9C5HPZx24EbNsZbWoYenTNir/yfTu xNFUa4UmD/vmkGE0O7RFk62uurU7JcMQqTOJnweHt5Q066hr+b108dAnr589Y/gQLPhS AN5wBRUaw3+FSMtWoVgwssGBJBuTSj076VBUcZZtFaZZegEfeC2lZ+mPF0tsRDvp3Jpn LbCw2mpB8C3dkeA0u7sRCnXgNCnBahpSVi16KCwKB67Iy3KVT+aQ0qR3BtEwSHQc2Eci mU4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091835; x=1763696635; 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=VssKN6Sifi0waF9P44yLAfWMYEsEhVY78u7bczlXMVk=; b=sFjdSqGaSEY4JCgvT9dVH/WiAAzlgUBfGSd8X4hYjvtIuUJNusxqu8VvhMmbOY7PbE 0LqkBSF4PaBh4YbVS3zWb1pmQXReJ+zjGI13ANJTmcF5IyjPDg2CuV1epAnbklA3NvFP itGl6uD2oeKZa/NvXOxZDI7ZCHvR1TKiGRSjbkyvo+9S6XWEN3578ImQBY0av5PWJsUn o6SaxLaQxK4sv1f7yhmUVmqTw/2EuLUfZnA7QUsKH/FTGwSTF2YcfUNGH5pJILihNLYg PmKw5blyVReHUYgN05FchTehb2AeswlFMsWuKQvv3Yu3nZ0RL6q5elSEu2bmSN/q/Epr PzsA== X-Forwarded-Encrypted: i=1; AJvYcCVbonwozyYAbHj3+gRbO1uC5E5i/LXYrxpMIqQTYVS6LCTp0i7q1nPHMVlJH98zloi9E8IgHnv1NVWnsAM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz3YL+puvi7bgOMOl4wTmcyBhqzYsZBS5sSD34r2LdSUfs3+KGy F57IOMR/6LBUh+sii7eA/LRIn6UM5pArvw3Sng3Qyu0COdp+Y2cPPQ5MHDjcEDtjESetK0N++Vw d+TEp9T3tsslCGtOKhGX+MkTVyCohL6vGOOrl62PYhevTB2nLAKv/xDUkdUlyN1xIxqI= X-Gm-Gg: ASbGncv0q6jtrwQ8ICoIobEif5NN+Hplps6+UUjwz06bgBbFhJrgTmrV8y+1+Mgfi2v vxmY2h6HCctcvqrW2OoqtzmBOIw7FGQ8sepNUHTythM5TR1JaLsjOODgNki6RAPeSdLXJYV4JHs yi0CrzW4wrNsgbVupRSS6s5BUZMl69kvBmflhMzmYmKv5N0L1nbc/c4Dj4hpx48DG9EWiV+8Q78 SdASrxqaJdhMrPQ53yHbNopx/7rcBNj1hlD0LgX/s99JAsesnF/7FvfMZZBBmtGi1Kbcgw5ixCT uJ/Dd/2/92A3AKUi+Hz5FJlTcwsYmmLuZCmqAshORdv5yXXQFsNtDsx5hjpgtLkLsSG+A2chjtZ +8hHRxph/MsL+HXNvjuqGyL4GWA3RIdC+fCN1tdKUBnbCPyftn2XlYX+gyuqWujO9vL4bqQrdsQ DB3P8iLl/GHUu+ X-Received: by 2002:ac8:59cf:0:b0:4e8:b446:c01b with SMTP id d75a77b69052e-4edf212eb18mr28250451cf.61.1763091834632; Thu, 13 Nov 2025 19:43:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IE6pNRPl/T3C9NOLtp2Y6CMfEZudfE/w/zfWdDtkzq8zYUchFZXPbhnuWwt+klHR/h2SWE8bg== X-Received: by 2002:ac8:59cf:0:b0:4e8:b446:c01b with SMTP id d75a77b69052e-4edf212eb18mr28250301cf.61.1763091834093; Thu, 13 Nov 2025 19:43:54 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:43:52 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:34 +0200 Subject: [PATCH v3 07/12] drm/msm/disp: pull in common tiled YUV format parameters 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-7-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang 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.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3285; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=L3cuMpvZrODm9ou9XwGWI5E1+eCfCXPevZkiItqJ8xY=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVl75APmQT6bdKu3LUHVA6hbd0R/XuXy63Jy bscVZzzXs2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZQAKCRCLPIo+Aiko 1cJYB/9lV1mW14pxF9PQ0KzXjklHZYmd3qbDxVDzttICvyd9Gj70kU3WK1lZTd6Cn/AbVHWdO9K 65ZwBhSYnio9gIv2rCj177tC7obYiDpX1XE3PmlICo0Pyap2pKiq8/RWxDRx7TfVEttBIq3cpT1 ZDKJDBPQd9vDcAkHBkpplAQobz15rhGscDHe+9gzR6osDk55tVogMAzEqKXhaWvb1YsTkNbjhls HvNFXdSFzJ6Jx31rL5727eOpf2L8gI5Cb9ylgLkkG3u/BkgF1GEctjGqXcbWErWjfMU2VWHrkys u+ktZKtolAPEtBs8JgxqlNrdyKyeLA8Bo3J36vgCeovSXH7e X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: pHjRdGPLJh7eXI_YXJ4imblk3M-LHyJc X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfX0pICYZ1ZNkWH 7ZE1C78qaa08dBWLLZ9QrH0E9/hbCmHAJSw4zUAQ9wyiVL/ro6Q6/+1EPOQq5XboJoVFNWPh8ko WGpGHCdFVUcF8/J6vZh8N8sf7UKU6cvd7sUkCY5R7v+sCnD8d79PqtuoDUU/QxCe70CeQgWHDeD k1v9sjrx4DNZO9k2roQ5p8rxuF41PVnmq/0a3+hKvOE5Dsp7jsOTkx6jHyroXGYEEXHoJ67pqBy fRyAV0nzmftNmnDAVVMf4WSzvUgpXeQsj6TpIi0L1pw2WRw0jwa64nVIoP+7oPk8/TMP2BUi9iD R03k4aRX4qmYpIuWFRxyY9NZA0e1FbnRc8j8FKNAFbMD739qmCvoZ3j/9jryxHX19QBxXZZDFT2 es4yIAKf/1t5lt74V6rNeC8yIoPoeQ== X-Proofpoint-GUID: pHjRdGPLJh7eXI_YXJ4imblk3M-LHyJc X-Authority-Analysis: v=2.4 cv=V+1wEOni c=1 sm=1 tr=0 ts=6916a57b cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=FCw1dLDEiFPyt24oSuoA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 phishscore=0 clxscore=1015 spamscore=0 priorityscore=1501 impostorscore=0 adultscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 Pull common params of tiled YUV formats into corresponding macro definitions, simplifying format table. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp_format.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp_format.c b/drivers/gpu/drm/msm/di= sp/mdp_format.c index 900b2de252a6eb2eac3d0670f1aaa77f7520fd77..5a1efbd99beeaf454f726e2824c= b26d2bf31cf22 100644 --- a/drivers/gpu/drm/msm/disp/mdp_format.c +++ b/drivers/gpu/drm/msm/disp/mdp_format.c @@ -284,8 +284,7 @@ static struct csc_cfg csc_convert[CSC_MAX] =3D { .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ } =20 -#define PSEUDO_YUV_FMT_TILED(fmt, a, r, g, b, e0, e1, chroma, \ -flg, fm, np, th) \ +#define PSEUDO_YUV_FMT_TILED(fmt, r, g, b, e0, e1, chroma, flg, th) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ .fetch_type =3D MDP_PLANE_PSEUDO_PLANAR, \ @@ -294,13 +293,15 @@ flg, fm, np, th) = \ .bpc_g_y =3D g, \ .bpc_b_cb =3D b, \ .bpc_r_cr =3D r, \ - .bpc_a =3D a, \ + .bpc_a =3D 0, \ .chroma_sample =3D chroma, \ .unpack_count =3D 2, \ .bpp =3D 2, \ - .fetch_mode =3D fm, \ - .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | flg, \ - .num_planes =3D np, \ + .fetch_mode =3D MDP_FETCH_UBWC, \ + .flags =3D MSM_FORMAT_FLAG_UNPACK_TIGHT | \ + MSM_FORMAT_FLAG_YUV | \ + MSM_FORMAT_FLAG_COMPRESSED | flg, \ + .num_planes =3D 4, \ .tile_height =3D th \ } =20 @@ -623,19 +624,16 @@ static const struct msm_format mdp_formats_ubwc[] =3D= { C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), =20 PSEUDO_YUV_FMT_TILED(NV12, - 0, BPC8, BPC8, BPC8, + BPC8, BPC8, BPC8, C1_B_Cb, C2_R_Cr, - CHROMA_420, MSM_FORMAT_FLAG_YUV | - MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 4, MDP_TILE_HEIGHT_NV12), + CHROMA_420, 0, + MDP_TILE_HEIGHT_NV12), =20 PSEUDO_YUV_FMT_TILED(P010, - 0, BPC8, BPC8, BPC8, + BPC8, BPC8, BPC8, C1_B_Cb, C2_R_Cr, - CHROMA_420, MSM_FORMAT_FLAG_DX | - MSM_FORMAT_FLAG_YUV | - MSM_FORMAT_FLAG_COMPRESSED, - MDP_FETCH_UBWC, 4, MDP_TILE_HEIGHT_UBWC), + CHROMA_420, MSM_FORMAT_FLAG_DX, + MDP_TILE_HEIGHT_UBWC), }; =20 const struct msm_format *mdp_get_format(struct msm_kms *kms, uint32_t form= at, --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 9608327FD68 for ; Fri, 14 Nov 2025 03:43:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091840; cv=none; b=rc0Xeelfsy8m1e/rRJVlP3TjrKQJd7586bIRAThSMQayFZK/y0ZkLCmYRoDvPnI4sN75A5151qNDUiRt5Vnv56yOjyqRhaaaYyA4NZgPZf1oG9QVg/hczO9Wq4E2zebclHCH4chwCFOAc5Wpv+S/koDN8ik5etoymLJdQbuI+W4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091840; c=relaxed/simple; bh=EfFodWq2fss0e83GymFoQFbaTtvN367Me3klIoPCb3Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cESTQWQL56mLWUUK1eKTC8tDMPV8ySapzrZY/qslTJL6KvcWEwsu62lORZKl6J9pRV0DDKhy3jmuKKepFeaGkp9ISGpailjDPlUzKQ2+LfX/mygCirHhudeKg6Y1ys53Wh9xXcy6kk+dm1la34ksbkzXW35Sc6qxCVHW5wVYV1o= 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=LPjHnWB5; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=T+pi8M5n; arc=none smtp.client-ip=205.220.180.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="LPjHnWB5"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="T+pi8M5n" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMb3LM1590811 for ; Fri, 14 Nov 2025 03:43:57 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= mlkabq2QaGFzbiQeBWEWbS6GvKzbru/Mv43LmIPCIUY=; b=LPjHnWB5rzvubU3o 79ljHc3h2Y7x/2D75aNsT865jnL/ugrwxn5pfVmvzmHbFSiZnkrDgnplGnvJ3p+y Mt9fCIBcPfY0ahZjdaEK8/1I2FjHEYfov/4neCKqOaZYzp4QBJC/SDjm7NefounP LLx7yGAoReFzuC3W8Zcf+XHHtM1Xh+Hr/eMAGvnuRbBTNiiwbCHP3moj4XS5tsUz NeC5tTpHwedRhGp2ySGGMdA0FekTKfVsKREWWKWrXHudtt5u4iMzwdET5EfKOwQp I3VMolu9/zViKNaCvK+tg1KfKS6oS6zzjleqYYKjmPykVlhq4vhN7L40xdf5FGxy QfZdhg== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4adr9frpxh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:43:57 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8804823b757so83893446d6.0 for ; Thu, 13 Nov 2025 19:43:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091837; x=1763696637; 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=mlkabq2QaGFzbiQeBWEWbS6GvKzbru/Mv43LmIPCIUY=; b=T+pi8M5nVP3Daiuw+R+17ivWoqO7sDKSObfqdMvSfIt1Oa0nWwnXSJwaBGnfMdD7ZC jGpxLrL3jQK5rjb2JGKYkO1bkl9eYnQ75eCfBJfgYJ03KYxQsnwPMsyCH5cJgRefIO0L UGneYJKb2VGL5j5HSsMxFI8NtabNXlcgFPnOt6cV+jlB9lxBKshUUB97Mpaz/t1Zi1// XNevYdKHTr5w+fG7YNzOhdM1tvyKA8WJ1i9DsZ2/qcX0+sksx+pu+sOfxMmUh1GPf8MY HZem8Ae+/X4U64Xc3NluQknQ9OAA6XdIItXuJ+jzeHHrCfxK/T42X65T2xI7KGXri5Ea uSIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091837; x=1763696637; 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=mlkabq2QaGFzbiQeBWEWbS6GvKzbru/Mv43LmIPCIUY=; b=mvqB+38XkqnwCRSBcRcRby6IrJEgJpYzS1c8yFSJQqpLwrV+W3Hi179qP65b+kU7NC qM4yrAaY43XUmqvwdWHPG+U90okzfN0+JdQfwwdW9CswYGzHn67KXlaR6DVexDjFjE3u pzETJ23PIiE/8jRgA/MXZ0I+BZH4EuBfiiyHVDX8TLJ5t9xgADcimyNC5KdXaG4gr97M vweXf1x5Rv99XphB9UpaZMecVuNr2wMQN4b6/0AT19H5ZqAWtOBifYi+aTL6Ri0JXkRM UbPwk+DP81o+CTuEVIyUbxYj3XRPuStl4FJVJHLl4AXJYuPHZ0+sdw8JAkVgQShJFNme VGsA== X-Forwarded-Encrypted: i=1; AJvYcCUr4vAL+4gXrAZGUUO8OuePWmKZM4eXquAA1psXjXMMhrEfzSEjcnfhuZcaXjQG/Tw9552ZUgJbVYW1ld8=@vger.kernel.org X-Gm-Message-State: AOJu0Ywye8f18x0CNA3703VxAqwJsYS8X6cNvMptkuDW2mPy7HoIr7XB HbbqrMs2MLBQ+t8ypeXKpb+tSOmin7DMe29Ss5MS0QSIZiYuI2pvEpUxhDYjV62RIz9Ez1TnBBe Oxcui1j3YrWcFGkDgDfjlyjhW+NrOD9DWN65h9YigZWBlRPay83wEn27trYza0eLYs2k= X-Gm-Gg: ASbGnctCZB600NWuvTMv9ZJLPbShiOWoO10QYn2SydgLjj1IeWBMGiwL1ZwZbNraYag zrTfa5ukxxR3HJ5yEQtq/FZp8JFNIgvrOAsIa6FpF+oKAMiy//d0TwJgsfVQCfEEMgV5uDBwgZy owT1ApS0XMghf0PuA/V5lXQvPujqNwX849mVIsCf4cnDkSjT+B6GPL8ymskK6042ALfm6LmScpc R+wd0888JQgCghPKRUnY1O4mwrPqB22dvfjEZFoLbjHKPlZe5CXHQd8GcTxzrUAg8UZWp70lreg qlR59vJCdz85m7qv3EvQvaPb5MEV+84667dfvt9mozrnroadLnQQMxqDFLoZ9nCzfRFRk4FntlQ MebCYMW7Pdk8vOED0d8Lua+iFG7w/kKwFZUTGSoMkb9mhfpFNwgh7G1AVFcE6Me3qp5aN5H3Pc1 Zu0S4Axz2dN/Qw X-Received: by 2002:ad4:5ce2:0:b0:788:82e0:3a9 with SMTP id 6a1803df08f44-88290f3fa13mr25626776d6.21.1763091836866; Thu, 13 Nov 2025 19:43:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IHelPfmbqEPEaJV9rhK/zZRhzFOZC07eb56SvApfcmSy5Au+W5kiqFYSczUx0p26Bwj5dtUkg== X-Received: by 2002:ad4:5ce2:0:b0:788:82e0:3a9 with SMTP id 6a1803df08f44-88290f3fa13mr25626556d6.21.1763091836400; Thu, 13 Nov 2025 19:43:56 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:43:54 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:35 +0200 Subject: [PATCH v3 08/12] drm/msm/disp: drop PSEUDO_YUV_FMT_LOOSE_TILED 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-8-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2270; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=EfFodWq2fss0e83GymFoQFbaTtvN367Me3klIoPCb3Q=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVmVQ5P/YY6C98/98eRr+wqSpCN7yvITy5eM pNHSaY/hLuJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZgAKCRCLPIo+Aiko 1QVaB/93/BzR7UT472jfC8Bhav9semHxAtFdh6/6cz1OgwcifgEPOE7dJ9WAvPM+cfRFMBBTG/Y tZWaZzHXypJIb0gCAWoliy8cMLi34/tC8v5NekUtQBs5S9BST0VqPFuvvjjwzq+vPY3v1caiP4R J0BYXBuZXWQzpHAVdlvk63nmWgal25Q0j7Q6oEpj5knBdEaYZhBnWvJlIPEZbYzjyt1eDucqbWi W/67VwuQJLjM5M91cPlQjX09zzVKLR3H5R/mG5exVS9+g8S2rhknzD/w5TB4kCFqJQJ5dLqsGJq s5ltuJ8FtReii9Abdg786LREwo/wIRY+qxPQHLOxFkY5nFvM X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=SdD6t/Ru c=1 sm=1 tr=0 ts=6916a57d cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=iz29p33r4uX7jxN-whAA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-GUID: Rt6gaf-KpgV9CZCgXQOtZzOGRuQiJxUP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfXwbjCXi30a4gF lPOognHFrORXTXZ0ICUJOS4Dha+kFfRzBbgPgYRTZZrHQHwTyjTDWoYd184hyN2yaswESkfNFtp Hqwx04ymPEgqxQFvFabTkMBe2Zhr9mijx0+RHOR4SdSewXiNrdtIbiQUPTfXFZaSODYczwRDeK/ t7Rv+xGIbizzyDBnS8zQ7exeebzXNT6Fzgc1JCPBtGwXYOBzcSA1Yx5OGbyYsCYXrTlJXu0tpw2 Wi4r6iSg6gJtjtMYIeOjqQcF8z0NL/hXvwf/uJgtN/10rmLKl5CyPT7GKKytevdKD9vu57Q9Qel UKVxa3ckNYnyXyXrNOit/53EJ9ctjjdVNYFunjyFjquqdGhtybav7nwZdy/uYBT6oBBFAVPnc7u dmuIDOGFtglSs73JDUHJoiApaUhEkw== X-Proofpoint-ORIG-GUID: Rt6gaf-KpgV9CZCgXQOtZzOGRuQiJxUP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 priorityscore=1501 spamscore=0 bulkscore=0 impostorscore=0 phishscore=0 adultscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 Drop PSEUDO_YUV_FMT_LOOSE_TILED(), the macro is unused. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp_format.c | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp_format.c b/drivers/gpu/drm/msm/di= sp/mdp_format.c index 5a1efbd99beeaf454f726e2824cb26d2bf31cf22..33da569eae5efebf39e91be1bf6= c8b5c22bcac35 100644 --- a/drivers/gpu/drm/msm/disp/mdp_format.c +++ b/drivers/gpu/drm/msm/disp/mdp_format.c @@ -326,26 +326,6 @@ static struct csc_cfg csc_convert[CSC_MAX] =3D { .tile_height =3D MDP_TILE_HEIGHT_DEFAULT \ } =20 -#define PSEUDO_YUV_FMT_LOOSE_TILED(fmt, a, r, g, b, e0, e1, chroma, \ -flg, fm, np, th) \ -{ \ - .pixel_format =3D DRM_FORMAT_ ## fmt, \ - .fetch_type =3D MDP_PLANE_PSEUDO_PLANAR, \ - .alpha_enable =3D 0, \ - .element =3D { (e0), (e1), 0, 0 }, \ - .bpc_g_y =3D g, \ - .bpc_b_cb =3D b, \ - .bpc_r_cr =3D r, \ - .bpc_a =3D a, \ - .chroma_sample =3D chroma, \ - .unpack_count =3D 2, \ - .bpp =3D 2, \ - .fetch_mode =3D fm, \ - .flags =3D MSM_FORMAT_FLAG_UNPACK_ALIGN_MSB | flg, \ - .num_planes =3D np, \ - .tile_height =3D th \ -} - #define PLANAR_YUV_FMT(fmt, bp, r, g, b, e0, e1, e2, chroma) \ { \ .pixel_format =3D DRM_FORMAT_ ## fmt, \ --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 01CF72874E4 for ; Fri, 14 Nov 2025 03:44:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091842; cv=none; b=BAW6hjXo6LhUuDJ27sBic/0w5lON/ynKpvRMEIHDC9YiPJ9zJ381NXy2z7kCcsg6QPJNAe9COeVh5ASrmJ9hkfmDSlRUIa7UoMfxjwZSstEIOa1MXPaje0NmDL2Eh2pWyQZvBiJBB1Tay0ai+IjZ1JBMdJBMOzfmtcDELF/Bk+Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091842; c=relaxed/simple; bh=WoQwPaYT17nL1Br+zX86+Qp7PWFhUGo91Cg+FYjNB8k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UiO70IKiepq/C4S1vsbD2uW6nHFD+EplyDIDJH4wHXbtjMH9z8yuGg1giFfgEQ8mvtvJuRQRUWkSYu+uvg0+dCmEd23HqfaeCxMw1jzP7Z642XvWkDMxSll3zeldPRloAPTD0yLxBSb+Yd+44MFxUU0YWaFQRvUlHz/Xt4yQij0= 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=eXXbb0a1; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BCjG9zmj; arc=none smtp.client-ip=205.220.180.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="eXXbb0a1"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BCjG9zmj" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMavhW1613139 for ; Fri, 14 Nov 2025 03:43:59 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= UL6FC9bIfdJnNxJU/an98ngZcCH19v69FY5RCyV+0QY=; b=eXXbb0a1B8BWaG8W gHomVmNysDx/s/fqTXMXUE6i80MtIYuX7RHZpXcVLPc2ltv/xxm2MGPyjD2pQG52 iGvu7/lqwxFSNP5Z1SYzLXCHn9qyMC0wKPu+ljtue8FU1ba7iagPTtBmqFIX3Uk1 wOz7IdNwDqivh+n7I0pz9EdIJB+weRWgR25YdC8NoTm6RYq1z4UxOpAsR8F6nx9p Yckr7JE8u2L56o4rD1tIqTNQ/c9H7Sr15UMxvCwkBP4hwpPGRWhqCZwEYJEStLuu vEWx3QobTOIvGDel1qWUJMfJNX8ui5R8NQnWaB+5i0U/jmuQvKhQJ80PQUqYM52c iJhqYg== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4adr9h0pgf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:43:59 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4ed69f9ce96so71882681cf.3 for ; Thu, 13 Nov 2025 19:43:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091839; x=1763696639; 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=UL6FC9bIfdJnNxJU/an98ngZcCH19v69FY5RCyV+0QY=; b=BCjG9zmjWcaAbNjavPcrvrq9Grm8ikhWrdkQXRT36ub4Jd8qH5ZfJoopoCQ0uA16nV iQdzHeKD1+DV7ykvqW94mUmlC6ZB6MhSqwZAHV9yaO9UiZj5z6lRcS5Nrb4fl0jduY4A J61HLCeT7tfpO+9gBofkfx1+ugwM7yPaNNtnYUt8AK1/PJ2O3BM/FiXe8NTcGhbfXQoT h+oKTiuVt+qKv4FquRb4gxOrTqf48nqXIeS29schKqMUSt+xonylS/OoMRmonekQP6pq xHsnmIb0lql3IyUkp4gEj6BI0i81oZL+866CcdW1OkF3KzaXnw3lHDFYRgfqAl0o3fwL cNOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091839; x=1763696639; 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=UL6FC9bIfdJnNxJU/an98ngZcCH19v69FY5RCyV+0QY=; b=SqrXuaX97keAzhN4+yHdPRUdq2uJ6bze6HYiZ4VeVg6KFvA1CvR8W2AfZi2AOE/L5O Y/+uLFh+fKlWrjcAytQTocwKbtr/X7zoo8Qi4OOTH6+7ydXARForId21rxPrAaFhw+EK 90HtEKAYYzzLyA43GomS1kfSYQPJdkJKeHfORkeiy/5Kmrbvq5HaBy384jMwQP+Eeeu3 NkgO7fzEOnXRsf3HACp2bxM7QzLVBSvnww7m8hBu3/rEFz6MlRJFbbxUVr8qykZp8/gI V9lmh6srlZj3dyo0XgP0I2iIYlJdm0XELqCefx5kysZbQxLnwm9VyDRDaMCNzTwQcGAe BPkw== X-Forwarded-Encrypted: i=1; AJvYcCU1MmFqRHlzUzhJX1PfE3/3dEZgCVYiRI3QmicIA7cr2tf3OwnGCn2cb7cakinF2caf56US1YFeIzTC8LY=@vger.kernel.org X-Gm-Message-State: AOJu0YxKkvGo9IWL+7IKyrMy0wkZ9veZRZN1uyXA1HF6KNsgEgn2utF1 UhB48dM/zA1xrh7ALWWc59BfhldN4mk1o5AxYLASxhfjjTaMvw3sKNoUC5yU66acA7Yyq3MCuAb V9K7Xah+4UQuZo+2fIyzsH0nSruZcowOPqPxxO0O1aWpRBTNy3R8nM03B/+sSIhy0ZX0= X-Gm-Gg: ASbGncsI9qUuO0D+ED6oJI07O1CfUwF1GQWGcVcJ0QwHJhPNovCryjE+OSkgx1533IS UBBMkIIbRHtQjy1iy8rd/DdzgVXOjjcr8G1nf8pfmMThNzTrhLY2y5eRVc7eJDoK1ZWjWv8da2m PNIc4TSXD8/z2hwFzrl2DPTJ4rm/oghrDBC0DEEyb108tXV+6EAZpU99imKU9DzDQCO9mt53P2l Uzr60vfcBafDUQ0azYhn/DDWE8NiStoLgXPN3LPHb0rnvGQkBP/hqlNLSuVT3eb1a/0m0CRX8Zm Igje7OvZoJxU78WwCbnLq3/4zEaOv67+/DmubBEU6tvYYHNuQrfEyWtWHCqYlQS8DKKeLqmJgHk +ejnf8VpsIu2cg1WMPFifj8nCZTAjdQSeTy9g+h86I/xMkizYULUo9zYd5pG21GsMqSMppi/Krl IgzKSF06D2Zby7 X-Received: by 2002:a05:622a:1207:b0:4ed:6ab0:bd26 with SMTP id d75a77b69052e-4edf20f2099mr28389081cf.46.1763091839093; Thu, 13 Nov 2025 19:43:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IFe2f8Lbu/FOfX0YvReppPSRPSbE6n0Feh23vOIUQ3hbCBCeNR7YOxB4VSUBHICdkaTUVgLBg== X-Received: by 2002:a05:622a:1207:b0:4ed:6ab0:bd26 with SMTP id d75a77b69052e-4edf20f2099mr28388911cf.46.1763091838685; Thu, 13 Nov 2025 19:43:58 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:43:56 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:36 +0200 Subject: [PATCH v3 09/12] drm/msm/dpu: simplify _dpu_format_populate_plane_sizes_* 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-9-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3791; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=WoQwPaYT17nL1Br+zX86+Qp7PWFhUGo91Cg+FYjNB8k=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVm2tsEv2hoR8XMz8JMeahilwCJlIU6yMZ5o dvD64b7SnyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZgAKCRCLPIo+Aiko 1QNtCAChN5raUEgXaH9Dt67R9m/vCMZ/98khRA2EVXfuP1MyoDd/+K4hqhkCU3jjNq4QU2RXoN2 l280nV60PoHcT6GZ6cdk04F0zo6t8g4/uLQJcr5fZ7cg6aR9HGldq2BTfu62DWrRHf0HZ0PZVni 6glUfFUbqzREppdeUVE8VaBdIu6eOZKQuf86v0AF3INhhD0eUb7BRScn2ddKSWmdtzrXq1wZK6u jl+xJA/+sSJwQKsY1HY6pwCz5ImfJizGMAXpOduJQetFmZwaNFItlWtvX+oFaSsP08LJt6Ea0Yb iYHZnyQRgilGaye25pyivkYcmOfpuQ3VEIdpXQJwWMhu8zFr X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: 4lkGLYr_USqhe6rDRF5AKJo_B03xl42z X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfX842qYRtGdGTC yX54IYw76w8Ni6foxJCHaMNFf22NdyLUsS7NM4by7V85HCNH/PgB+VIWGfW6A1Sl2PN48Z8/jqC ccvZQF7u7zbtZ+AT8yRdmICzPcXbfyPxr6T1DJSX9L8thDL0RmdSZ+TucwvFho1h6O7Jv0jE4Z9 9dBCu5fH4CYKN0DFmtSJ4kw1ZFWIMrVJlfKiK9RVXinXvPpk+F494XhQT1QxS6F9RJPe23CwlR9 uZpKyPeUVdAhDLCU3cRAtVakMo0hzTN8u+nQWoZs1zMuj4+BW0hjwD5WyeSwzFSJsyXaHHaqFYB pAZdMXMYf4Iv7XuBnkHr/F/xxM6yYiVEo3nTSY2MzV/l3ooS1ifv3wybL97c/JDLm0vpTvnqWDC ol3dmTw6AvYCLyURUGgec/Umn2IZTg== X-Proofpoint-GUID: 4lkGLYr_USqhe6rDRF5AKJo_B03xl42z X-Authority-Analysis: v=2.4 cv=V+1wEOni c=1 sm=1 tr=0 ts=6916a57f cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=d-fElJfPDvRUhmvKT08A:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 phishscore=0 clxscore=1015 spamscore=0 priorityscore=1501 impostorscore=0 adultscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 Move common bits of _dpu_format_populate_plane_sizes_ubwc() and _linear() to dpu_format_populate_plane_sizes(), reducing unnecessary duplication and simplifying code flow fror the UBWC function. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 41 +++++++++++++------------= ---- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c b/drivers/gpu/drm/= msm/disp/dpu1/dpu_formats.c index b0d585c5315ca0d459c7ab7f936f1ae350a4a520..b950bc827a36c231bcd4a9374e5= 8cde6b41230bf 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c @@ -95,15 +95,9 @@ static int _dpu_format_populate_plane_sizes_ubwc( struct drm_framebuffer *fb, struct dpu_hw_fmt_layout *layout) { - int i; int color; bool meta =3D MSM_FORMAT_IS_UBWC(fmt); =20 - memset(layout, 0, sizeof(struct dpu_hw_fmt_layout)); - layout->width =3D fb->width; - layout->height =3D fb->height; - layout->num_planes =3D fmt->num_planes; - color =3D _dpu_format_get_media_color_ubwc(fmt); if (color < 0) { DRM_ERROR("UBWC format not supported for fmt: %p4cc\n", @@ -128,7 +122,7 @@ static int _dpu_format_populate_plane_sizes_ubwc( uv_sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 if (!meta) - goto done; + return 0; =20 layout->num_planes +=3D 2; layout->plane_pitch[2] =3D VENUS_Y_META_STRIDE(color, fb->width); @@ -152,7 +146,8 @@ static int _dpu_format_populate_plane_sizes_ubwc( rgb_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 if (!meta) - goto done; + return 0; + layout->num_planes +=3D 2; layout->plane_pitch[2] =3D VENUS_RGB_META_STRIDE(color, fb->width); rgb_meta_scanlines =3D VENUS_RGB_META_SCANLINES(color, fb->height); @@ -160,10 +155,6 @@ static int _dpu_format_populate_plane_sizes_ubwc( rgb_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); } =20 -done: - for (i =3D 0; i < DPU_MAX_PLANES; i++) - layout->total_size +=3D layout->plane_size[i]; - return 0; } =20 @@ -174,11 +165,6 @@ static int _dpu_format_populate_plane_sizes_linear( { int i; =20 - memset(layout, 0, sizeof(struct dpu_hw_fmt_layout)); - layout->width =3D fb->width; - layout->height =3D fb->height; - layout->num_planes =3D fmt->num_planes; - /* Due to memset above, only need to set planes of interest */ if (fmt->fetch_type =3D=3D MDP_PLANE_INTERLEAVED) { layout->num_planes =3D 1; @@ -235,9 +221,6 @@ static int _dpu_format_populate_plane_sizes_linear( } } =20 - for (i =3D 0; i < DPU_MAX_PLANES; i++) - layout->total_size +=3D layout->plane_size[i]; - return 0; } =20 @@ -254,6 +237,7 @@ int dpu_format_populate_plane_sizes( struct dpu_hw_fmt_layout *layout) { const struct msm_format *fmt; + int ret, i; =20 if (!layout || !fb) { DRM_ERROR("invalid pointer\n"); @@ -268,10 +252,23 @@ int dpu_format_populate_plane_sizes( =20 fmt =3D msm_framebuffer_format(fb); =20 + memset(layout, 0, sizeof(struct dpu_hw_fmt_layout)); + layout->width =3D fb->width; + layout->height =3D fb->height; + layout->num_planes =3D fmt->num_planes; + if (MSM_FORMAT_IS_UBWC(fmt) || MSM_FORMAT_IS_TILE(fmt)) - return _dpu_format_populate_plane_sizes_ubwc(fmt, fb, layout); + ret =3D _dpu_format_populate_plane_sizes_ubwc(fmt, fb, layout); + else + ret =3D _dpu_format_populate_plane_sizes_linear(fmt, fb, layout); =20 - return _dpu_format_populate_plane_sizes_linear(fmt, fb, layout); + if (ret) + return ret; + + for (i =3D 0; i < DPU_MAX_PLANES; i++) + layout->total_size +=3D layout->plane_size[i]; + + return 0; } =20 static void _dpu_format_populate_addrs_ubwc(struct drm_framebuffer *fb, --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 2644028CF42 for ; Fri, 14 Nov 2025 03:44:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091845; cv=none; b=S6/mbN4nmAg7GIg9NROaqnbcm/g+L0ohwpSM/lyH1LbYYHLdyFVr1InmNGjH44iq6lYmWxUpHny5/dJLnfrW8pZg3SsHOPM3kowQfjCiUvB66GUyisisO1vDR4MiO5iqwFvN0NVT1RiS2/E2PyWzEe4V17JWgAOMwwo2NblL6jY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091845; c=relaxed/simple; bh=CUZnMGZ8RYJTt+WDP6vzq+7HIixspEzZIdAITsMQctE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GrJBEr1HoMafImAAQtGlvL7qyDaaFzYQdhH4vdFd+gNzvhRe/Yk7Zz1dGhyTGdZ836NeJUXWh5IAGXkQnZwl9yzyMX1V5/wX60BLWn3LE59GJ0gb+jDQATzlnvKexnyWnRpmtkFBrL092kQeRuOYhZTxiKATRzw/UQglEPbnmUU= 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=UxuxtLGs; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dF/mEm37; arc=none smtp.client-ip=205.220.180.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="UxuxtLGs"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dF/mEm37" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMb5qv1592303 for ; Fri, 14 Nov 2025 03:44:03 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= oegeyUk2VB2WSErWFmG7bcNFN7Y+V1Lbw5x1rVxCZHk=; b=UxuxtLGs26D0loYP xFC51oq4YvZKUe3E0FG9gEhczDfmadfPIIIMEHnolwcZTEIgkyYEoCFVEGZzTl8W TnahatBjLMVoUjjacJ7Ne1Q16riTlfuoJS0W7yD2MAi+I7k6/mQMkRM1fCQmxXTG tR888lqR4fp8rw5ByuITFTm78ujlZG87b7G7QJBnAp92FFqN5UsqzO+eZPVJNc7e Y/HWVSW1FjNWIjbG8q7NltKOJwbnLKLngsBTxQumXmkAa1bVeVg0el/7+TM4AoG2 f1sq6PrUi0QOjrPqnVHkvKBxbzvGj8wcCdlb+Z2ppWgBl9ED78kfitNLdVZcXOhg yAW7iw== 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 4adr9frpxw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:44:03 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4e88c912928so43877781cf.0 for ; Thu, 13 Nov 2025 19:44:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091843; x=1763696643; 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=oegeyUk2VB2WSErWFmG7bcNFN7Y+V1Lbw5x1rVxCZHk=; b=dF/mEm37KO2kpWzg5SAc55DOUv8FTLz4+ZY7Y5T4GFqKAti8Z+57vPInNW95OI4fga jJzGc3vDOGPed9veXk4qvk/1BMH7RnT2crobxyKIh8DMu6JDTnqorfGlzwPvhIOg4YlB ZQ+9ocsJlLh9putETs2fZNieJqgtrs+cU4QpeQNDVbtJr2wpbUpeoqheZOkg7xP9kXyZ L86krLDxj5oBzsEB2OkBwJ0UOMtjlmo0IsjlGEep/II1KXfOYTKTEJA86q46QK+w/UTO LucYpjNjZPQety7bfCk07Uppwoffa9OnFRUI4m3QHg1NMOBcKuqRy7RpKeW5VrqEcXwz fNiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091843; x=1763696643; 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=oegeyUk2VB2WSErWFmG7bcNFN7Y+V1Lbw5x1rVxCZHk=; b=FByGbUVCzsT+jQIU3VLoDKJc4T12o1p6Ngw8gA7ZG83yEmgVb6vnXL1ioDo57uLvrL ty8Pbu9/Btd126Im/ai62pin6RMTeocZGbkV4wpAqA03EO9tJvBI6JcfjvVPavl41yRh tCW7cSRyRf0A9FixALvb7b02pFwWCMchqp/qlOT8plEq4eG0ivtJyvg/2uqYZ8ZfA8tj 3CAidqdUNFP69zI7IX6COVUI8n7iYEP0O9kYrKwMhYXEsXKxjJ4tm2Sw1WnfXkoA8VBW kN0QK/PxzrKxK0EkyxirAhsvYxmym22n1IuNJpnPEAuSbpxH6UDVVzubB9G/yYCPYQfK 6ymA== X-Forwarded-Encrypted: i=1; AJvYcCVW1JXT8uuHGOR1eF0knWhwqZsNDXs1+R9/Kq8aL3iPiyKj+nqj4m3hLL9ys3Avk5HC/qP2tyGyiP7gy1A=@vger.kernel.org X-Gm-Message-State: AOJu0YyZpkXG5csDCsBlqj742jql/k4nZ2y79C0No2coA3zyzoBb0Vyp ATA0Y3fHAzlp2b48esUa9LFVm69htbLZcebvDAGNyqPn44KPNnzQvRP9vDZXg4b8QtZ0wmH+Zci Wmx9GGm5QnJ5MyO318UmwJNC+kYKEByadEqvw7SNej2X8Ik3Tn90POTPdWMLa3DSCs2Y= X-Gm-Gg: ASbGnctV4Ia+m/+M7KWAXJBox8Vle6E48NfXTJBl0/s9pXY3NeElYGx4phIdvXHjNxc j8q/Ct+jJbbNLL+ierg8NmQnONlZOttUns7YtQO9CxndRlPoF9WZR4CsOSV77vNa8gXN8V+Uej9 Yur0n7Xye9iBCGr17w9BKq5NX8gX48zKKf0lL4RlS9HV6bOsPpWOPGtwo7ca6yR7SL16WRto2PP FHADhuCG+9tcKgdXvy4ms9zrWKVkhSoVRxO+lAkPgyBGeIFLkg/Z8ge/PwxgXolJs2mTb49MYtd FIPxedOVyi7VT6mS+iiWzDKrLCyS3K98EaElA3rs/f8AOEsFrfzY7mjhoORfionJwqRH6UBz3SL yr0aY3/FMiMcqrSemXss/jSjWMmgM5TPK0eDrBrpvJdc4043o8pDIOgYvLfPToiYsXTDVqyFwkI TqvfmynL8l2H1F X-Received: by 2002:a05:622a:1107:b0:4ec:f7de:f5eb with SMTP id d75a77b69052e-4edf20a2ebbmr30359121cf.33.1763091842630; Thu, 13 Nov 2025 19:44:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IFwydlmQi1HPZeW9fs89fnDZmZJmv/lIH/DUJMDvbdfrN/VzzbRgQ82VgzBNNBnbV3LjthPnA== X-Received: by 2002:a05:622a:1107:b0:4ec:f7de:f5eb with SMTP id d75a77b69052e-4edf20a2ebbmr30358901cf.33.1763091842180; Thu, 13 Nov 2025 19:44:02 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.43.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:44:00 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:37 +0200 Subject: [PATCH v3 10/12] drm/msm/dpu: drop redundant num_planes assignment in _dpu_format_populate_plane_sizes*() 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-10-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3061; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=CUZnMGZ8RYJTt+WDP6vzq+7HIixspEzZIdAITsMQctE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVmLUBiiK4k/HpfCjqq+rN3BmuJFOagv8Vzb AnJXQgpTkuJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZgAKCRCLPIo+Aiko 1YGrB/9Q0ll2wZj4R2ZP8LlcQLJoMrBOppkRGZ/8oJu7nB33LXE+Otq08nz/vR6tMvGbFs+reAH QYxZs6eTuovNzE4eYvnHZvWfUyfc0u/6FICnaTjizUqV7zQacSnxAGJodqyrj2gcs+3UQw85v0f YBGKp1YbQj8q+foGmsrmc0PaEiixLnkt7R/PjTwqpxHyQwWpRrf1ZvNN5FXoXpk6K6DJ5CGV5rL Wuji7zWsPlE1QSPPXyBa5Kocp5YgfIz1MZVrzAV8Jus9RgxIy2N5ljXo07BCP7kxntWnI4xD9/R M3QXTqd9/8SQlZqi8Yr4FVKVs09/trdRZaXipr9GBs9dC5KD X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=SdD6t/Ru c=1 sm=1 tr=0 ts=6916a583 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=VIt9t0sQHfAwVTtMwRsA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: bzNvxI22PHSH8VvXOvlVB_hv6ORdmg0P X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfXyJcWFmHDLuNG IRPEiG/Kqoys7/BSLw5CiXmmzMImzIl0y4BIDejCDNyrCxciFR+TITGnXHZJja2qUSRchmYHj4l vpgGvLX03+x9pbWKh1ZaKkpQWiWKDhPQHhGyW65NjuPgrEvJ75LdaQIHLD8LyFowmbMk/34GtFo uEFLbUH1mUDV2R9Jy2sfXweGSgF1ouKLGtfl1onM0f/XC0rasuQXb327tAeqXJ5bZSk48Co/Ycw yLJmV3QCWTVDvpbiu68hThBYEJwgmkv3w5AClWr0WSZ12IpnsHm1C78OT0PVYIP3n95Yph9HHPn mjAKl676cSm/V1LaGDD/mHO8TM0Z8GRKnwQWelKcmFRrECLJ/vWtUcG4HInkFBttjBtBjS2fbS/ 5FjqjZ54hbTR8mR7kjtvixVW8p2Zlw== X-Proofpoint-ORIG-GUID: bzNvxI22PHSH8VvXOvlVB_hv6ORdmg0P X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 priorityscore=1501 spamscore=0 bulkscore=0 impostorscore=0 phishscore=0 adultscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 Drop redundant layout->num_planes assignments, using the value assigned from the formats table. RGB UBWC formats need special handling: they use two planes (per the format table), but the uAPI defines plane[1] as empty. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c b/drivers/gpu/drm/= msm/disp/dpu1/dpu_formats.c index b950bc827a36c231bcd4a9374e58cde6b41230bf..191d1f2a0cef7ed69342eceb35d= f0c3e99a0c373 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c @@ -110,7 +110,6 @@ static int _dpu_format_populate_plane_sizes_ubwc( uint32_t y_meta_scanlines =3D 0; uint32_t uv_meta_scanlines =3D 0; =20 - layout->num_planes =3D 2; layout->plane_pitch[0] =3D VENUS_Y_STRIDE(color, fb->width); y_sclines =3D VENUS_Y_SCANLINES(color, fb->height); layout->plane_size[0] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[0] * @@ -124,7 +123,6 @@ static int _dpu_format_populate_plane_sizes_ubwc( if (!meta) return 0; =20 - layout->num_planes +=3D 2; layout->plane_pitch[2] =3D VENUS_Y_META_STRIDE(color, fb->width); y_meta_scanlines =3D VENUS_Y_META_SCANLINES(color, fb->height); layout->plane_size[2] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[2] * @@ -138,8 +136,6 @@ static int _dpu_format_populate_plane_sizes_ubwc( } else { uint32_t rgb_scanlines, rgb_meta_scanlines; =20 - layout->num_planes =3D 1; - layout->plane_pitch[0] =3D VENUS_RGB_STRIDE(color, fb->width); rgb_scanlines =3D VENUS_RGB_SCANLINES(color, fb->height); layout->plane_size[0] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[0] * @@ -148,7 +144,9 @@ static int _dpu_format_populate_plane_sizes_ubwc( if (!meta) return 0; =20 - layout->num_planes +=3D 2; + /* uAPI leaves plane[1] empty and plane[2] as meta */ + layout->num_planes +=3D 1; + layout->plane_pitch[2] =3D VENUS_RGB_META_STRIDE(color, fb->width); rgb_meta_scanlines =3D VENUS_RGB_META_SCANLINES(color, fb->height); layout->plane_size[2] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[2] * @@ -167,7 +165,6 @@ static int _dpu_format_populate_plane_sizes_linear( =20 /* Due to memset above, only need to set planes of interest */ if (fmt->fetch_type =3D=3D MDP_PLANE_INTERLEAVED) { - layout->num_planes =3D 1; layout->plane_size[0] =3D fb->width * fb->height * fmt->bpp; layout->plane_pitch[0] =3D fb->width * fmt->bpp; } else { @@ -194,12 +191,10 @@ static int _dpu_format_populate_plane_sizes_linear( (fb->height / v_subsample); =20 if (fmt->fetch_type =3D=3D MDP_PLANE_PSEUDO_PLANAR) { - layout->num_planes =3D 2; layout->plane_size[1] *=3D 2; layout->plane_pitch[1] *=3D 2; } else { /* planar */ - layout->num_planes =3D 3; layout->plane_size[2] =3D layout->plane_size[1]; layout->plane_pitch[2] =3D layout->plane_pitch[1]; } --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 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 1F58529AB15 for ; Fri, 14 Nov 2025 03:44:07 +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=1763091851; cv=none; b=gvIZuT7AEQ4tyXAaIej+ACDkVURhE9y3jSSpEBXf04bixz8tPltm2k9f3jQFm3mT6j86jigPFRmDaxqBgSzrY4dAYCtXL2UiGUU4UVMCaGW+czQOp7uedioLYYwrasXkB6OBkTKbuJ6IevV+SdgOaEVmQtdE+yZLHCyFlmx/8Ug= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091851; c=relaxed/simple; bh=YqIUcEyD1abXObQfCleMF6op/1WYm74ld3lRWdtUPbE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ptLVWR5A+duvgajJ/exbJHlvOQBUSXl9xDPtxzoly1By9a2Ni/E+SjM9Gc1ciDSzXztcEKeybGoW1KAAqUy9L9xyU5JHAMpHxyZ5Q+V48yY2cQGXJhij/XXBdZGQr2KnAFMB5mMaPgwQ6fn/4TcBf/S7znptFcoz1FFSUzPb4Fo= 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=kMapFMeV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=V1623CS7; 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="kMapFMeV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="V1623CS7" 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 5ADMae201629391 for ; Fri, 14 Nov 2025 03:44:07 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= UwvngIXqhPhDGVGa9A+H4hDveguht1sjcg6NWQaOHXI=; b=kMapFMeVDLZ8yxRe wsNr4dfwnl7GHas/Ea61J/xo3zaqrvtElsP/8ZOea6tEW/xYseThyhKRhNOWm77l x6jLNgyi/XjY4KX1j7t5sNkWejvOJ1NO83jb10Yk8cpkqcGo7blkwiokzObXcnmS DcJxKgyNL0GfRv7BKfCBtRT4Fv9QwCSKNy+HT/fOfADklU88WyrR5/TOgRuzjbjZ lnqO10EdDHeCsVOeTyExfYDylXzJGjY4/E/VGXQzQEXhiGp0T5WdRlPECvyqokFr gIPjbVuwb7pwGkVraSk1bWsMN/xlIhSpOUVDVw5TGXUHVGmvr4UaLeQ8ABg1BwYB 1juEsw== 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 4adr9d8qm2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:44:07 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8b2657cfcdaso223836885a.3 for ; Thu, 13 Nov 2025 19:44:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091846; x=1763696646; 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=UwvngIXqhPhDGVGa9A+H4hDveguht1sjcg6NWQaOHXI=; b=V1623CS7JJ/0nSM1M1YdcMKNoascXgJkgLHYdJYhLQ+3QSlB/Mey+jgAymsTxht3cZ 20kJOIc8R9HYoyFONtu4g9bppbkvAi+lHX6XsAVDbP92lj5uhQZ5hrVyc+tZ7ORw2R2y gS7EpMmkYnvVX3sFpivFXMxmnOH6b5Mk/pmHGHic1JhizwKLeV6LL5OEjSbdLdVFnr/i fUYCKR7Xq87Yt4Szsr4knVQSznZqp4hKBALdQWiEsExjvRI+KXDFiITLJZ5Jnxe2Ka0F OkB/8rZ+6Rz9VNF90ImOqqwLxd/Nt3QC/D7mKgLwiR2/XJsZvU7ZMOGzK8Fz9H5abqxG 6LVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091846; x=1763696646; 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=UwvngIXqhPhDGVGa9A+H4hDveguht1sjcg6NWQaOHXI=; b=pa6HPaoP45ttww7PnU5+ipbGfGNCGJm3l1WkNOpg8SaGJgBx2gHK418u2GYGIg9gfj GXJiKY/UuxcmlzHD1WwBEvsozikS07eGlyQVlnPVq4PS+boQkCmZTMp9ADqmVsSoiV75 w1K7GE9nd2kfr8nbRJpwAdT1j1+4hDUx6QKSdus31MYp8SSE56CIWFcd8elLr6s42eZ8 v3A+cPBrYSD9VIgHBCnjFtql5eZdnNhCnfpA7LAaHYW3CBYtUDXc5DtjK1Y1vJ/ukkbh 4xVOFqavXlGxyuCmB07oVvo6SgeSAP9Qu8PPWAeUUe1cLVS7p1dh4fPR/Tz45Wr86zPO 2TBw== X-Forwarded-Encrypted: i=1; AJvYcCX/gc7vLKF17cD/A7Fb7wVuw6VbmJ3dBOP6dKn37cmG/0hqK+X56ZjveKw2Xvty0wp6OhBhSR6axi1T2pE=@vger.kernel.org X-Gm-Message-State: AOJu0YxnHf7NGCKIowxNsXcrQKqcAOVGAbHNRJRant+WxrbYUOmwRPN+ crYOSTtKmxrRccmz41L2WjKUtm8so4KZRoBhPLGvOB3eiVPmQZ+526Y92/FDpB/uqC/rBZN0Tw6 P0LBlVwFr19ED17Tjpe3oc15Wc0rT9W5UDTWAlGJ+KzfoO0BuFoMdJdI7YHov4T56uJM= X-Gm-Gg: ASbGnctVz0Be+92oZFz3EL4GKsQQXvLSpetrRpuoioiDiaWQfHvBs8FW0qlmmFF1O1F Gdgyw9I6qmJrP1jXneTQPpvgorm/NP7ZPWDWmAcRGwn/WkinwXuuGgCwrMZRoYvUPe7OOCTwjqo 9C9yNxZxrfeSlHOoiAhtembuaD/Dya5/+ZclRkUK8TZ1p5LG5QgJa3MQHpPiqiz5z9p4Q0So9lF Aw81EPCDD2Ub6RTZ8nX2hDKGFvXdIcDJVABsVmo/c6ZsRXDJttctUue7jIfoTwvcN5Zmz6Gphb2 h728XhRVKWHtpTu7GsU3AKo4/FLPcvz0g/72ks8ldO/GsRFHjSiRhMEOZIiCkStNLfNl/a8t+X/ BgiKmlg7Qt+fUg7Xpq8/C7ub7S/97cVkhmc/JXC5o8tm/vpPEKro+fXsPztLvVI1DQe7zkmfdek 3j2cZz+oV9Zqkc X-Received: by 2002:a05:620a:1a91:b0:890:57c5:6075 with SMTP id af79cd13be357-8b2c3128698mr240155885a.18.1763091845581; Thu, 13 Nov 2025 19:44:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IG727nOFHjFp8SFCtlQEbNtxp6xMym+/HZtVfrDI0ZgjKow4qdxWBP+7EdInie1+l07PPh6VA== X-Received: by 2002:a05:620a:1a91:b0:890:57c5:6075 with SMTP id af79cd13be357-8b2c3128698mr240152585a.18.1763091844749; Thu, 13 Nov 2025 19:44:04 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.44.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:44:02 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:38 +0200 Subject: [PATCH v3 11/12] drm/msm/dpu: rewrite _dpu_format_populate_plane_sizes_ubwc() 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-11-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang 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.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=52387; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=YqIUcEyD1abXObQfCleMF6op/1WYm74ld3lRWdtUPbE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVmcnmX3qeMj3WB/PsJXJLyH+hJDYZ2koVSe ru9AAAz91aJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZgAKCRCLPIo+Aiko 1fRRB/4yTUcHT71x05EldYkMREb4mgYIuDPUuGAZlTsTtou0Pgyc6jBJ1DDt+Y4IjGeBdkQF5Mc c/yd30eqkCAruColHVuOP4KQM+2/af/b+fnis3Es2R3VNW5Zu6J7Ue1c89lud+vzeCVgqm8o0iK 6FqxYMyP8p3zCc3eSarhlfI2yDsrkakEaY50K1fgsdcuwU084axqZ4hgb204jIysgZGumuK05vW x3eNUrLrX3URZGX72bLm7Scc8OnOHF68wyeHhj7FkB12FKfB74sB0sssEezxDZGhLYCrLiQRpTu Ko73Rl0iA6fiZZvhTKqmTz6UsOcJ5L+fC2axxeWQRp9Xj4KL X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: QXUL8rdLAIGytQvfbOonPYefc3r4wOxw X-Authority-Analysis: v=2.4 cv=Rdidyltv c=1 sm=1 tr=0 ts=6916a587 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=6iusXPdm3c8emWAo3PYA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: QXUL8rdLAIGytQvfbOonPYefc3r4wOxw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfXybLRLqBNaFnz m/ccd3VP6UnAxDZ5SAeodTDiPTlnym6kyuoQh6YgMx/SshgzY1o1zCgoDJkP0YQ80ScqDOXh4d6 XoNPSHdu2ZC7LW2ErPB21Rcmt1nTEjccRuf0/EQbQNXZ5QNUw4PadU9MAuhElbq7isb94cQnG9+ bllmSQEWqfwGNd3YF5rlN5P+aZGeBNsbnOpHMfXS0d5twXWkRL+gnJym+wteGde+W4a0/N2ShpA TH15ygZDKLcC5elULDEUad7iUUFx7R3kl4O1rtwm4IZeHTKtdO4ZisKXiqOWS6GjS2cEUKXANRn FM5dCWozrOJAyrHCBal8B1Yt71je1m94G2z8ZuD841jk2bGhYD1Sw4Raf7z8xoBfb7XUu66z58x qsStZ6qV70FIxxv3+tUIqZ/cj8+KHw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 adultscore=0 impostorscore=0 bulkscore=0 spamscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 Drop extra wrapping layer (msm_media_info.h) and inline all VENUS_*() functions, simplifying the code. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 121 ++- drivers/gpu/drm/msm/disp/dpu1/msm_media_info.h | 1155 --------------------= ---- 2 files changed, 57 insertions(+), 1219 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c b/drivers/gpu/drm/= msm/disp/dpu1/dpu_formats.c index 191d1f2a0cef7ed69342eceb35df0c3e99a0c373..da1870ce7680899759d09caa010= 50eeb9844a484 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c @@ -7,10 +7,19 @@ #include #include =20 -#include "msm_media_info.h" #include "dpu_kms.h" #include "dpu_formats.h" =20 +#ifndef MSM_MEDIA_ALIGN +#define MSM_MEDIA_ALIGN(__sz, __align) (((__align) & ((__align) - 1)) ?\ + ((((__sz) + (__align) - 1) / (__align)) * (__align)) :\ + (((__sz) + (__align) - 1) & (~((__align) - 1)))) +#endif + +#ifndef MSM_MEDIA_ROUNDUP +#define MSM_MEDIA_ROUNDUP(__sz, __r) (((__sz) + ((__r) - 1)) / (__r)) +#endif + #define DPU_UBWC_PLANE_SIZE_ALIGNMENT 4096 =20 /* @@ -54,90 +63,70 @@ static void _dpu_get_v_h_subsample_rate( } } =20 -static int _dpu_format_get_media_color_ubwc(const struct msm_format *fmt) -{ - static const struct dpu_media_color_map dpu_media_ubwc_map[] =3D { - {DRM_FORMAT_ABGR8888, COLOR_FMT_RGBA8888_UBWC}, - {DRM_FORMAT_ARGB8888, COLOR_FMT_RGBA8888_UBWC}, - {DRM_FORMAT_XBGR8888, COLOR_FMT_RGBA8888_UBWC}, - {DRM_FORMAT_XRGB8888, COLOR_FMT_RGBA8888_UBWC}, - {DRM_FORMAT_ABGR2101010, COLOR_FMT_RGBA1010102_UBWC}, - {DRM_FORMAT_ARGB2101010, COLOR_FMT_RGBA1010102_UBWC}, - {DRM_FORMAT_XRGB2101010, COLOR_FMT_RGBA1010102_UBWC}, - {DRM_FORMAT_XBGR2101010, COLOR_FMT_RGBA1010102_UBWC}, - {DRM_FORMAT_BGR565, COLOR_FMT_RGB565_UBWC}, - }; - int color_fmt =3D -1; - int i; - - if (fmt->pixel_format =3D=3D DRM_FORMAT_NV12 || - fmt->pixel_format =3D=3D DRM_FORMAT_P010) { - if (MSM_FORMAT_IS_DX(fmt)) { - if (fmt->flags & MSM_FORMAT_FLAG_UNPACK_TIGHT) - color_fmt =3D COLOR_FMT_NV12_BPP10_UBWC; - else - color_fmt =3D COLOR_FMT_P010_UBWC; - } else - color_fmt =3D COLOR_FMT_NV12_UBWC; - return color_fmt; - } - - for (i =3D 0; i < ARRAY_SIZE(dpu_media_ubwc_map); ++i) - if (fmt->pixel_format =3D=3D dpu_media_ubwc_map[i].format) { - color_fmt =3D dpu_media_ubwc_map[i].color; - break; - } - return color_fmt; -} - static int _dpu_format_populate_plane_sizes_ubwc( const struct msm_format *fmt, struct drm_framebuffer *fb, struct dpu_hw_fmt_layout *layout) { - int color; bool meta =3D MSM_FORMAT_IS_UBWC(fmt); =20 - color =3D _dpu_format_get_media_color_ubwc(fmt); - if (color < 0) { - DRM_ERROR("UBWC format not supported for fmt: %p4cc\n", - &fmt->pixel_format); - return -EINVAL; - } - if (MSM_FORMAT_IS_YUV(fmt)) { - uint32_t y_sclines, uv_sclines; - uint32_t y_meta_scanlines =3D 0; - uint32_t uv_meta_scanlines =3D 0; + unsigned int stride, sclines; + unsigned int y_tile_width, y_tile_height; + unsigned int y_meta_stride, y_meta_scanlines; + unsigned int uv_meta_stride, uv_meta_scanlines; + + if (MSM_FORMAT_IS_DX(fmt)) { + if (fmt->flags & MSM_FORMAT_FLAG_UNPACK_TIGHT) { + stride =3D MSM_MEDIA_ALIGN(fb->width, 192); + stride =3D MSM_MEDIA_ALIGN(stride * 4 / 3, 256); + y_tile_width =3D 48; + } else { + stride =3D MSM_MEDIA_ALIGN(fb->width * 2, 256); + y_tile_width =3D 32; + } + + sclines =3D MSM_MEDIA_ALIGN(fb->height, 16); + y_tile_height =3D 4; + } else { + stride =3D MSM_MEDIA_ALIGN(fb->width, 128); + y_tile_width =3D 32; + + sclines =3D MSM_MEDIA_ALIGN(fb->height, 32); + y_tile_height =3D 8; + } =20 - layout->plane_pitch[0] =3D VENUS_Y_STRIDE(color, fb->width); - y_sclines =3D VENUS_Y_SCANLINES(color, fb->height); + layout->plane_pitch[0] =3D stride; layout->plane_size[0] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[0] * - y_sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); + sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 - layout->plane_pitch[1] =3D VENUS_UV_STRIDE(color, fb->width); - uv_sclines =3D VENUS_UV_SCANLINES(color, fb->height); + layout->plane_pitch[1] =3D stride; layout->plane_size[1] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[1] * - uv_sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); + sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 if (!meta) return 0; =20 - layout->plane_pitch[2] =3D VENUS_Y_META_STRIDE(color, fb->width); - y_meta_scanlines =3D VENUS_Y_META_SCANLINES(color, fb->height); + y_meta_stride =3D MSM_MEDIA_ROUNDUP(fb->width, y_tile_width); + layout->plane_pitch[2] =3D MSM_MEDIA_ALIGN(y_meta_stride, 64); + + y_meta_scanlines =3D MSM_MEDIA_ROUNDUP(fb->height, y_tile_height); + y_meta_scanlines =3D MSM_MEDIA_ALIGN(y_meta_scanlines, 16); layout->plane_size[2] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[2] * y_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 - layout->plane_pitch[3] =3D VENUS_UV_META_STRIDE(color, fb->width); - uv_meta_scanlines =3D VENUS_UV_META_SCANLINES(color, fb->height); + uv_meta_stride =3D MSM_MEDIA_ROUNDUP((fb->width+1)>>1, y_tile_width / 2); + layout->plane_pitch[3] =3D MSM_MEDIA_ALIGN(uv_meta_stride, 64); + + uv_meta_scanlines =3D MSM_MEDIA_ROUNDUP((fb->height+1)>>1, y_tile_height= ); + uv_meta_scanlines =3D MSM_MEDIA_ALIGN(uv_meta_scanlines, 16); layout->plane_size[3] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[3] * uv_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); - } else { - uint32_t rgb_scanlines, rgb_meta_scanlines; + unsigned int rgb_scanlines, rgb_meta_scanlines, rgb_meta_stride; =20 - layout->plane_pitch[0] =3D VENUS_RGB_STRIDE(color, fb->width); - rgb_scanlines =3D VENUS_RGB_SCANLINES(color, fb->height); + layout->plane_pitch[0] =3D MSM_MEDIA_ALIGN(fb->width * fmt->bpp, 256); + rgb_scanlines =3D MSM_MEDIA_ALIGN(fb->height, 16); layout->plane_size[0] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[0] * rgb_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 @@ -147,8 +136,12 @@ static int _dpu_format_populate_plane_sizes_ubwc( /* uAPI leaves plane[1] empty and plane[2] as meta */ layout->num_planes +=3D 1; =20 - layout->plane_pitch[2] =3D VENUS_RGB_META_STRIDE(color, fb->width); - rgb_meta_scanlines =3D VENUS_RGB_META_SCANLINES(color, fb->height); + rgb_meta_stride =3D MSM_MEDIA_ROUNDUP(fb->width, 16); + layout->plane_pitch[2] =3D MSM_MEDIA_ALIGN(rgb_meta_stride, 64); + + rgb_meta_scanlines =3D MSM_MEDIA_ROUNDUP(fb->height, 4); + rgb_meta_scanlines =3D MSM_MEDIA_ALIGN(rgb_meta_scanlines, 16); + layout->plane_size[2] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[2] * rgb_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); } diff --git a/drivers/gpu/drm/msm/disp/dpu1/msm_media_info.h b/drivers/gpu/d= rm/msm/disp/dpu1/msm_media_info.h deleted file mode 100644 index 9fc9dbde8a27c1d7078c3d6b260c8635f27a514f..000000000000000000000000000= 0000000000000 --- a/drivers/gpu/drm/msm/disp/dpu1/msm_media_info.h +++ /dev/null @@ -1,1155 +0,0 @@ -#ifndef __MEDIA_INFO_H__ -#define __MEDIA_INFO_H__ - -#ifndef MSM_MEDIA_ALIGN -#define MSM_MEDIA_ALIGN(__sz, __align) (((__align) & ((__align) - 1)) ?\ - ((((__sz) + (__align) - 1) / (__align)) * (__align)) :\ - (((__sz) + (__align) - 1) & (~((__align) - 1)))) -#endif - -#ifndef MSM_MEDIA_ROUNDUP -#define MSM_MEDIA_ROUNDUP(__sz, __r) (((__sz) + ((__r) - 1)) / (__r)) -#endif - -#ifndef MSM_MEDIA_MAX -#define MSM_MEDIA_MAX(__a, __b) ((__a) > (__b)?(__a):(__b)) -#endif - -enum color_fmts { - /* Venus NV12: - * YUV 4:2:0 image with a plane of 8 bit Y samples followed - * by an interleaved U/V plane containing 8 bit 2x2 subsampled - * colour difference samples. - * - * <-------- Y/UV_Stride --------> - * <------- Width -------> - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . ^ ^ - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . Height | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | Y_Scanlines - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * U V U V U V U V U V U V . . . . ^ - * U V U V U V U V U V U V . . . . | - * U V U V U V U V U V U V . . . . | - * U V U V U V U V U V U V . . . . UV_Scanlines - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . . . --> Buffer size alignment - * - * Y_Stride : Width aligned to 128 - * UV_Stride : Width aligned to 128 - * Y_Scanlines: Height aligned to 32 - * UV_Scanlines: Height/2 aligned to 16 - * Extradata: Arbitrary (software-imposed) padding - * Total size =3D align((Y_Stride * Y_Scanlines - * + UV_Stride * UV_Scanlines - * + max(Extradata, Y_Stride * 8), 4096) - */ - COLOR_FMT_NV12, - - /* Venus NV21: - * YUV 4:2:0 image with a plane of 8 bit Y samples followed - * by an interleaved V/U plane containing 8 bit 2x2 subsampled - * colour difference samples. - * - * <-------- Y/UV_Stride --------> - * <------- Width -------> - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . ^ ^ - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . Height | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | Y_Scanlines - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * V U V U V U V U V U V U . . . . ^ - * V U V U V U V U V U V U . . . . | - * V U V U V U V U V U V U . . . . | - * V U V U V U V U V U V U . . . . UV_Scanlines - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . . . --> Padding & Buffer size alignment - * - * Y_Stride : Width aligned to 128 - * UV_Stride : Width aligned to 128 - * Y_Scanlines: Height aligned to 32 - * UV_Scanlines: Height/2 aligned to 16 - * Extradata: Arbitrary (software-imposed) padding - * Total size =3D align((Y_Stride * Y_Scanlines - * + UV_Stride * UV_Scanlines - * + max(Extradata, Y_Stride * 8), 4096) - */ - COLOR_FMT_NV21, - /* Venus NV12_MVTB: - * Two YUV 4:2:0 images/views one after the other - * in a top-bottom layout, same as NV12 - * with a plane of 8 bit Y samples followed - * by an interleaved U/V plane containing 8 bit 2x2 subsampled - * colour difference samples. - * - * - * <-------- Y/UV_Stride --------> - * <------- Width -------> - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . ^ ^ ^ - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . Height | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | Y_Scanlines | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . V | | - * . . . . . . . . . . . . . . . . | View_1 - * . . . . . . . . . . . . . . . . | | - * . . . . . . . . . . . . . . . . | | - * . . . . . . . . . . . . . . . . V | - * U V U V U V U V U V U V . . . . ^ | - * U V U V U V U V U V U V . . . . | | - * U V U V U V U V U V U V . . . . | | - * U V U V U V U V U V U V . . . . UV_Scanlines | - * . . . . . . . . . . . . . . . . | | - * . . . . . . . . . . . . . . . . V V - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . ^ ^ ^ - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . Height | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | Y_Scanlines | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . V | | - * . . . . . . . . . . . . . . . . | View_2 - * . . . . . . . . . . . . . . . . | | - * . . . . . . . . . . . . . . . . | | - * . . . . . . . . . . . . . . . . V | - * U V U V U V U V U V U V . . . . ^ | - * U V U V U V U V U V U V . . . . | | - * U V U V U V U V U V U V . . . . | | - * U V U V U V U V U V U V . . . . UV_Scanlines | - * . . . . . . . . . . . . . . . . | | - * . . . . . . . . . . . . . . . . V V - * . . . . . . . . . . . . . . . . --> Buffer size alignment - * - * Y_Stride : Width aligned to 128 - * UV_Stride : Width aligned to 128 - * Y_Scanlines: Height aligned to 32 - * UV_Scanlines: Height/2 aligned to 16 - * View_1 begin at: 0 (zero) - * View_2 begin at: Y_Stride * Y_Scanlines + UV_Stride * UV_Scanlines - * Extradata: Arbitrary (software-imposed) padding - * Total size =3D align((2*(Y_Stride * Y_Scanlines) - * + 2*(UV_Stride * UV_Scanlines) + Extradata), 4096) - */ - COLOR_FMT_NV12_MVTB, - /* - * The buffer can be of 2 types: - * (1) Venus NV12 UBWC Progressive - * (2) Venus NV12 UBWC Interlaced - * - * (1) Venus NV12 UBWC Progressive Buffer Format: - * Compressed Macro-tile format for NV12. - * Contains 4 planes in the following order - - * (A) Y_Meta_Plane - * (B) Y_UBWC_Plane - * (C) UV_Meta_Plane - * (D) UV_UBWC_Plane - * - * Y_Meta_Plane consists of meta information to decode compressed - * tile data in Y_UBWC_Plane. - * Y_UBWC_Plane consists of Y data in compressed macro-tile format. - * UBWC decoder block will use the Y_Meta_Plane data together with - * Y_UBWC_Plane data to produce loss-less uncompressed 8 bit Y samples. - * - * UV_Meta_Plane consists of meta information to decode compressed - * tile data in UV_UBWC_Plane. - * UV_UBWC_Plane consists of UV data in compressed macro-tile format. - * UBWC decoder block will use UV_Meta_Plane data together with - * UV_UBWC_Plane data to produce loss-less uncompressed 8 bit 2x2 - * subsampled color difference samples. - * - * Each tile in Y_UBWC_Plane/UV_UBWC_Plane is independently decodable - * and randomly accessible. There is no dependency between tiles. - * - * <----- Y_Meta_Stride ----> - * <-------- Width ------> - * M M M M M M M M M M M M . . ^ ^ - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . Height | - * M M M M M M M M M M M M . . | Meta_Y_Scanlines - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . V | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . V - * <--Compressed tile Y Stride---> - * <------- Width -------> - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . ^ ^ - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . Height | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | Macro_tile_Y_Scanlines - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . . . V - * <----- UV_Meta_Stride ----> - * M M M M M M M M M M M M . . ^ - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . M_UV_Scanlines - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * <--Compressed tile UV Stride---> - * U* V* U* V* U* V* U* V* . . . . ^ - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . UV_Scanlines - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * - * Y_Stride =3D align(Width, 128) - * UV_Stride =3D align(Width, 128) - * Y_Scanlines =3D align(Height, 32) - * UV_Scanlines =3D align(Height/2, 16) - * Y_UBWC_Plane_size =3D align(Y_Stride * Y_Scanlines, 4096) - * UV_UBWC_Plane_size =3D align(UV_Stride * UV_Scanlines, 4096) - * Y_Meta_Stride =3D align(roundup(Width, Y_TileWidth), 64) - * Y_Meta_Scanlines =3D align(roundup(Height, Y_TileHeight), 16) - * Y_Meta_Plane_size =3D align(Y_Meta_Stride * Y_Meta_Scanlines, 4096) - * UV_Meta_Stride =3D align(roundup(Width, UV_TileWidth), 64) - * UV_Meta_Scanlines =3D align(roundup(Height, UV_TileHeight), 16) - * UV_Meta_Plane_size =3D align(UV_Meta_Stride * UV_Meta_Scanlines, 4096) - * Extradata =3D 8k - * - * Total size =3D align( Y_UBWC_Plane_size + UV_UBWC_Plane_size + - * Y_Meta_Plane_size + UV_Meta_Plane_size - * + max(Extradata, Y_Stride * 48), 4096) - * - * - * (2) Venus NV12 UBWC Interlaced Buffer Format: - * Compressed Macro-tile format for NV12 interlaced. - * Contains 8 planes in the following order - - * (A) Y_Meta_Top_Field_Plane - * (B) Y_UBWC_Top_Field_Plane - * (C) UV_Meta_Top_Field_Plane - * (D) UV_UBWC_Top_Field_Plane - * (E) Y_Meta_Bottom_Field_Plane - * (F) Y_UBWC_Bottom_Field_Plane - * (G) UV_Meta_Bottom_Field_Plane - * (H) UV_UBWC_Bottom_Field_Plane - * Y_Meta_Top_Field_Plane consists of meta information to decode - * compressed tile data for Y_UBWC_Top_Field_Plane. - * Y_UBWC_Top_Field_Plane consists of Y data in compressed macro-tile - * format for top field of an interlaced frame. - * UBWC decoder block will use the Y_Meta_Top_Field_Plane data together - * with Y_UBWC_Top_Field_Plane data to produce loss-less uncompressed - * 8 bit Y samples for top field of an interlaced frame. - * - * UV_Meta_Top_Field_Plane consists of meta information to decode - * compressed tile data in UV_UBWC_Top_Field_Plane. - * UV_UBWC_Top_Field_Plane consists of UV data in compressed macro-tile - * format for top field of an interlaced frame. - * UBWC decoder block will use UV_Meta_Top_Field_Plane data together - * with UV_UBWC_Top_Field_Plane data to produce loss-less uncompressed - * 8 bit subsampled color difference samples for top field of an - * interlaced frame. - * - * Each tile in Y_UBWC_Top_Field_Plane/UV_UBWC_Top_Field_Plane is - * independently decodable and randomly accessible. There is no - * dependency between tiles. - * - * Y_Meta_Bottom_Field_Plane consists of meta information to decode - * compressed tile data for Y_UBWC_Bottom_Field_Plane. - * Y_UBWC_Bottom_Field_Plane consists of Y data in compressed macro-tile - * format for bottom field of an interlaced frame. - * UBWC decoder block will use the Y_Meta_Bottom_Field_Plane data - * together with Y_UBWC_Bottom_Field_Plane data to produce loss-less - * uncompressed 8 bit Y samples for bottom field of an interlaced frame. - * - * UV_Meta_Bottom_Field_Plane consists of meta information to decode - * compressed tile data in UV_UBWC_Bottom_Field_Plane. - * UV_UBWC_Bottom_Field_Plane consists of UV data in compressed - * macro-tile format for bottom field of an interlaced frame. - * UBWC decoder block will use UV_Meta_Bottom_Field_Plane data together - * with UV_UBWC_Bottom_Field_Plane data to produce loss-less - * uncompressed 8 bit subsampled color difference samples for bottom - * field of an interlaced frame. - * - * Each tile in Y_UBWC_Bottom_Field_Plane/UV_UBWC_Bottom_Field_Plane is - * independently decodable and randomly accessible. There is no - * dependency between tiles. - * - * <-----Y_TF_Meta_Stride----> - * <-------- Width ------> - * M M M M M M M M M M M M . . ^ ^ - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . Half_height | - * M M M M M M M M M M M M . . | Meta_Y_TF_Scanlines - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . V | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . V - * <-Compressed tile Y_TF Stride-> - * <------- Width -------> - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . ^ ^ - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . Half_height | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | Macro_tile_Y_TF_Scanlines - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . . . V - * <----UV_TF_Meta_Stride----> - * M M M M M M M M M M M M . . ^ - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . M_UV_TF_Scanlines - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * <-Compressed tile UV_TF Stride-> - * U* V* U* V* U* V* U* V* . . . . ^ - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . UV_TF_Scanlines - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * <-----Y_BF_Meta_Stride----> - * <-------- Width ------> - * M M M M M M M M M M M M . . ^ ^ - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . Half_height | - * M M M M M M M M M M M M . . | Meta_Y_BF_Scanlines - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . V | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . V - * <-Compressed tile Y_BF Stride-> - * <------- Width -------> - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . ^ ^ - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . Half_height | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | Macro_tile_Y_BF_Scanlines - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . . . V - * <----UV_BF_Meta_Stride----> - * M M M M M M M M M M M M . . ^ - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . M_UV_BF_Scanlines - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * <-Compressed tile UV_BF Stride-> - * U* V* U* V* U* V* U* V* . . . . ^ - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . UV_BF_Scanlines - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * - * Half_height =3D (Height+1)>>1 - * Y_TF_Stride =3D align(Width, 128) - * UV_TF_Stride =3D align(Width, 128) - * Y_TF_Scanlines =3D align(Half_height, 32) - * UV_TF_Scanlines =3D align((Half_height+1)/2, 32) - * Y_UBWC_TF_Plane_size =3D align(Y_TF_Stride * Y_TF_Scanlines, 4096) - * UV_UBWC_TF_Plane_size =3D align(UV_TF_Stride * UV_TF_Scanlines, 4096) - * Y_TF_Meta_Stride =3D align(roundup(Width, Y_TileWidth), 64) - * Y_TF_Meta_Scanlines =3D align(roundup(Half_height, Y_TileHeight), 16) - * Y_TF_Meta_Plane_size =3D - * align(Y_TF_Meta_Stride * Y_TF_Meta_Scanlines, 4096) - * UV_TF_Meta_Stride =3D align(roundup(Width, UV_TileWidth), 64) - * UV_TF_Meta_Scanlines =3D align(roundup(Half_height, UV_TileHeight), 16) - * UV_TF_Meta_Plane_size =3D - * align(UV_TF_Meta_Stride * UV_TF_Meta_Scanlines, 4096) - * Y_BF_Stride =3D align(Width, 128) - * UV_BF_Stride =3D align(Width, 128) - * Y_BF_Scanlines =3D align(Half_height, 32) - * UV_BF_Scanlines =3D align((Half_height+1)/2, 32) - * Y_UBWC_BF_Plane_size =3D align(Y_BF_Stride * Y_BF_Scanlines, 4096) - * UV_UBWC_BF_Plane_size =3D align(UV_BF_Stride * UV_BF_Scanlines, 4096) - * Y_BF_Meta_Stride =3D align(roundup(Width, Y_TileWidth), 64) - * Y_BF_Meta_Scanlines =3D align(roundup(Half_height, Y_TileHeight), 16) - * Y_BF_Meta_Plane_size =3D - * align(Y_BF_Meta_Stride * Y_BF_Meta_Scanlines, 4096) - * UV_BF_Meta_Stride =3D align(roundup(Width, UV_TileWidth), 64) - * UV_BF_Meta_Scanlines =3D align(roundup(Half_height, UV_TileHeight), 16) - * UV_BF_Meta_Plane_size =3D - * align(UV_BF_Meta_Stride * UV_BF_Meta_Scanlines, 4096) - * Extradata =3D 8k - * - * Total size =3D align( Y_UBWC_TF_Plane_size + UV_UBWC_TF_Plane_size + - * Y_TF_Meta_Plane_size + UV_TF_Meta_Plane_size + - * Y_UBWC_BF_Plane_size + UV_UBWC_BF_Plane_size + - * Y_BF_Meta_Plane_size + UV_BF_Meta_Plane_size + - * + max(Extradata, Y_TF_Stride * 48), 4096) - */ - COLOR_FMT_NV12_UBWC, - /* Venus NV12 10-bit UBWC: - * Compressed Macro-tile format for NV12. - * Contains 4 planes in the following order - - * (A) Y_Meta_Plane - * (B) Y_UBWC_Plane - * (C) UV_Meta_Plane - * (D) UV_UBWC_Plane - * - * Y_Meta_Plane consists of meta information to decode compressed - * tile data in Y_UBWC_Plane. - * Y_UBWC_Plane consists of Y data in compressed macro-tile format. - * UBWC decoder block will use the Y_Meta_Plane data together with - * Y_UBWC_Plane data to produce loss-less uncompressed 10 bit Y samples. - * - * UV_Meta_Plane consists of meta information to decode compressed - * tile data in UV_UBWC_Plane. - * UV_UBWC_Plane consists of UV data in compressed macro-tile format. - * UBWC decoder block will use UV_Meta_Plane data together with - * UV_UBWC_Plane data to produce loss-less uncompressed 10 bit 2x2 - * subsampled color difference samples. - * - * Each tile in Y_UBWC_Plane/UV_UBWC_Plane is independently decodable - * and randomly accessible. There is no dependency between tiles. - * - * <----- Y_Meta_Stride -----> - * <-------- Width ------> - * M M M M M M M M M M M M . . ^ ^ - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . Height | - * M M M M M M M M M M M M . . | Meta_Y_Scanlines - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . V | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . V - * <--Compressed tile Y Stride---> - * <------- Width -------> - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . ^ ^ - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . Height | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | Macro_tile_Y_Scanlines - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . . . V - * <----- UV_Meta_Stride ----> - * M M M M M M M M M M M M . . ^ - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . M_UV_Scanlines - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * <--Compressed tile UV Stride---> - * U* V* U* V* U* V* U* V* . . . . ^ - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . UV_Scanlines - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * - * - * Y_Stride =3D align(Width * 4/3, 128) - * UV_Stride =3D align(Width * 4/3, 128) - * Y_Scanlines =3D align(Height, 32) - * UV_Scanlines =3D align(Height/2, 16) - * Y_UBWC_Plane_Size =3D align(Y_Stride * Y_Scanlines, 4096) - * UV_UBWC_Plane_Size =3D align(UV_Stride * UV_Scanlines, 4096) - * Y_Meta_Stride =3D align(roundup(Width, Y_TileWidth), 64) - * Y_Meta_Scanlines =3D align(roundup(Height, Y_TileHeight), 16) - * Y_Meta_Plane_size =3D align(Y_Meta_Stride * Y_Meta_Scanlines, 4096) - * UV_Meta_Stride =3D align(roundup(Width, UV_TileWidth), 64) - * UV_Meta_Scanlines =3D align(roundup(Height, UV_TileHeight), 16) - * UV_Meta_Plane_size =3D align(UV_Meta_Stride * UV_Meta_Scanlines, 4096) - * Extradata =3D 8k - * - * Total size =3D align(Y_UBWC_Plane_size + UV_UBWC_Plane_size + - * Y_Meta_Plane_size + UV_Meta_Plane_size - * + max(Extradata, Y_Stride * 48), 4096) - */ - COLOR_FMT_NV12_BPP10_UBWC, - /* Venus RGBA8888 format: - * Contains 1 plane in the following order - - * (A) RGBA plane - * - * <-------- RGB_Stride --------> - * <------- Width -------> - * R R R R R R R R R R R R . . . . ^ ^ - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . Height | - * R R R R R R R R R R R R . . . . | RGB_Scanlines - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * - * RGB_Stride =3D align(Width * 4, 128) - * RGB_Scanlines =3D align(Height, 32) - * RGB_Plane_size =3D align(RGB_Stride * RGB_Scanlines, 4096) - * Extradata =3D 8k - * - * Total size =3D align(RGB_Plane_size + Extradata, 4096) - */ - COLOR_FMT_RGBA8888, - /* Venus RGBA8888 UBWC format: - * Contains 2 planes in the following order - - * (A) Meta plane - * (B) RGBA plane - * - * <--- RGB_Meta_Stride ----> - * <-------- Width ------> - * M M M M M M M M M M M M . . ^ ^ - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . Height | - * M M M M M M M M M M M M . . | Meta_RGB_Scanlines - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . V | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . V - * <-------- RGB_Stride --------> - * <------- Width -------> - * R R R R R R R R R R R R . . . . ^ ^ - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . Height | - * R R R R R R R R R R R R . . . . | RGB_Scanlines - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . . . V - * - * RGB_Stride =3D align(Width * 4, 128) - * RGB_Scanlines =3D align(Height, 32) - * RGB_Plane_size =3D align(RGB_Stride * RGB_Scanlines, 4096) - * RGB_Meta_Stride =3D align(roundup(Width, RGB_TileWidth), 64) - * RGB_Meta_Scanline =3D align(roundup(Height, RGB_TileHeight), 16) - * RGB_Meta_Plane_size =3D align(RGB_Meta_Stride * - * RGB_Meta_Scanlines, 4096) - * Extradata =3D 8k - * - * Total size =3D align(RGB_Meta_Plane_size + RGB_Plane_size + - * Extradata, 4096) - */ - COLOR_FMT_RGBA8888_UBWC, - /* Venus RGBA1010102 UBWC format: - * Contains 2 planes in the following order - - * (A) Meta plane - * (B) RGBA plane - * - * <--- RGB_Meta_Stride ----> - * <-------- Width ------> - * M M M M M M M M M M M M . . ^ ^ - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . Height | - * M M M M M M M M M M M M . . | Meta_RGB_Scanlines - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . V | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . V - * <-------- RGB_Stride --------> - * <------- Width -------> - * R R R R R R R R R R R R . . . . ^ ^ - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . Height | - * R R R R R R R R R R R R . . . . | RGB_Scanlines - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . . . V - * - * RGB_Stride =3D align(Width * 4, 256) - * RGB_Scanlines =3D align(Height, 16) - * RGB_Plane_size =3D align(RGB_Stride * RGB_Scanlines, 4096) - * RGB_Meta_Stride =3D align(roundup(Width, RGB_TileWidth), 64) - * RGB_Meta_Scanline =3D align(roundup(Height, RGB_TileHeight), 16) - * RGB_Meta_Plane_size =3D align(RGB_Meta_Stride * - * RGB_Meta_Scanlines, 4096) - * Extradata =3D 8k - * - * Total size =3D align(RGB_Meta_Plane_size + RGB_Plane_size + - * Extradata, 4096) - */ - COLOR_FMT_RGBA1010102_UBWC, - /* Venus RGB565 UBWC format: - * Contains 2 planes in the following order - - * (A) Meta plane - * (B) RGB plane - * - * <--- RGB_Meta_Stride ----> - * <-------- Width ------> - * M M M M M M M M M M M M . . ^ ^ - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . Height | - * M M M M M M M M M M M M . . | Meta_RGB_Scanlines - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . V | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . V - * <-------- RGB_Stride --------> - * <------- Width -------> - * R R R R R R R R R R R R . . . . ^ ^ - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . Height | - * R R R R R R R R R R R R . . . . | RGB_Scanlines - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . | | - * R R R R R R R R R R R R . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . . . V - * - * RGB_Stride =3D align(Width * 2, 128) - * RGB_Scanlines =3D align(Height, 16) - * RGB_Plane_size =3D align(RGB_Stride * RGB_Scanlines, 4096) - * RGB_Meta_Stride =3D align(roundup(Width, RGB_TileWidth), 64) - * RGB_Meta_Scanline =3D align(roundup(Height, RGB_TileHeight), 16) - * RGB_Meta_Plane_size =3D align(RGB_Meta_Stride * - * RGB_Meta_Scanlines, 4096) - * Extradata =3D 8k - * - * Total size =3D align(RGB_Meta_Plane_size + RGB_Plane_size + - * Extradata, 4096) - */ - COLOR_FMT_RGB565_UBWC, - /* P010 UBWC: - * Compressed Macro-tile format for NV12. - * Contains 4 planes in the following order - - * (A) Y_Meta_Plane - * (B) Y_UBWC_Plane - * (C) UV_Meta_Plane - * (D) UV_UBWC_Plane - * - * Y_Meta_Plane consists of meta information to decode compressed - * tile data in Y_UBWC_Plane. - * Y_UBWC_Plane consists of Y data in compressed macro-tile format. - * UBWC decoder block will use the Y_Meta_Plane data together with - * Y_UBWC_Plane data to produce loss-less uncompressed 10 bit Y samples. - * - * UV_Meta_Plane consists of meta information to decode compressed - * tile data in UV_UBWC_Plane. - * UV_UBWC_Plane consists of UV data in compressed macro-tile format. - * UBWC decoder block will use UV_Meta_Plane data together with - * UV_UBWC_Plane data to produce loss-less uncompressed 10 bit 2x2 - * subsampled color difference samples. - * - * Each tile in Y_UBWC_Plane/UV_UBWC_Plane is independently decodable - * and randomly accessible. There is no dependency between tiles. - * - * <----- Y_Meta_Stride -----> - * <-------- Width ------> - * M M M M M M M M M M M M . . ^ ^ - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . Height | - * M M M M M M M M M M M M . . | Meta_Y_Scanlines - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . | | - * M M M M M M M M M M M M . . V | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . V - * <--Compressed tile Y Stride---> - * <------- Width -------> - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . ^ ^ - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . Height | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | Macro_tile_Y_Scanlines - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . | | - * Y* Y* Y* Y* Y* Y* Y* Y* . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * . . . . . . . . . . . . . . . . V - * <----- UV_Meta_Stride ----> - * M M M M M M M M M M M M . . ^ - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . | - * M M M M M M M M M M M M . . M_UV_Scanlines - * . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * <--Compressed tile UV Stride---> - * U* V* U* V* U* V* U* V* . . . . ^ - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . | - * U* V* U* V* U* V* U* V* . . . . UV_Scanlines - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . . . -------> Buffer size aligned to 4k - * - * - * Y_Stride =3D align(Width * 2, 256) - * UV_Stride =3D align(Width * 2, 256) - * Y_Scanlines =3D align(Height, 16) - * UV_Scanlines =3D align(Height/2, 16) - * Y_UBWC_Plane_Size =3D align(Y_Stride * Y_Scanlines, 4096) - * UV_UBWC_Plane_Size =3D align(UV_Stride * UV_Scanlines, 4096) - * Y_Meta_Stride =3D align(roundup(Width, Y_TileWidth), 64) - * Y_Meta_Scanlines =3D align(roundup(Height, Y_TileHeight), 16) - * Y_Meta_Plane_size =3D align(Y_Meta_Stride * Y_Meta_Scanlines, 4096) - * UV_Meta_Stride =3D align(roundup(Width, UV_TileWidth), 64) - * UV_Meta_Scanlines =3D align(roundup(Height, UV_TileHeight), 16) - * UV_Meta_Plane_size =3D align(UV_Meta_Stride * UV_Meta_Scanlines, 4096) - * Extradata =3D 8k - * - * Total size =3D align(Y_UBWC_Plane_size + UV_UBWC_Plane_size + - * Y_Meta_Plane_size + UV_Meta_Plane_size - * + max(Extradata, Y_Stride * 48), 4096) - */ - COLOR_FMT_P010_UBWC, - /* Venus P010: - * YUV 4:2:0 image with a plane of 10 bit Y samples followed - * by an interleaved U/V plane containing 10 bit 2x2 subsampled - * colour difference samples. - * - * <-------- Y/UV_Stride --------> - * <------- Width -------> - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . ^ ^ - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . Height | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | Y_Scanlines - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . | | - * Y Y Y Y Y Y Y Y Y Y Y Y . . . . V | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * U V U V U V U V U V U V . . . . ^ - * U V U V U V U V U V U V . . . . | - * U V U V U V U V U V U V . . . . | - * U V U V U V U V U V U V . . . . UV_Scanlines - * . . . . . . . . . . . . . . . . | - * . . . . . . . . . . . . . . . . V - * . . . . . . . . . . . . . . . . --> Buffer size alignment - * - * Y_Stride : Width * 2 aligned to 128 - * UV_Stride : Width * 2 aligned to 128 - * Y_Scanlines: Height aligned to 32 - * UV_Scanlines: Height/2 aligned to 16 - * Extradata: Arbitrary (software-imposed) padding - * Total size =3D align((Y_Stride * Y_Scanlines - * + UV_Stride * UV_Scanlines - * + max(Extradata, Y_Stride * 8), 4096) - */ - COLOR_FMT_P010, -}; - -#define COLOR_FMT_RGBA1010102_UBWC COLOR_FMT_RGBA1010102_UBWC -#define COLOR_FMT_RGB565_UBWC COLOR_FMT_RGB565_UBWC -#define COLOR_FMT_P010_UBWC COLOR_FMT_P010_UBWC -#define COLOR_FMT_P010 COLOR_FMT_P010 - -/* - * Function arguments: - * @color_fmt - * @width - * Progressive: width - * Interlaced: width - */ -static unsigned int VENUS_Y_STRIDE(int color_fmt, int width) -{ - unsigned int stride =3D 0; - - if (!width) - return 0; - - switch (color_fmt) { - case COLOR_FMT_NV21: - case COLOR_FMT_NV12: - case COLOR_FMT_NV12_MVTB: - case COLOR_FMT_NV12_UBWC: - stride =3D MSM_MEDIA_ALIGN(width, 128); - break; - case COLOR_FMT_NV12_BPP10_UBWC: - stride =3D MSM_MEDIA_ALIGN(width, 192); - stride =3D MSM_MEDIA_ALIGN(stride * 4 / 3, 256); - break; - case COLOR_FMT_P010_UBWC: - stride =3D MSM_MEDIA_ALIGN(width * 2, 256); - break; - case COLOR_FMT_P010: - stride =3D MSM_MEDIA_ALIGN(width * 2, 128); - break; - } - - return stride; -} - -/* - * Function arguments: - * @color_fmt - * @width - * Progressive: width - * Interlaced: width - */ -static unsigned int VENUS_UV_STRIDE(int color_fmt, int width) -{ - unsigned int stride =3D 0; - - if (!width) - return 0; - - switch (color_fmt) { - case COLOR_FMT_NV21: - case COLOR_FMT_NV12: - case COLOR_FMT_NV12_MVTB: - case COLOR_FMT_NV12_UBWC: - stride =3D MSM_MEDIA_ALIGN(width, 128); - break; - case COLOR_FMT_NV12_BPP10_UBWC: - stride =3D MSM_MEDIA_ALIGN(width, 192); - stride =3D MSM_MEDIA_ALIGN(stride * 4 / 3, 256); - break; - case COLOR_FMT_P010_UBWC: - stride =3D MSM_MEDIA_ALIGN(width * 2, 256); - break; - case COLOR_FMT_P010: - stride =3D MSM_MEDIA_ALIGN(width * 2, 128); - break; - } - - return stride; -} - -/* - * Function arguments: - * @color_fmt - * @height - * Progressive: height - * Interlaced: (height+1)>>1 - */ -static unsigned int VENUS_Y_SCANLINES(int color_fmt, int height) -{ - unsigned int sclines =3D 0; - - if (!height) - return 0; - - switch (color_fmt) { - case COLOR_FMT_NV21: - case COLOR_FMT_NV12: - case COLOR_FMT_NV12_MVTB: - case COLOR_FMT_NV12_UBWC: - case COLOR_FMT_P010: - sclines =3D MSM_MEDIA_ALIGN(height, 32); - break; - case COLOR_FMT_NV12_BPP10_UBWC: - case COLOR_FMT_P010_UBWC: - sclines =3D MSM_MEDIA_ALIGN(height, 16); - break; - } - - return sclines; -} - -/* - * Function arguments: - * @color_fmt - * @height - * Progressive: height - * Interlaced: (height+1)>>1 - */ -static unsigned int VENUS_UV_SCANLINES(int color_fmt, int height) -{ - unsigned int sclines =3D 0; - - if (!height) - return 0; - - switch (color_fmt) { - case COLOR_FMT_NV21: - case COLOR_FMT_NV12: - case COLOR_FMT_NV12_MVTB: - case COLOR_FMT_NV12_BPP10_UBWC: - case COLOR_FMT_P010_UBWC: - case COLOR_FMT_P010: - sclines =3D MSM_MEDIA_ALIGN((height + 1) >> 1, 16); - break; - case COLOR_FMT_NV12_UBWC: - sclines =3D MSM_MEDIA_ALIGN((height + 1) >> 1, 32); - break; - } - - return sclines; -} - -/* - * Function arguments: - * @color_fmt - * @width - * Progressive: width - * Interlaced: width - */ -static unsigned int VENUS_Y_META_STRIDE(int color_fmt, int width) -{ - int y_tile_width =3D 0, y_meta_stride; - - if (!width) - return 0; - - switch (color_fmt) { - case COLOR_FMT_NV12_UBWC: - case COLOR_FMT_P010_UBWC: - y_tile_width =3D 32; - break; - case COLOR_FMT_NV12_BPP10_UBWC: - y_tile_width =3D 48; - break; - default: - return 0; - } - - y_meta_stride =3D MSM_MEDIA_ROUNDUP(width, y_tile_width); - return MSM_MEDIA_ALIGN(y_meta_stride, 64); -} - -/* - * Function arguments: - * @color_fmt - * @height - * Progressive: height - * Interlaced: (height+1)>>1 - */ -static unsigned int VENUS_Y_META_SCANLINES(int color_fmt, int height) -{ - int y_tile_height =3D 0, y_meta_scanlines; - - if (!height) - return 0; - - switch (color_fmt) { - case COLOR_FMT_NV12_UBWC: - y_tile_height =3D 8; - break; - case COLOR_FMT_NV12_BPP10_UBWC: - case COLOR_FMT_P010_UBWC: - y_tile_height =3D 4; - break; - default: - return 0; - } - - y_meta_scanlines =3D MSM_MEDIA_ROUNDUP(height, y_tile_height); - return MSM_MEDIA_ALIGN(y_meta_scanlines, 16); -} - -/* - * Function arguments: - * @color_fmt - * @width - * Progressive: width - * Interlaced: width - */ -static unsigned int VENUS_UV_META_STRIDE(int color_fmt, int width) -{ - int uv_tile_width =3D 0, uv_meta_stride; - - if (!width) - return 0; - - switch (color_fmt) { - case COLOR_FMT_NV12_UBWC: - case COLOR_FMT_P010_UBWC: - uv_tile_width =3D 16; - break; - case COLOR_FMT_NV12_BPP10_UBWC: - uv_tile_width =3D 24; - break; - default: - return 0; - } - - uv_meta_stride =3D MSM_MEDIA_ROUNDUP((width+1)>>1, uv_tile_width); - return MSM_MEDIA_ALIGN(uv_meta_stride, 64); -} - -/* - * Function arguments: - * @color_fmt - * @height - * Progressive: height - * Interlaced: (height+1)>>1 - */ -static unsigned int VENUS_UV_META_SCANLINES(int color_fmt, int height) -{ - int uv_tile_height =3D 0, uv_meta_scanlines; - - if (!height) - return 0; - - switch (color_fmt) { - case COLOR_FMT_NV12_UBWC: - uv_tile_height =3D 8; - break; - case COLOR_FMT_NV12_BPP10_UBWC: - case COLOR_FMT_P010_UBWC: - uv_tile_height =3D 4; - break; - default: - return 0; - } - - uv_meta_scanlines =3D MSM_MEDIA_ROUNDUP((height+1)>>1, uv_tile_height); - return MSM_MEDIA_ALIGN(uv_meta_scanlines, 16); -} - -static unsigned int VENUS_RGB_STRIDE(int color_fmt, int width) -{ - unsigned int alignment =3D 0, bpp =3D 4; - - if (!width) - return 0; - - switch (color_fmt) { - case COLOR_FMT_RGBA8888: - alignment =3D 128; - break; - case COLOR_FMT_RGB565_UBWC: - alignment =3D 256; - bpp =3D 2; - break; - case COLOR_FMT_RGBA8888_UBWC: - case COLOR_FMT_RGBA1010102_UBWC: - alignment =3D 256; - break; - default: - return 0; - } - - return MSM_MEDIA_ALIGN(width * bpp, alignment); -} - -static unsigned int VENUS_RGB_SCANLINES(int color_fmt, int height) -{ - unsigned int alignment =3D 0; - - if (!height) - return 0; - - switch (color_fmt) { - case COLOR_FMT_RGBA8888: - alignment =3D 32; - break; - case COLOR_FMT_RGBA8888_UBWC: - case COLOR_FMT_RGBA1010102_UBWC: - case COLOR_FMT_RGB565_UBWC: - alignment =3D 16; - break; - default: - return 0; - } - - return MSM_MEDIA_ALIGN(height, alignment); -} - -static unsigned int VENUS_RGB_META_STRIDE(int color_fmt, int width) -{ - int rgb_meta_stride; - - if (!width) - return 0; - - switch (color_fmt) { - case COLOR_FMT_RGBA8888_UBWC: - case COLOR_FMT_RGBA1010102_UBWC: - case COLOR_FMT_RGB565_UBWC: - rgb_meta_stride =3D MSM_MEDIA_ROUNDUP(width, 16); - return MSM_MEDIA_ALIGN(rgb_meta_stride, 64); - } - - return 0; -} - -static unsigned int VENUS_RGB_META_SCANLINES(int color_fmt, int height) -{ - int rgb_meta_scanlines; - - if (!height) - return 0; - - switch (color_fmt) { - case COLOR_FMT_RGBA8888_UBWC: - case COLOR_FMT_RGBA1010102_UBWC: - case COLOR_FMT_RGB565_UBWC: - rgb_meta_scanlines =3D MSM_MEDIA_ROUNDUP(height, 4); - return MSM_MEDIA_ALIGN(rgb_meta_scanlines, 16); - } - - return 0; -} - -#endif --=20 2.47.3 From nobody Tue Dec 16 13:22:35 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 55E172874E4 for ; Fri, 14 Nov 2025 03:44:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091849; cv=none; b=P7d4i0tVLWIMATBiKyPtGgnSB50H9Y/NXQgfvXtM3+Kh1B3quntf7BEMYv0+G43idOtdaNDNJu4Eqjeqfy1qaH6AFfjRiTgNMnF026h84BNL/7va4VjhTih/2lZWgm74kD12fxvEo3xpovfTHM/hpP1BrLDYYN9NdsWf9Rl/HTg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763091849; c=relaxed/simple; bh=VPbylyDBkCJtvEwxDI8LMWIjA3Hoqe2EHamYEMv9eSk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KvKcDpc9E/ZMdL2/qbMIqdfVrg60QcrK4l6PkGMrQ9sGYPNEcZ+GisGdb/b3PPhhnxZrSmj0cmcnk4L7DWg+m6zaOgriQowFIF9fhRPQzWS714X7hsCvy8c2wb5VIul/J5qSx+StLqShngk87J5V0NuWsG6LczcFIMO43ISl69M= 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=Vh92We77; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TwgCpfpM; arc=none smtp.client-ip=205.220.180.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="Vh92We77"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TwgCpfpM" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5ADMb1Xo1485460 for ; Fri, 14 Nov 2025 03:44:07 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= dtq0GJ7tV91I/BHHJah0AtaqvF7na51s0A7ny73xl4Q=; b=Vh92We77N5QIZHvZ NSao/Oy+WO94liaviIJC0pRX3Xx3TyKoYy7fy5qnJW0vqCtzZmfa+8PWoomln5yn gKlMZiZIS5yqnS55dKwqrx9Aehv2ApAnG2ynFpuWfkHgb21G5ajI9+QTbKqLalZ3 3ifz+7tsUJu0n0lW7ZOAjt8uROEykG2AMU0GfR0JMIMh+Xd9SSRu6NHXLQG52J6S C0PabpzE5bmA/SJYouqWnj2XWZdT1oJTQ8ElsLotJe8VV0BNF13VMYAI7jWPfYvh 73BNzzad8KWg+rxtheUFcWRzbhDkDR3EmpM98pBVLH1sNpNJs1ftVaqnWb0+9ak4 ej0q4A== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4adr9hrph1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Nov 2025 03:44:07 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-882529130acso39393176d6.2 for ; Thu, 13 Nov 2025 19:44:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763091846; x=1763696646; 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=dtq0GJ7tV91I/BHHJah0AtaqvF7na51s0A7ny73xl4Q=; b=TwgCpfpM5T2nx2jr/VaWqwEl0TDoqxzNYzKy5dbSXDE8BMTmy7WevT2OtUJxlvcAi9 6bO2TwgXROhU/MqneGe+Qz2xHndsi1jRmT4RXxC72U3TQlQm2REUyB9pvwAeBM+ZMoIm aF4BZqDpePMVb7+M09CRTMY9ECJKbowAyY3uAITY26yE7jqWw9MfkuHMu2HQyfR111tw F05o00zySwi9Gj2eoI5pDcE+LqialJeKE/IKlaPJSYGE3tNai4xU9AGJqaz6G+XGjbfC cD6qtLOAQlxdw639jflaNKUVGkwPRPiNcBmVjw1RL1XzRKyABRzkMd+hpOahqFLlRMw9 rLpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763091846; x=1763696646; 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=dtq0GJ7tV91I/BHHJah0AtaqvF7na51s0A7ny73xl4Q=; b=E8tzj6nDi4uebf2pvft2kCfdwddArvuylVB398pkrB595x0f/CDjJ6oZWL3pFpm3KX 9BnbW+0sCkk/DaajVFQra1gMWqI/zyDYzi5fEN2GEc0OMqGiT1HFvfvhOkSumrcioTy7 t9k0rCkRZ8Kp5o0yQlvv5ZvHTPcj6k8yz2U75BVY9hLpfg3OCa6QFjzW1RclvvSd77Gb yHG+PwRP1H+Rq1cE7WDqpLbvmevIWNw1IEwNLZDrK4q7GdU1f+LZuHeqlQdzNXr4xooP NrJE4T4mNTp+bkKgjbuJ6k74Z6XXhgKwYmDYWOia94saJIfLtk8vcybbmAT11O1kBwqr jD2g== X-Forwarded-Encrypted: i=1; AJvYcCX13uQ5v6XoybvWhnZVgzOeMxsLcwGZI2Wtx9A7PypUk9oVE/Yj9nzA1Q54rL3qHuJJ0a95VDf7g+M9Kgc=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/7Ol5UFmy7d+wBtj5G4W9HW/miOL6GC5bm6vwfD+3KI/lu0PE sdOa/Yec6WoIvRQ0o7KG4Wrcc/n5XmC7P2IZ0EDZ6zb2e8/e/FONMnZkE0iU3ujclrkgARlKKjX uGQPXEMmn48rf6l34L9fEXi4woVkRWGN2L4A2D0NriG9YTo8Qe/DW4oucIiNTcopfrUs= X-Gm-Gg: ASbGncsxTKeeYo4V6Z5VOOAVqu5UQgENUFzx1CVyqVEcutyIHNViMqrXkHyDGGqKJ+Z rk66QuwqHWd5H/m9I5RQSXxxRebHJ6oLLFN5eFKs1oBdDURaOuWS90i5JsI+A6Rw2lqQ8o0zPp4 hHA80+0J/RU7heH40R0up5OJxqZrPbNfWIbGHFVIE5LpKwUOIn/IX5+Q9hozpnjnQo4rJi1G5MO G3GhmAw8Ljc70Fk0rfEdG+8u3QuqbadlNt4UmS3ODQRh2O5X3J875yKjR5GOi3xvXp3s6uaBd2b vPggcXREKK1zZC6KVBDmjiC5YDJCPD5Q2uAqz3kn9X/u8ZAF9PSTiO4F/9mtN+s3DiaWqUFJTvz uOGWAhpirSTsTgIsh4bM9eIaDAlHGCQuWHBfAjT76F/hbCV/SQxsqalVzsp18nIYi4WGDWeXsmh KanWUtk5bSuXgg X-Received: by 2002:a05:6214:1d2f:b0:880:448b:b893 with SMTP id 6a1803df08f44-8829272e198mr23198616d6.50.1763091846302; Thu, 13 Nov 2025 19:44:06 -0800 (PST) X-Google-Smtp-Source: AGHT+IFqUJMLs+6jtwJBpg3Az+p+wGQJe71anyIqFLGvR3+H/KO+e/mxBtEGa6IBNBccwnLxdp6caQ== X-Received: by 2002:a05:6214:1d2f:b0:880:448b:b893 with SMTP id 6a1803df08f44-8829272e198mr23198396d6.50.1763091845851; Thu, 13 Nov 2025 19:44:05 -0800 (PST) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5958040575fsm800713e87.84.2025.11.13.19.44.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 19:44:05 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 14 Nov 2025 05:43:39 +0200 Subject: [PATCH v3 12/12] drm/msm/dpu: use standard functions in _dpu_format_populate_plane_sizes_ubwc() 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: quoted-printable Message-Id: <20251114-dpu-formats-v3-12-cae312379d49@oss.qualcomm.com> References: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> In-Reply-To: <20251114-dpu-formats-v3-0-cae312379d49@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jordan Crouse , Jessica Zhang 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.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5431; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=VPbylyDBkCJtvEwxDI8LMWIjA3Hoqe2EHamYEMv9eSk=; b=owEBbAGT/pANAwAKAYs8ij4CKSjVAcsmYgBpFqVmgyV/FfRFGvjtbKAqqM/dmHvibrPtN6W1A VggaMfW43aJATIEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRalZgAKCRCLPIo+Aiko 1X2aB/dJXBqXc0cvpTNEm+vU5/J7lvSCBS+lJkjb07vkK0rPSF7L/Ly2Lr7TWERkvw9uxbv4D4X ZsaJp6JkFKz9L6pwJOa2hgJpQRHrhWxLu91XedmKyDHfsMP7ynw1cyJckJNX+Gd+sslZihmIfIS w6kSykh0qR6PKbok4UcHqGUaO7fd3Q2okEjAu+1wvG+RyQsMhSGDCtUz3OC557KpGImUueLJAdF L1vaWNorBEtPqOD+aHvYdw9jrG753owQ00ylexKbFXf4x7PFc5PKngh3XXreO59x6qxcDbPprgY uKSVToE0MFlpz7Hd434PVIUWAvtPnbUjyOit0DRDmsg8e0E= X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: bS1kVBhJukgHUO7TpMZ3avnO3q9DrIEI X-Proofpoint-ORIG-GUID: bS1kVBhJukgHUO7TpMZ3avnO3q9DrIEI X-Authority-Analysis: v=2.4 cv=N+Qk1m9B c=1 sm=1 tr=0 ts=6916a587 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=7bqH7Blup1pqkekdm3wA:9 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE0MDAyNyBTYWx0ZWRfX7WfZk4cOy5lQ 8fsddR9CwB5+4n1r7UVVHpput+AIXuz/TX7Nac9JFuC4ckAYW/Bgxe4dLvhpaLRj74R6JtXQWjs E/zyiS7jpn5zqP42uUctSNOrhpZ2/vJM/qJYOc84bna1n+i8zEw8Hi1N2QmhhFS0DYkfI4qNpZH VcynsFUZy4rH1Y0muKS9XtUIn2D5iHvW98jpMYwfgz9SSsQriCMZpVyccnsZpaN6u7fP4TBUetS +A+FgPdFTMNJUpiugvFEsVPxGKwz7wPxGHnmJN13ekcrkxpHFT19jusnD6wSblxITt6qXVLRSHx 25/j4pG+NpeKsXKkwUrpBYATH9670fi4SpeKH7eRtdh65OD+JeGj4yZTCA8pHd05IOYdcmIcbzn 5L5YzZDkyBj9nAGgm8wSdOXHb3fsxg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-13_07,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 spamscore=0 suspectscore=0 impostorscore=0 clxscore=1015 malwarescore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511140027 The _dpu_format_populate_plane_sizes_ubwc() used MSM_MEDIA_ALIGN() and MSM_MEDIA_ROUNDUP(), macros inherited from the previous implementation, msm_media_info.h. Replace them with the standard Linux macros, round_up() and DIV_ROUND_UP() respectively. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 63 +++++++++++++------------= ---- 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c b/drivers/gpu/drm/= msm/disp/dpu1/dpu_formats.c index da1870ce7680899759d09caa01050eeb9844a484..6e8883dbfad439a3b3f07b6fe93= 37820048fc2eb 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c @@ -10,16 +10,6 @@ #include "dpu_kms.h" #include "dpu_formats.h" =20 -#ifndef MSM_MEDIA_ALIGN -#define MSM_MEDIA_ALIGN(__sz, __align) (((__align) & ((__align) - 1)) ?\ - ((((__sz) + (__align) - 1) / (__align)) * (__align)) :\ - (((__sz) + (__align) - 1) & (~((__align) - 1)))) -#endif - -#ifndef MSM_MEDIA_ROUNDUP -#define MSM_MEDIA_ROUNDUP(__sz, __r) (((__sz) + ((__r) - 1)) / (__r)) -#endif - #define DPU_UBWC_PLANE_SIZE_ALIGNMENT 4096 =20 /* @@ -78,56 +68,57 @@ static int _dpu_format_populate_plane_sizes_ubwc( =20 if (MSM_FORMAT_IS_DX(fmt)) { if (fmt->flags & MSM_FORMAT_FLAG_UNPACK_TIGHT) { - stride =3D MSM_MEDIA_ALIGN(fb->width, 192); - stride =3D MSM_MEDIA_ALIGN(stride * 4 / 3, 256); + /* can't use round_up() here because 192 is NPoT */ + stride =3D roundup(fb->width, 192); + stride =3D round_up(stride * 4 / 3, 256); y_tile_width =3D 48; } else { - stride =3D MSM_MEDIA_ALIGN(fb->width * 2, 256); + stride =3D round_up(fb->width * 2, 256); y_tile_width =3D 32; } =20 - sclines =3D MSM_MEDIA_ALIGN(fb->height, 16); + sclines =3D round_up(fb->height, 16); y_tile_height =3D 4; } else { - stride =3D MSM_MEDIA_ALIGN(fb->width, 128); + stride =3D round_up(fb->width, 128); y_tile_width =3D 32; =20 - sclines =3D MSM_MEDIA_ALIGN(fb->height, 32); + sclines =3D round_up(fb->height, 32); y_tile_height =3D 8; } =20 layout->plane_pitch[0] =3D stride; - layout->plane_size[0] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[0] * + layout->plane_size[0] =3D round_up(layout->plane_pitch[0] * sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 layout->plane_pitch[1] =3D stride; - layout->plane_size[1] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[1] * + layout->plane_size[1] =3D round_up(layout->plane_pitch[1] * sclines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 if (!meta) return 0; =20 - y_meta_stride =3D MSM_MEDIA_ROUNDUP(fb->width, y_tile_width); - layout->plane_pitch[2] =3D MSM_MEDIA_ALIGN(y_meta_stride, 64); + y_meta_stride =3D DIV_ROUND_UP(fb->width, y_tile_width); + layout->plane_pitch[2] =3D round_up(y_meta_stride, 64); =20 - y_meta_scanlines =3D MSM_MEDIA_ROUNDUP(fb->height, y_tile_height); - y_meta_scanlines =3D MSM_MEDIA_ALIGN(y_meta_scanlines, 16); - layout->plane_size[2] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[2] * + y_meta_scanlines =3D DIV_ROUND_UP(fb->height, y_tile_height); + y_meta_scanlines =3D round_up(y_meta_scanlines, 16); + layout->plane_size[2] =3D round_up(layout->plane_pitch[2] * y_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 - uv_meta_stride =3D MSM_MEDIA_ROUNDUP((fb->width+1)>>1, y_tile_width / 2); - layout->plane_pitch[3] =3D MSM_MEDIA_ALIGN(uv_meta_stride, 64); + uv_meta_stride =3D DIV_ROUND_UP((fb->width+1)>>1, y_tile_width / 2); + layout->plane_pitch[3] =3D round_up(uv_meta_stride, 64); =20 - uv_meta_scanlines =3D MSM_MEDIA_ROUNDUP((fb->height+1)>>1, y_tile_height= ); - uv_meta_scanlines =3D MSM_MEDIA_ALIGN(uv_meta_scanlines, 16); - layout->plane_size[3] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[3] * + uv_meta_scanlines =3D DIV_ROUND_UP((fb->height+1)>>1, y_tile_height); + uv_meta_scanlines =3D round_up(uv_meta_scanlines, 16); + layout->plane_size[3] =3D round_up(layout->plane_pitch[3] * uv_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); } else { unsigned int rgb_scanlines, rgb_meta_scanlines, rgb_meta_stride; =20 - layout->plane_pitch[0] =3D MSM_MEDIA_ALIGN(fb->width * fmt->bpp, 256); - rgb_scanlines =3D MSM_MEDIA_ALIGN(fb->height, 16); - layout->plane_size[0] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[0] * + layout->plane_pitch[0] =3D round_up(fb->width * fmt->bpp, 256); + rgb_scanlines =3D round_up(fb->height, 16); + layout->plane_size[0] =3D round_up(layout->plane_pitch[0] * rgb_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); =20 if (!meta) @@ -136,13 +127,13 @@ static int _dpu_format_populate_plane_sizes_ubwc( /* uAPI leaves plane[1] empty and plane[2] as meta */ layout->num_planes +=3D 1; =20 - rgb_meta_stride =3D MSM_MEDIA_ROUNDUP(fb->width, 16); - layout->plane_pitch[2] =3D MSM_MEDIA_ALIGN(rgb_meta_stride, 64); + rgb_meta_stride =3D DIV_ROUND_UP(fb->width, 16); + layout->plane_pitch[2] =3D round_up(rgb_meta_stride, 64); =20 - rgb_meta_scanlines =3D MSM_MEDIA_ROUNDUP(fb->height, 4); - rgb_meta_scanlines =3D MSM_MEDIA_ALIGN(rgb_meta_scanlines, 16); + rgb_meta_scanlines =3D DIV_ROUND_UP(fb->height, 4); + rgb_meta_scanlines =3D round_up(rgb_meta_scanlines, 16); =20 - layout->plane_size[2] =3D MSM_MEDIA_ALIGN(layout->plane_pitch[2] * + layout->plane_size[2] =3D round_up(layout->plane_pitch[2] * rgb_meta_scanlines, DPU_UBWC_PLANE_SIZE_ALIGNMENT); } =20 --=20 2.47.3