From patchwork Wed Mar 26 13:22:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030073 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EB3D2C3600C for ; Wed, 26 Mar 2025 13:23:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 33F5F10E6C9; Wed, 26 Mar 2025 13:23:24 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="ovZtR2a/"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6803E10E6E2 for ; Wed, 26 Mar 2025 13:23:19 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B146A99F; Wed, 26 Mar 2025 14:21:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995290; bh=rnb9O5ga+vC0Au9mvXeMxO85sgNKSlUDQVe/FRuj+pw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ovZtR2a/ZtjS+P/tBryQlDX2uBR6qpPsG4EqKUbJwM5WkXYz+dX9n/WiwJYlzs2Su Sxm7/Z6dS+E9/0x0aAbBkAasC1FY2gGBKg2uU65q69m0evvZGK1+iYb/JHAIGi5+61 sp4I8XvvOn7O57f9O9hIvmlzv4GczHgQRldreRIM= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:44 +0200 Subject: [PATCH v4 01/11] drm/fourcc: Add warning for bad bpp MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-1-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1747; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=rnb9O5ga+vC0Au9mvXeMxO85sgNKSlUDQVe/FRuj+pw=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//A6V10zj9xebzMdauH1U9z/DSfJoRltXRwP 8qPPHaNVfCJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wAAKCRD6PaqMvJYe 9UpgEACtmWp6yWajbM571pCC9OqhLJWmaAGCHktwn+ik1RRI08C/HriGIK1ZEpa4aorA6mILQ6S X2JaKKYacaq/GpTTLesowL4YWmEgZZZDETPBEIctTuZWowHXQy9XjxvF0ssMJH321fTUBgKh1ac yrwXbiCjI4O0jTNKWx+fvEPZDB4QjLlPnbtBq09VMuxoi5Ddi8rhXTEAoQE8H4DAXseGwfWkHE/ rlS2J6EiJFW7t82wLqGPxWYvFP9KKm2XGZjaaOfZzHfbDqyMOewit5BuGYgjOfidpD6WKrteJR/ +TYg0nEy5KCcPlovtcQ0zJ/sJvttJ443ND6TPUdKppkTXXMZK7wjQsOB1WHbAO6NuJhZ3Ku4M/I 77y/ZQD2tGZVg6h9KvwtOswpIHtMWy2WX7FVQqpE19e4dKz/Q6NEuUnXa5qty9AJ/Q3opHwUUsG hb3E3fE/d963yH57NESyWDz1dgQsR/ZZa9irO3Grjt7xREPM5GggJs3FFrhpOFdXzTJ2NvvTclB Y2mtI8S4k/EbUDTPgPNk4vMrRSztRCnu8E7GmbU/wxzQ5oq4uFF4AWlfhPeK1EuFgWc7B3lRnPg pkgkmoYae5+nyjLpMGKkQLo8cC04qN7uBoMi+tkF2W7kNtK9B6keyXuLeZHVKwuxOY7LioVJBV3 FNxcurkQSWZBnIQ== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" drm_format_info_bpp() cannot be used for formats which do not have an integer bits-per-pixel in a pixel block. E.g. DRM_FORMAT_XV15's (not yet in upstream) plane 0 has three 10-bit pixels (Y components), and two padding bits, in a 4 byte block. That is 10.666... bits per pixel when considering the whole 4 byte block, which is what drm_format_info_bpp() does. Thus a driver that supports such formats cannot use drm_format_info_bpp(), It is a driver bug if this happens, but so handle wrong calls by printing a warning and returning 0. Reviewed-by: Laurent Pinchart Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/drm_fourcc.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c index 3a94ca211f9c..2f5781f5dcda 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c @@ -454,12 +454,20 @@ EXPORT_SYMBOL(drm_format_info_block_height); */ unsigned int drm_format_info_bpp(const struct drm_format_info *info, int plane) { + unsigned int block_size; + if (!info || plane < 0 || plane >= info->num_planes) return 0; - return info->char_per_block[plane] * 8 / - (drm_format_info_block_width(info, plane) * - drm_format_info_block_height(info, plane)); + block_size = drm_format_info_block_width(info, plane) * + drm_format_info_block_height(info, plane); + + if (info->char_per_block[plane] * 8 % block_size) { + pr_warn("unable to return an integer bpp\n"); + return 0; + } + + return info->char_per_block[plane] * 8 / block_size; } EXPORT_SYMBOL(drm_format_info_bpp); From patchwork Wed Mar 26 13:22:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030075 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 73C85C3600C for ; Wed, 26 Mar 2025 13:23:28 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A611210E6CD; Wed, 26 Mar 2025 13:23:24 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="D05IgC1P"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 133A510E6EF for ; Wed, 26 Mar 2025 13:23:20 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 91BFDA57; Wed, 26 Mar 2025 14:21:30 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995291; bh=oWB+k3YdN2oGtIP+eNrRjj58cvMvE9xAoBG8JrtVz78=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=D05IgC1PdTFdjB76pkEjwQ3NwfPlmAkgEiK+28UtYpaxYpRzVynuhwwy4Y86FiB4O 0wRnMrfH/3bwK27vFuCuCAgeB9nJkeYPcVSx2nWaWaTOVFeUa0+XnwpCEx9gdgO3BP 12UYTF5QWEKR23V3K34JRZNGS1QluMQ9iFcU2OlY= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:45 +0200 Subject: [PATCH v4 02/11] drm/fourcc: Add DRM_FORMAT_XV15/XV20 MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-2-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen , Dmitry Baryshkov X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2201; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=oWB+k3YdN2oGtIP+eNrRjj58cvMvE9xAoBG8JrtVz78=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//AX3Zl9l8xzWQKZ3xu/dKaKYrp+y7JRJWXU xgpWeE7f26JAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wAAKCRD6PaqMvJYe 9SWgD/9TkRG3IR+l7+t3B0na903vCmOmvRPtBv0gg/gn25Nle2kOd7ZYVzl5FsW2aX6SDlBhomM KWvzVgYKGIYKMkAFxW74n2vO13Glb1K0+fSQBm3xePyVW1ujjj+FZ8DdC+HspxN1aOQmvcYbrfe yW0KGxgMfyxau1+Mgr5ELYKrAojTBa5LYskbU+oNFyqAT7x79OWoyP0Y+32skYwkNjTEZ3GTu2i hA1Dyu7mlu9JikTAB+rTlEzq5/kec7TEe6CjOXnKA1IIY8tg15qrAsvSh1zz6J+V5oQqVQj4ill MI4dZgtblvgHfsArniOp5EdKaDvAUdN8brmfmtTHrCh9GDvD9Gmgjq+T1NZcfH0BhI5D1cG9ZTu RvXFiUHkJrvqmj7dUzbglgvly/Uu1xyrOTT04qYd/7szyy2D1ml1DPEajD5B3nRsmCErAiTJZG8 x5F0geziGneKnvvGd3lEiIKSqMbqhEKEkNBZPVIY2vINw1ljxXhFelQveCUv72BkKf9CFPOEhmA zKv7rCXX3BHakgMNqZrYVcZtP6yXcGYfPaftJcw0HRoBe81Qtv4/Py/iikyKOSqTMCYF3ki7oGi bINA5GWw8EGekVrooWbxBt78yVQ2QQNkSS3tfarUiMmDqF43Rcvfgf1Bt/tdWS7Xo8ppJW9LwHW PMEdlVdScMxppPg== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add two new pixel formats: DRM_FORMAT_XV15 ("XV15") DRM_FORMAT_XV20 ("XV20") The formats are 2 plane 10 bit per component YCbCr, with the XV15 2x2 subsampled whereas XV20 is 2x1 subsampled. Reviewed-by: Dmitry Baryshkov Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/drm_fourcc.c | 6 ++++++ include/uapi/drm/drm_fourcc.h | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c index 2f5781f5dcda..e101d1b99aeb 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c @@ -346,6 +346,12 @@ const struct drm_format_info *__drm_format_info(u32 format) { .format = DRM_FORMAT_P030, .depth = 0, .num_planes = 2, .char_per_block = { 4, 8, 0 }, .block_w = { 3, 3, 0 }, .block_h = { 1, 1, 0 }, .hsub = 2, .vsub = 2, .is_yuv = true}, + { .format = DRM_FORMAT_XV15, .depth = 0, .num_planes = 2, + .char_per_block = { 4, 8, 0 }, .block_w = { 3, 3, 0 }, .block_h = { 1, 1, 0 }, + .hsub = 2, .vsub = 2, .is_yuv = true }, + { .format = DRM_FORMAT_XV20, .depth = 0, .num_planes = 2, + .char_per_block = { 4, 8, 0 }, .block_w = { 3, 3, 0 }, .block_h = { 1, 1, 0 }, + .hsub = 2, .vsub = 1, .is_yuv = true }, }; unsigned int i; diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 81202a50dc9e..1247b814bd66 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -304,6 +304,14 @@ extern "C" { #define DRM_FORMAT_RGB565_A8 fourcc_code('R', '5', 'A', '8') #define DRM_FORMAT_BGR565_A8 fourcc_code('B', '5', 'A', '8') +/* + * 2 plane 10 bit per component YCrCb + * index 0 = Y plane, [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian + * index 1 = Cb:Cr plane, [63:0] x:Cr2:Cb2:Cr1:x:Cb1:Cr0:Cb0 2:10:10:10:2:10:10:10 little endian + */ +#define DRM_FORMAT_XV15 fourcc_code('X', 'V', '1', '5') /* 2x2 subsampled Cr:Cb plane 2:10:10:10 */ +#define DRM_FORMAT_XV20 fourcc_code('X', 'V', '2', '0') /* 2x1 subsampled Cr:Cb plane 2:10:10:10 */ + /* * 2 plane YCbCr * index 0 = Y plane, [7:0] Y From patchwork Wed Mar 26 13:22:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030076 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 78420C36008 for ; Wed, 26 Mar 2025 13:23:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CFA3C10E6CF; Wed, 26 Mar 2025 13:23:24 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="bzAAnpmF"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id F391810E6DA for ; Wed, 26 Mar 2025 13:23:20 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 7FEB01054; Wed, 26 Mar 2025 14:21:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995292; bh=PtShATPcCu0HjOE3jQ5aeC8LyNewsgbKYVLFevEUXT0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=bzAAnpmFwKzwlIOcrh3kmM7/GpyTMV9Lkwh9nwMk6sQx98fkSku4khyowhPRiwWZG MurfrHtB+XOlj+QBE7axKtWe+uVOJdxxYzEmHLH9y3IbFk6RcBZd06h3k3FaqhsA9Q 7GOZFTnLzkcjz8GR2SmkGtzm9g25Ctt9JjlxQwFw= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:46 +0200 Subject: [PATCH v4 03/11] drm/fourcc: Add DRM_FORMAT_Y8 MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-3-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen , Dmitry Baryshkov X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2003; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=PtShATPcCu0HjOE3jQ5aeC8LyNewsgbKYVLFevEUXT0=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//Ava8OwHFVld64m7jx6U9gxzgqkK/V5FaDT BR7EqsDsnyJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wAAKCRD6PaqMvJYe 9cr0EACMRJguvN6Fjc6Syac+iVs6MM73egJDFs1wdRMGX8RoKhaIe5dwVQKRdo1SOwHDowRRH2y tkkLZxYyF1NNrjton8vBFC3UV+fwYYa7ZvvCdxNjpXeAFD+qwWuw1BJILscXpe9mfIWCLMbUV19 gH2WnUlRV1nUzTc9TZWchKBnT9hVDfg8VgGj4VZ+Oj1/tt57jfw3Zud+CaAv+IsYICLoP0jeKF2 zzaalq1eEUG5/awR7nW0hrdyJ1buR0XHHePbamPuRH9mIvLYXXJh3jCjIYlZ90AfOlpw5AmgCZe FZkdHpH3RFWOxH4fXErJdOwHkiFP9Sio641Mzuv1Y+Nygs9gcoUPLPZTUL3rOnlO/okatLK8AkR Pp/jKKhw0gbncvZlWZpGdhRgORUgGl91sdSdsxvdSUqL1lKtF1zpHIklBLG4jPK4bY2B/5YQLAZ U3RQfRugZPXRoKaYPK6o2pbhr7Z9GrlikxRBIzTK+aq3sglhNz4I6TCeewxvzd1sQt5uWL+VWTs 4R9lke+eORcGYvF1TsQqtQl7TZ9srUPEJLw3rsYsAV59j5Tp6W1zi4X+v9xbo36kAm8iACvcMnJ sbo4ExwaZC3ZQykcA9hNlnI97MRzMo+nv0d/ttWng+jWSVUgZYZS5nwKDFwzXYdSHEJl8UP+q1z 0ve2qpgngqqZfHw== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add greyscale Y8 format. Acked-by: Dmitry Baryshkov Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/drm_fourcc.c | 1 + include/uapi/drm/drm_fourcc.h | 3 +++ 2 files changed, 4 insertions(+) diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c index e101d1b99aeb..355aaf7b5e9e 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c @@ -267,6 +267,7 @@ const struct drm_format_info *__drm_format_info(u32 format) { .format = DRM_FORMAT_YVU422, .depth = 0, .num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 2, .vsub = 1, .is_yuv = true }, { .format = DRM_FORMAT_YUV444, .depth = 0, .num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 1, .vsub = 1, .is_yuv = true }, { .format = DRM_FORMAT_YVU444, .depth = 0, .num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 1, .vsub = 1, .is_yuv = true }, + { .format = DRM_FORMAT_Y8, .depth = 8, .num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1, .is_yuv = true }, { .format = DRM_FORMAT_NV12, .depth = 0, .num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 2, .is_yuv = true }, { .format = DRM_FORMAT_NV21, .depth = 0, .num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 2, .is_yuv = true }, { .format = DRM_FORMAT_NV16, .depth = 0, .num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 1, .is_yuv = true }, diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 1247b814bd66..751b8087b35f 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -405,6 +405,9 @@ extern "C" { #define DRM_FORMAT_YUV444 fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */ #define DRM_FORMAT_YVU444 fourcc_code('Y', 'V', '2', '4') /* non-subsampled Cr (1) and Cb (2) planes */ +/* Greyscale formats */ + +#define DRM_FORMAT_Y8 fourcc_code('G', 'R', 'E', 'Y') /* 8-bit Y-only */ /* * Format Modifiers: From patchwork Wed Mar 26 13:22:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030074 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4B827C3600B for ; Wed, 26 Mar 2025 13:23:27 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6A55310E6CE; Wed, 26 Mar 2025 13:23:24 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="TkMCLwph"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id D427110E6C6 for ; Wed, 26 Mar 2025 13:23:21 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 6A6EE10D4; Wed, 26 Mar 2025 14:21:32 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995293; bh=9MHTxZdH7A64p6rkGsMJ1pERN/pChugBsFtXfs/OL8w=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=TkMCLwphYF2TsBTzKA4WS43gF1mPqgX3fD93IFX6AaJzIjJ4a1p9vHqw/Vz3dWRxy JbaP68KLxa3k2Kco9f6jz6LMSbKXBW/txaY1E6x30BWJ6rmD90OJ10/qU15ppYW58P Wshjb0iJvVOpKtfJagcLmPOWpY8l70Avo3+Bs+BA= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:47 +0200 Subject: [PATCH v4 04/11] drm/fourcc: Add DRM_FORMAT_Y10_P32 MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-4-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1565; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=9MHTxZdH7A64p6rkGsMJ1pERN/pChugBsFtXfs/OL8w=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//BdemlPRklQ6gnd/Q/5zTB5DnVlRkfQENq1 3jF2adPkVqJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wQAKCRD6PaqMvJYe 9RHbD/0W5pG4aByofNdoxcApNE/W22S2TcyIDEHx0OB6JuQWt4RV5HfNgv5SsM0DWPgbEQ/qnSv rM9746U8NdeADgIIPhfzwgQEbaehU8mnNMBy6SCK0rHmWS9bFy4iBnn0OH02hiuvSJ30ILFuhPZ XEJoa+nC2zSLPgMwGhzUCu66dwPIxjbFJ7WwGaBgxn4kca5WRwko4WZMp6CdLDNshx9DLqtfsLY cmNok3UO1nxZfcIRPe4LSDcCOO2Bbe0p6xctBgokZQ+PIkKP/1bhTh48AY//hJTwvlCunXQcr7O FGdr1SP/HpD2jUApmpfm6Lw6XHcL+7dXlkMWbJuYkGaIazPIibIVjZDnnj4Xj1VpGvunERzj5UG QybSUL75aZ70FlwzNQYCfJ5+vPcJLYwRXj3GvHUwiaDordbCuh2bNxJZUiKTm1l51J6qrughUvF tthWvRNnOaRrqX2YAefKMFoc0VSUmb3f5aw+02o2lyYUrxe3AGx17YDrepm5Wxo7Mlz/STCL9AG v7e+Giwf6Fl3+5uX1BIm97lkqIQYQmIgn5jayO9mPkQcOLvwsPqPSFkedfL5yBaoGbs+xZfIPR5 AGvt5VoXnUJXdCIJyTLNd70XWuq/QiimG87G90mrr+qFI3xCGgWFozpldGard6xcohxcJ36OdIz i2+d1/BDBIPojwQ== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add Y10_P32, a 10 bit greyscale format, with 3 pixels packed into 32-bit container. The fourcc for the format is 'YPA4', which comes from Y - Y only, P - packed, A - 10 (as in 0xA), 4 - 4 bytes. Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart --- drivers/gpu/drm/drm_fourcc.c | 3 +++ include/uapi/drm/drm_fourcc.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c index 355aaf7b5e9e..e5f04f7ec164 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c @@ -353,6 +353,9 @@ const struct drm_format_info *__drm_format_info(u32 format) { .format = DRM_FORMAT_XV20, .depth = 0, .num_planes = 2, .char_per_block = { 4, 8, 0 }, .block_w = { 3, 3, 0 }, .block_h = { 1, 1, 0 }, .hsub = 2, .vsub = 1, .is_yuv = true }, + { .format = DRM_FORMAT_Y10_P32, .depth = 0, .num_planes = 1, + .char_per_block = { 4, 0, 0 }, .block_w = { 3, 0, 0 }, .block_h = { 1, 0, 0 }, + .hsub = 1, .vsub = 1, .is_yuv = true }, }; unsigned int i; diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 751b8087b35f..f6316adbeb97 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -408,6 +408,7 @@ extern "C" { /* Greyscale formats */ #define DRM_FORMAT_Y8 fourcc_code('G', 'R', 'E', 'Y') /* 8-bit Y-only */ +#define DRM_FORMAT_Y10_P32 fourcc_code('Y', 'P', 'A', '4') /* [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian */ /* * Format Modifiers: From patchwork Wed Mar 26 13:22:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030072 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A87B4C36008 for ; Wed, 26 Mar 2025 13:23:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E3C2E10E6C6; Wed, 26 Mar 2025 13:23:23 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="eSYLKTt8"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id B7E2B10E6C6 for ; Wed, 26 Mar 2025 13:23:22 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 4D28D11D9; Wed, 26 Mar 2025 14:21:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995294; bh=RuiwkWYkXDPZIyqS2srDTuseW4wRtdGOjSjDtskjiwI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=eSYLKTt8O32894iqX/Hoqr49QlQLFyG0/wiGIdhT+9tiE+X9/X+LV9JRyMzzUx187 snu2MfZWclN7MxmzCAjzGYwKLH0W4biifXKjjERNRWjfixwC8tyfwh/mpq5A9HJtcu KiaJbbhcZHk6rGZSuPbzIija54HQ91ivP6hnUg60= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:48 +0200 Subject: [PATCH v4 05/11] drm/fourcc: Add DRM_FORMAT_X403 MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-5-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1696; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=RuiwkWYkXDPZIyqS2srDTuseW4wRtdGOjSjDtskjiwI=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//Bs2/DMsm0t+zsYTdQ7Dcu7n+xbEHvoo0jv I7PQSKvvUWJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wQAKCRD6PaqMvJYe 9VTOD/9jFgKgiTf0yGGG6QkDGvB2kB3FBx1D4T8EqaQKRDlJBrDiFvZiUnwrbwlrL66fMlHPBBw /Kkc3ysttJiQzXAS3L4QVnLV6k9X0atU/7ibDNZo55HERe3pNOOXCkRa+ZwVKSt9viL7oS1AVNM NpE15l3DGxqSp6Vxrj/T9EQdwsXFyQ1tS9NGYH9lf9Zbk6iPJ3DzlsVbf0tQSPyIIGkfeZFO9xj kUXudD+uNvYJn4XXl+hW4aXeUGVGxDfqJny8FblYXbhMl5WPLkdPk1r4PWIrwf/+3yaW4uyPJZO L1zzbeGTvrDam9gYqQhaZ2bO4LbIdYWp3+HIOVAJjqSkNlqm7SwYhToJUp8uqxa51VytWVbQvsP EEFJ2k6QqpeTGlFuaUKgF3gbedkXfTHGjvzTAg/3bke3BxWyEh3n2tUTyG/heshlbAQDafR6uJ8 fIB7zUmpsjWm7gXWCm0ID+vfwyf/agz+6agZ2bSJZ2DO/H5rT9Szru3Kp57fH8hb9VBZbYsH88P Ykpow683tzybEeGhT30YmF+bNktP6IoPwWLMuXmgjRx8YWpHHJxqFavyIjmBvLhoT+BiRLWiZA8 g1j25Dfk9PKQhNU6h4oe6vUDi+9GS+VA+n85Q96j7n4KOVYwcDWkRCGOH+fXd4ciBjdWpMKPzVn vFeC4HrV0kFgGyw== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add X403, a 3 plane non-subsampled YCbCr format. Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart --- drivers/gpu/drm/drm_fourcc.c | 3 +++ include/uapi/drm/drm_fourcc.h | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c index e5f04f7ec164..60684f99f4a7 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c @@ -356,6 +356,9 @@ const struct drm_format_info *__drm_format_info(u32 format) { .format = DRM_FORMAT_Y10_P32, .depth = 0, .num_planes = 1, .char_per_block = { 4, 0, 0 }, .block_w = { 3, 0, 0 }, .block_h = { 1, 0, 0 }, .hsub = 1, .vsub = 1, .is_yuv = true }, + { .format = DRM_FORMAT_X403, .depth = 0, .num_planes = 3, + .char_per_block = { 4, 4, 4 }, .block_w = { 3, 3, 3 }, .block_h = { 1, 1, 1 }, + .hsub = 1, .vsub = 1, .is_yuv = true }, }; unsigned int i; diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index f6316adbeb97..10d77f6f6e95 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -385,6 +385,14 @@ extern "C" { */ #define DRM_FORMAT_Q401 fourcc_code('Q', '4', '0', '1') +/* 3 plane non-subsampled (444) YCbCr + * 10 bpc, 30 bits per sample image data in a single contiguous buffer. + * index 0: Y plane, [31:0] x:Y2:Y1:Y0 [2:10:10:10] little endian + * index 1: Cb plane, [31:0] x:Cb2:Cb1:Cb0 [2:10:10:10] little endian + * index 2: Cr plane, [31:0] x:Cr2:Cr1:Cr0 [2:10:10:10] little endian + */ +#define DRM_FORMAT_X403 fourcc_code('X', '4', '0', '3') + /* * 3 plane YCbCr * index 0: Y plane, [7:0] Y From patchwork Wed Mar 26 13:22:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030077 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5CE79C36011 for ; Wed, 26 Mar 2025 13:23:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 710BE10E6CC; Wed, 26 Mar 2025 13:23:25 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="em2HhJ7l"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9BBF610E6C6 for ; Wed, 26 Mar 2025 13:23:23 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 2ECE5158E; Wed, 26 Mar 2025 14:21:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995294; bh=Kkv02RY+uC5gb+rCcgZRwQbhycaoT1IOEEkr4c7TgU4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=em2HhJ7ltiD1qLoqWj9D5WtFFqePhk6rRJQT5azLSNCZUzUwEQeBPT5FW/LARMgU/ 5gU0iokovLMP/mgyZeJaowtsM9LiST9PqenQRL/TntThF0DoxzFcWVOoMN8WHjEBoJ BWFCKrxJBIG6kh/59BiYu/cnIWaPKkmWqBQYijc4= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:49 +0200 Subject: [PATCH v4 06/11] drm/fourcc: Add DRM_FORMAT_XVUY2101010 MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-6-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2230; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=Kkv02RY+uC5gb+rCcgZRwQbhycaoT1IOEEkr4c7TgU4=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//BRA0rDWg+mBiQlFGJMSf3f0iKYQpy73R0b 011V8VioymJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wQAKCRD6PaqMvJYe 9a+LEACTMt3XvBoeLh1U4Q8dJ7iBX65ow8WQRKqilosaZqurameqS7r0OsbHuPi3HGgr3P4Tx3S 3ZSYmCPR7mVBKqo5/FBceIr5vQGclra7GN1zftesjn1aaPmCgUR5FUIkEIHBmYEUKZi1kXcQCSx 4Zjrs+P6Tjy3g/R9mevMKj3UGYbKIMLS5nd0A5YHRLf+76elOs0biNxzIm5bYwxbMNU9N+yZrUP 2GonK49jekaJvLg3Gy9DCDplwwh3wYV1kcAbHOQT8Y6wCEsn7euY9ztBbg5OvElV5Jjnz7JtNVI oULlIqEYR/v3fsrtm5wKeCnwvUnzdjSNyFhK3dtK7Cn9Zv+SRrs55P5ldwOSi2L+yLnokCLbINT uVJPs9yuMmJme1OyqGiCYGUuSqTqrLBPlftyMNJTdUIiXLehKbn+/KDhFMAQy7LitC/FwLTsNez uqPdD5KEvQB0ZUgqdQleOoqEdDru5S/OfXvckU0baqd/4Oq4Iau3wqV/CXKHXA7jlcqT9wPOXJI D7yZsnXLZcf5oLkP/Jc2abzOataZUqt0h1mlJ7qCAhDkzl8Msac7S7z+VuelOGlnAlGG4FDVVEc 5HFh8dIHQo+qAyKYyuWUCzy4h+EFlnj9xyYaHlPvxuvJp0KJaCb0E3ey9CDUreSMdvQGuw+D8p3 G2HYNCiBGC0+Ckg== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add XVUY2101010, a 10 bits per component YCbCr format in a 32 bit container. Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart --- drivers/gpu/drm/drm_fourcc.c | 1 + include/uapi/drm/drm_fourcc.h | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c index 60684f99f4a7..81e5fcdcc234 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c @@ -280,6 +280,7 @@ const struct drm_format_info *__drm_format_info(u32 format) { .format = DRM_FORMAT_VYUY, .depth = 0, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1, .is_yuv = true }, { .format = DRM_FORMAT_XYUV8888, .depth = 0, .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .is_yuv = true }, { .format = DRM_FORMAT_VUY888, .depth = 0, .num_planes = 1, .cpp = { 3, 0, 0 }, .hsub = 1, .vsub = 1, .is_yuv = true }, + { .format = DRM_FORMAT_XVUY2101010, .depth = 0, .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .is_yuv = true }, { .format = DRM_FORMAT_AYUV, .depth = 0, .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .has_alpha = true, .is_yuv = true }, { .format = DRM_FORMAT_Y210, .depth = 0, .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 2, .vsub = 1, .is_yuv = true }, { .format = DRM_FORMAT_Y212, .depth = 0, .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 2, .vsub = 1, .is_yuv = true }, diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 10d77f6f6e95..552438128f51 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -246,6 +246,7 @@ extern "C" { #define DRM_FORMAT_XVUY8888 fourcc_code('X', 'V', 'U', 'Y') /* [31:0] X:Cr:Cb:Y 8:8:8:8 little endian */ #define DRM_FORMAT_VUY888 fourcc_code('V', 'U', '2', '4') /* [23:0] Cr:Cb:Y 8:8:8 little endian */ #define DRM_FORMAT_VUY101010 fourcc_code('V', 'U', '3', '0') /* Y followed by U then V, 10:10:10. Non-linear modifier only */ +#define DRM_FORMAT_XVUY2101010 fourcc_code('X', 'Y', '3', '0') /* [31:0] x:Cr:Cb:Y 2:10:10:10 little endian */ /* * packed Y2xx indicate for each component, xx valid data occupy msb From patchwork Wed Mar 26 13:22:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030080 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EFA29C3600B for ; Wed, 26 Mar 2025 13:23:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 55CF710E6CA; Wed, 26 Mar 2025 13:23:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="WLTTIzNA"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8065F10E6D0 for ; Wed, 26 Mar 2025 13:23:24 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 14C4D3A4; Wed, 26 Mar 2025 14:21:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995295; bh=jcF9TO4w0dmiNuHteMC+0VDVhFz7gX4DbHPqYH+9J6g=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=WLTTIzNAdhu7DvJDB50Hue+//7gx//fikESz3rs93klbq4pgA7qcVUhpTkdHIH6IY gZE3ExDVChGdN1Bb6apRqxnD/8vo22uqnH6Sx3TPgzaqeTbXqoCBgDVzJPmM5WmLBj LMpwMZ8GeVFKOQY4txrrnJiV+ucB2sQ4qwfOwmC4= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:50 +0200 Subject: [PATCH v4 07/11] drm: xlnx: zynqmp: Use drm helpers when calculating buffer sizes MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-7-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1623; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=jcF9TO4w0dmiNuHteMC+0VDVhFz7gX4DbHPqYH+9J6g=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//CxwjQCxfCSYBd/57M8nhf1B6TSoA1vIgAw KG3PG88lXqJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wgAKCRD6PaqMvJYe 9cVeD/0d/pGBJTsHz/I3Ndq6vUJ4NHw057fP6nYmZPy1bX2FjRSjMzjBlUmqNcyQV1GkzfDm26L QI+HUNM/djIm7TQ2lgKi64TEw78vTLXCM6FKAWy0o4LBdgiJHoQlrb5MvzAnkCKaYhwiLBBTnMJ wk5ZtduxQ8JHWs0boUb9aZGKgtbW6UH9g0dxpU2SloU4uDHEwGiMlkHlDJuzQcs1uJse2NJWhFU ia+iJ2ogOhVL8h5tvdMa0aT3EQ1FBUtY8rU1KqvtwZgl9fuJQWGc2Un17+Wc4VUlkuqEY/v1HCi EI6Si+Th/pZ3uouFOL6MwIM5CBiacAghwqU//hjugrZ0Dj47p1zsgPfiAWADTdJAwpXZiKf6H/E LHKtBXXSvGFwVOFTkfscjaoUyI2fimViuxy9NmPE2LYjHfhiIwybxu8EG1NDGe5H4fkCTMhlyi+ Zwwe8oNcizdS2bKZnLtXRbasyYnd37ew+Ey/jVndJbHwK+gR91LqYWrYJp6aPFW9hX85APL5lCk 6z1e7aud/ISe1VXpSP/c5Cg6hcRnHtgyXAEp+qRqKhx5dEU/MOnLyukq8rVdueEnaPN326g4d6o 2xLw9/8iXg/ciW7VAMVEVK9/uA8KX5CXTO6c7zYKgwTr9y3k/HHbC+n8kZ+F2CHBGf2znq+lF1D bhTfL90pN0YOiIQ== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Use drm helpers, drm_format_info_plane_width(), drm_format_info_plane_height() and drm_format_info_min_pitch() to calculate sizes for the DMA. This cleans up the code, but also makes it possible to support more complex formats (like XV15, XV20). Reviewed-by: Laurent Pinchart Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c index 80d1e499a18d..b9883ea2d03e 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c @@ -1116,16 +1116,19 @@ int zynqmp_disp_layer_update(struct zynqmp_disp_layer *layer, return 0; for (i = 0; i < info->num_planes; i++) { - unsigned int width = state->crtc_w / (i ? info->hsub : 1); - unsigned int height = state->crtc_h / (i ? info->vsub : 1); struct zynqmp_disp_layer_dma *dma = &layer->dmas[i]; struct dma_async_tx_descriptor *desc; dma_addr_t dma_addr; + unsigned int width; + unsigned int height; + + width = drm_format_info_plane_width(info, state->crtc_w, i); + height = drm_format_info_plane_height(info, state->crtc_h, i); dma_addr = drm_fb_dma_get_gem_addr(state->fb, state, i); dma->xt.numf = height; - dma->sgl.size = width * info->cpp[i]; + dma->sgl.size = drm_format_info_min_pitch(info, i, width); dma->sgl.icg = state->fb->pitches[i] - dma->sgl.size; dma->xt.src_start = dma_addr; dma->xt.frame_size = 1; From patchwork Wed Mar 26 13:22:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030078 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 48C64C36008 for ; Wed, 26 Mar 2025 13:23:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id ADAC110E12A; Wed, 26 Mar 2025 13:23:31 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="aNzM1Vtg"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7094810E6CB for ; Wed, 26 Mar 2025 13:23:25 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id EF1871934; Wed, 26 Mar 2025 14:21:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995296; bh=n4H1G7bDwVSyN9af32Phxvop+mYwINBt64VvrVEfgwI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=aNzM1Vtg24SjQ2sJTEyhHj0fPi9/oUHgRzhotAuQ2FagHu6244HzQzebUuZq5N7NI NmqPngMcW2GtVzQClTBLA31x1Yy58zq1Vmi8BM1THzWTHDWrH939P+KKfKGUdOQHae lvu9BKIavW/dEc6P6Hf5+OhFqY7vtfhHzgBEX7UI= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:51 +0200 Subject: [PATCH v4 08/11] drm: xlnx: zynqmp: Add support for XV15 & XV20 MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-8-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=936; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=n4H1G7bDwVSyN9af32Phxvop+mYwINBt64VvrVEfgwI=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//C9nW48zLc5yoHs96DcP2KozatkETh+iI3k sHsf2q7YkWJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wgAKCRD6PaqMvJYe 9QzSEACFG1eIBhJcW2WERjhx9t+sclrPU9jrPsfmW6Hy3GMW1qy2+p/m6DWqfyix6UPo/bSOhw8 dIeqvx5BY7SbB9DSbkkQin9yDIbWi9XTwWpRDOkyZtM7Ufw78bchBZlTXu/F2tfQqpA/IgmDpTz 1fBrPJUxBfDk3xI0LrH/3wlrKYmusg1arVlQt6LjQ7+TR0F+mvKSmMK1uDbq+K54RzexzdBQ+R/ 6dQI0LxArQ6HK4dLRJamSLHXTcbv/ahLCWHH8lAPjw6MVunRe7WOMLFEx0298F+b0Yddb1BrX1l 4cx254ObM35yYoV3wvSq0RSZWPx1WHD1PKV9ObBF/nTy9DtleV0yr765ce8DXIXej+jOQxp+TOX IayCsjWO9S11EsA+Jh/4qUd4fR5kaUaP2oolZgmt28qbdI+iFP91XAxMAhDftDsXWwgnMALTyIW IZtr2WKiAKiNEwPiZgC5rkHpoYZeLfzkJbjzYciWJH6zrP4IgE0sgTeGAlfvQ9z0UfuUlHoVGRC 9fkpu7oSFcwgNSE8FjmG9qsRTlyAP6Epi8WD/NBXtfYWNPYZjzPAFLcHAR58dh005VzGFee/dPW 7fjdcIhOeipupxtoSYPPsVnsmJ8F2mWRqNKWVX5DMunOhNWe1vjePWEspTrr8vebH02qnpXudto TRzs8OZGqR/DGjw== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add support for XV15 & XV20 formats. Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c index b9883ea2d03e..1dc77f2e4262 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c @@ -297,6 +297,16 @@ static const struct zynqmp_disp_format avbuf_vid_fmts[] = { .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_YV16CI_420, .swap = true, .sf = scaling_factors_888, + }, { + .drm_fmt = DRM_FORMAT_XV15, + .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_YV16CI_420_10, + .swap = false, + .sf = scaling_factors_101010, + }, { + .drm_fmt = DRM_FORMAT_XV20, + .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_YV16CI_10, + .swap = false, + .sf = scaling_factors_101010, }, }; From patchwork Wed Mar 26 13:22:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030079 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C7A3DC3600C for ; Wed, 26 Mar 2025 13:23:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3EEFA10E6BF; Wed, 26 Mar 2025 13:23:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Nl15Xetz"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4CBBD10E6D2 for ; Wed, 26 Mar 2025 13:23:26 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id D37401955; Wed, 26 Mar 2025 14:21:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995297; bh=PFxBeKEc/4sg8CWi+sylqvNLnUJoQ0zkdqZzj2YAfIU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Nl15Xetz7GxmJI+bohIu0UUtr6O3IoWSG91nlGHoyAw6xKr392CsaZbPl/DC4z7wJ 7NgDeP7hxn221WyB9d+x10eRQE/aCfgJiT9aiy435rABKYJZsJVWWWCxV3gYmU0mH5 +5Ep/i+vHNK1jW7nAOifngY6sTwNStljh/d6jnOo= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:52 +0200 Subject: [PATCH v4 09/11] drm: xlnx: zynqmp: Add support for Y8 and Y10_P32 MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-9-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1963; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=PFxBeKEc/4sg8CWi+sylqvNLnUJoQ0zkdqZzj2YAfIU=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//DfmM4XpWvRWHABTxHtXEpM64vCUNTjpOi2 4+zk9HJkyuJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wwAKCRD6PaqMvJYe 9dRnEACl9IJT48S7m8oF/ytsE3AEHkSOSUimNseOUncLFVgqeOllQMMWSoYf4E+Q/U3a/bTlEWb IeRhXE1WQkUEmE2nw2e9n4O5VZwoPCMgiVpwL342pluX2JOLO2B4KLWF1KulAqwuBp2Pllog15X b7932U9CY4/dtoFb/hVy9KG0Z110qcKBqVh4MKfgD8v6OuGdrnbFiOLXVBVza7Fon/fejSH9Iza AxsqzRhV89Z1hkX+vaf/EeyGg0WjDeOEgtBcoFWuyYciijbxx6oPSNsuVqRitGChd6Fn8DG3xuK UMmuud35aqN+/kvXJYXqu77BDGfne5Xa6w0v7NS/UTsP2BFmFeHqVRATFgGTsREvGOn3w/Pehv5 HAcHBeSlceKjwvP/RKAtjXVCGWTgnVyq+H0ne0Vkvjv4h6v1Fnl2lx7supkApD+DQfbBTlJgs3V X2+V1Ini0YQnPYKOR3OF7h+vgsTiyn34l7MubrBc/Hb7t/YUo3DZqlT/5rCaUJs4ulLpMfAoopJ smJJjaXogoyrPndu2louYpkaK0uAqvmOPlBOJJ982PPDXeRTFJl9zYBvSkKc2Yd5TSlK6tOBLcs fLQN2i21ApvB0xXT+6Es9pJFCW8mKfLvuJjW5+G8YJeG2OjuRPm2xzl8D7K66STezmaYISrrym2 k2DZvQCie1V841Q== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add support for Y8 and Y10_P32 formats. We also need to add new csc matrices for the y-only formats. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c index 1dc77f2e4262..ae8b4073edf6 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c @@ -307,6 +307,16 @@ static const struct zynqmp_disp_format avbuf_vid_fmts[] = { .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_YV16CI_10, .swap = false, .sf = scaling_factors_101010, + }, { + .drm_fmt = DRM_FORMAT_Y8, + .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_MONO, + .swap = false, + .sf = scaling_factors_888, + }, { + .drm_fmt = DRM_FORMAT_Y10_P32, + .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_YONLY_10, + .swap = false, + .sf = scaling_factors_101010, }, }; @@ -697,6 +707,16 @@ static const u32 csc_sdtv_to_rgb_offsets[] = { 0x0, 0x1800, 0x1800 }; +static const u16 csc_sdtv_to_rgb_yonly_matrix[] = { + 0x0, 0x0, 0x1000, + 0x0, 0x0, 0x1000, + 0x0, 0x0, 0x1000, +}; + +static const u32 csc_sdtv_to_rgb_yonly_offsets[] = { + 0x1800, 0x1800, 0x0 +}; + /** * zynqmp_disp_blend_set_output_format - Set the output format of the blender * @disp: Display controller @@ -846,7 +866,11 @@ static void zynqmp_disp_blend_layer_enable(struct zynqmp_disp *disp, ZYNQMP_DISP_V_BLEND_LAYER_CONTROL(layer->id), val); - if (layer->drm_fmt->is_yuv) { + if (layer->drm_fmt->format == DRM_FORMAT_Y8 || + layer->drm_fmt->format == DRM_FORMAT_Y10_P32) { + coeffs = csc_sdtv_to_rgb_yonly_matrix; + offsets = csc_sdtv_to_rgb_yonly_offsets; + } else if (layer->drm_fmt->is_yuv) { coeffs = csc_sdtv_to_rgb_matrix; offsets = csc_sdtv_to_rgb_offsets; } else { From patchwork Wed Mar 26 13:22:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030081 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C19CEC36008 for ; Wed, 26 Mar 2025 13:23:34 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BBEBA10E6CB; Wed, 26 Mar 2025 13:23:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="loFlaOpS"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2D2BF10E6BF for ; Wed, 26 Mar 2025 13:23:27 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B7D1FA57; Wed, 26 Mar 2025 14:21:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995298; bh=oFm4U0hkZjYLWnEJeFMKYjlk7egwcLGFKCoUSOTzMSo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=loFlaOpSHXOIfkLHMiTp3pdPZtMRlGyEB9+OTGbJq36Yo6Q27gTsb4K7q6zZ3M3yQ eiHVOojyCF47fxt/HJwoS+qzJFieWgnH84D6sqlS4M0+5ecoGIKH4wuacBfOM8vdGQ H4L21cO3qSiCWNYcMvhUEnV+s4/LauCyqRhQjzvk= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:53 +0200 Subject: [PATCH v4 10/11] drm: xlnx: zynqmp: Add support for X403 MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-10-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=766; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=oFm4U0hkZjYLWnEJeFMKYjlk7egwcLGFKCoUSOTzMSo=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//Dis0L4uQRt67L4P2Qc6MhWqd7lhV/jzhvR sHl9RUreaGJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wwAKCRD6PaqMvJYe 9WPOD/42/uhBYTjLB+c6OwGMl9PEeXPllE5b/M6xr6cut6fEWSE3OOMpJxPdZU0gVaXy1JND/Tg AfWAAXNMX9oed7VtBx5tmWlzRZBZAJ0fpo0Dkr7vNYq3DqcBtvoXSEzpChs0H9Ak8uezBSQXJzP yMo58+ab4qdyak5zjbxFKuy9f/ltofwWSTpAQfi4F0coGleM3oyIEIibcjV94G63J3TajGOqsuY hBA0sopkfh70UIgxE5Zi9JkLz1wz9ply8pziDfVc0VDdHH8/VNaQEW5S3Zr0zzQ8UJF0Kas0n1H 3Q3pCZIAqSOUNX1E4phi8G+A0QiRkHx8ZNldxtq3JOI85Vloyf9WdXvG+uZRI0xDMzqdAS6lqgn 2OS6D/zay9zmNTc5/nG8tMwrolUQIFxicGDM08j/15Mr9ig0s3Adzm3vF5xHfmOoaQiFw8yHKHT moxsWwZUuVxXD/3yAMmAurU79czTpt9jc8PpJN0dE9ZVUnpWk60MB9tluBACrDoGa1e7IARVIP9 gvZSBuwTMA6P3nMayh5H+zYE0M/vfH5GCcisvc36lwIoKDFd7gMj/e19goNXoI2YfK58r4oCZkR NioIgz5ZvSQKqKoz7lyZQVT96XFeN+2OhO0l/8D+w2GlRDo4RtTjirCiyLZQ2DNslN+xaXM0gEu ZiYS1ObRywAVzwg== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add support for X403 format. Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c index ae8b4073edf6..ce685dfbf31f 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c @@ -317,6 +317,11 @@ static const struct zynqmp_disp_format avbuf_vid_fmts[] = { .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_YONLY_10, .swap = false, .sf = scaling_factors_101010, + }, { + .drm_fmt = DRM_FORMAT_X403, + .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_YV24_10, + .swap = false, + .sf = scaling_factors_101010, }, }; From patchwork Wed Mar 26 13:22:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomi Valkeinen X-Patchwork-Id: 14030082 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CA2C2C36011 for ; Wed, 26 Mar 2025 13:23:35 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 033F610E6D0; Wed, 26 Mar 2025 13:23:34 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="EfwIHjRQ"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1516F10E6BF for ; Wed, 26 Mar 2025 13:23:28 +0000 (UTC) Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 9AE2E1963; Wed, 26 Mar 2025 14:21:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1742995299; bh=slBT5ASGlHlLYRfFHdYzBrpOFjHVj6vIx9ezqvhm0zk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=EfwIHjRQVLubJCVoeMMp3KoFoKUUhiKhawQtKOditfHbhDXfv0f7z+Y8C4fzubz3s 5R+7hWkPYIh5iDBk4aZbqPBZjlZg9ffj6hmiPzEhfg4vMX7lcn9Txh59KBmO0moakN a3XsJQlLP1fpQ3lZ3bj39MLg3m0hRL6vW8Gz81RU= From: Tomi Valkeinen Date: Wed, 26 Mar 2025 15:22:54 +0200 Subject: [PATCH v4 11/11] drm: xlnx: zynqmp: Add support for XVUY2101010 MIME-Version: 1.0 Message-Id: <20250326-xilinx-formats-v4-11-322a300c6d72@ideasonboard.com> References: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> In-Reply-To: <20250326-xilinx-formats-v4-0-322a300c6d72@ideasonboard.com> To: Vishal Sagar , Anatoliy Klymenko , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Laurent Pinchart , Michal Simek Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven , Dmitry Baryshkov , Tomi Valkeinen X-Mailer: b4 0.15-dev-c25d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=781; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=slBT5ASGlHlLYRfFHdYzBrpOFjHVj6vIx9ezqvhm0zk=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBn4//DsRCMB1WLCta1estzXkjXoSWER8pSvhQMe KB37gD3tzOJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCZ+P/wwAKCRD6PaqMvJYe 9YjgD/4176gMq72C0vNw+apzQNHJlqYV3VbqPh3TMJ/E+F3SJ8igO26yenPGmMC6YL1NwmI8sD1 VCRJ7Bzr/G0MG+FbqmU0eUeUGlJCwoixtjCTtiRW+fyoNYRJs+cVKJLrK4WAiylri44RPu138eD jh4ZFaS8Is9jAU3Qj1n5TwZsAhVof+4jWjqpX72+98iTUTklWo+Xwnz9b74qdwQ3rApzKAhX4aM hk3T/wJ4sDRFMrVimMG6TBrMvKQ0BRIQ+/cql6IxNwx9liLQbAtTL05IDTnydTNFqTad6YKKBhf RVRtykBfQzVP6z0gF/klnlVyGASfx1mIG8DoCfNINcCSC9k0PTGg7C6KI04V6y2W8/FxW4lOQWm LC9yedg2gVmS3AJPvkWtzdBog5DHf0GUZOW+A93385F/T9C7PvrjJRIcdw2dJe8WSL+eufWCul8 kQYYvNeerHKWd+eUja/xUTQlbQ5AH4gs80zzdbfQ7xOIG3i0k68taatYwl1/MWrnyloAvSzs/yO lYCha1+wkeM7CnR6bM3dFzwkA2XE1n73A0/s1/dmZOfo1gb4HY2tDv0kStCfk0XrWM+ZvT3vAsx nsyBMKs5r1FoP5nPUPqpBcl8uqABtsYKzFu9wSDluGctgS9gSB56vV72Fgyw/MtJq9CknEbXLMI nQ0kBNBUuV7BMSw== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add support for XVUY2101010 format. Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c index ce685dfbf31f..79f58e06f38f 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c @@ -322,6 +322,11 @@ static const struct zynqmp_disp_format avbuf_vid_fmts[] = { .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_YV24_10, .swap = false, .sf = scaling_factors_101010, + }, { + .drm_fmt = DRM_FORMAT_XVUY2101010, + .buf_fmt = ZYNQMP_DISP_AV_BUF_FMT_NL_VID_YUV444_10, + .swap = false, + .sf = scaling_factors_101010, }, };