From nobody Tue Dec 16 21:25:03 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