From nobody Tue Feb 10 03:39:50 2026 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (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 232BB34A789 for ; Tue, 23 Dec 2025 18:03:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766513032; cv=pass; b=Gws14MFKq7M2YIPVFPWracENdGzpDwUDxnZrx387MfK8omuk+18ydLB2juZ+RfadmIoDz30wUJ3WXSHho8AVXjFMzidZyXOV0weMQv1Bne2PIy36kwEtH/EEysajxF67WjjvYzfoLS3hG8ehyJ2sT1C1e/gyAAv3bsC2hQOJ+P0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766513032; c=relaxed/simple; bh=NyijHk7BrD1qg1wbKRwHg1Uug2fibA4RZ0UIzlvViFQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ofgs9wrUK5bw8vLQItAXHavlXvAQeIt3OdfnFuP0vQs67daLYA1nde1D33dWBzOzVZy9iyNei57kAabTFD4vQL6M2JLrB7wQBYGa+xHzpoY6dJZy3MlFH9VQuhrgZsZqYB0gyVviQhZa1CKsS+zHglYAn2SBgDnPZcig1XR7Aew= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=ariel.dalessandro@collabora.com header.b=d0wg5v6s; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=ariel.dalessandro@collabora.com header.b="d0wg5v6s" ARC-Seal: i=1; a=rsa-sha256; t=1766513005; cv=none; d=zohomail.com; s=zohoarc; b=IvVUXMN7E7PwE8FFl44aHhC+iPo/KE9j7lHhsfJKB29H9JrC7hKCitokgfyi/rKyqGKUqRWDbV2zpOXxHQBp+dlOgNHtTE4x1EbnBzpSut5IgapGrIXKeXHHy7lB9ANaBrWnOio0gKNKQrxqr0Hj8RDCdRMcn0WTCNsL9gjE8t0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1766513005; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=w4peOIzDwpgvjVlPcGVKkM6+2/+zrSURLwHOgZrhBZk=; b=ewaw09pKBXiZ3Xo7dVq8hywO8dky/0+3vviML17OiBlbC853bNnNPFidMjBifwQpB1DcURkIyI/XDutLJrDIVKDVnctwwmOv5YJfc3sfvwxYKH9221Ub6lA23VR3x6PTmTVBXMPP9ionf/Y3rNIHRPqVzx7/sdMb6o41aJlk4ic= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=ariel.dalessandro@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1766513005; s=zohomail; d=collabora.com; i=ariel.dalessandro@collabora.com; h=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:References:In-Reply-To:To:To:Cc:Cc:Reply-To; bh=w4peOIzDwpgvjVlPcGVKkM6+2/+zrSURLwHOgZrhBZk=; b=d0wg5v6syAjWeKtGb5s3jka1JIetN0GnG/GSrUXGssSZOSwg+LIUKyZtjYDdPjT5 ebLffggn3dVvqM9eoZBxhbGQMFVBz/JtkjZE+UEKuNhmgwXnvczp1y40tPMjiA2mmsr 25+rTEvLZRPOXphU2nm6xa1RspPYOK660LR6NG0U= Received: by mx.zohomail.com with SMTPS id 1766513003533359.41806615027394; Tue, 23 Dec 2025 10:03:23 -0800 (PST) From: Ariel D'Alessandro Date: Tue, 23 Dec 2025 15:01:35 -0300 Subject: [PATCH v3 15/21] drm: Add helper to extract a LUT entry from either 16-bit or 32-bit LUT 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: <20251223-mtk-post-blend-color-pipeline-v3-15-7d969f9a37a0@collabora.com> References: <20251223-mtk-post-blend-color-pipeline-v3-0-7d969f9a37a0@collabora.com> In-Reply-To: <20251223-mtk-post-blend-color-pipeline-v3-0-7d969f9a37a0@collabora.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Chun-Kuang Hu , Philipp Zabel , Matthias Brugger , AngeloGioacchino Del Regno , Louis Chauvet , Haneen Mohammed , Melissa Wen Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, kernel@collabora.com, =?utf-8?q?N=C3=ADcolas_F=2E_R=2E_A=2E_Prado?= , Ariel D'Alessandro X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766512902; l=1871; i=ariel.dalessandro@collabora.com; s=20251223; h=from:subject:message-id; bh=NyijHk7BrD1qg1wbKRwHg1Uug2fibA4RZ0UIzlvViFQ=; b=npmXvD1l++IAnjReNfPZLOzC8duyNX1bPNFwPZHbBm1mqMJHgUvPX4TpvD/F1HRdwxLe+S1TI fmAilhWHF0NC+GFLY7IvFtojfHxcSKgBcSnm3WpPBcpBR2gIF66XpyZ X-Developer-Key: i=ariel.dalessandro@collabora.com; a=ed25519; pk=QZRL9EsSBV3/FhDHi9L/7ZTz2dwa7iyqgl+y1UYaQXQ= X-ZohoMailClient: External Add a common helper to ease extracting a 32-bit LUT entry from either 16-bit or 32-bit LUT entry. This is handy for code that needs to handle both bit widths. Signed-off-by: Ariel D'Alessandro Co-developed-by: N=C3=ADcolas F. R. A. Prado Signed-off-by: N=C3=ADcolas F. R. A. Prado --- include/drm/drm_color_mgmt.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/include/drm/drm_color_mgmt.h b/include/drm/drm_color_mgmt.h index 51279267ed3fd..3d0117aae342d 100644 --- a/include/drm/drm_color_mgmt.h +++ b/include/drm/drm_color_mgmt.h @@ -66,6 +66,33 @@ static inline u32 drm_color_lut32_extract(u32 user_input= , int bit_precision) (1ULL << 32) - 1); } =20 +/** + * drm_color_lut_to_lut32 - Copy LUT entry contents to 32-bit channel colo= r LUT + * + * @dest: The destination 32-bit per channel color LUT entry + * @src: The source array of LUT entries (16-bit or 32-bit depending on @b= its32) + * @index: LUT entry array index + * @bits32: Boolean indicating the source LUT entry bit-witdh + * + * Copy the contents of a LUT entry from the source array, to a 32-bit cha= nnel + * color LUT. The source array of LUT entries can be 16-bit or 32-bit width + * depending on the @bits32 boolean argument. + */ +static inline void drm_color_lut_to_lut32(struct drm_color_lut32 *dest, + void *src, int index, bool bits32) +{ + if (bits32) { + *dest =3D ((struct drm_color_lut32 *)src)[index]; + } else { + struct drm_color_lut *lut =3D + &((struct drm_color_lut *)src)[index]; + dest->red =3D lut->red; + dest->green =3D lut->green; + dest->blue =3D lut->blue; + dest->reserved =3D lut->reserved; + } +} + /** * drm_color_ctm_to_ctm_3x4 - Copy CTM matrix contents to 3x4 dimensions m= atrix * --=20 2.51.0