From patchwork Sat Mar 1 14:23:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997503 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 98D55C021B8 for ; Sat, 1 Mar 2025 14:25:27 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 199B310E17A; Sat, 1 Mar 2025 14:25:27 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hCyfHsfA"; dkim-atps=neutral Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by gabe.freedesktop.org (Postfix) with ESMTPS id 69A4910E17A for ; Sat, 1 Mar 2025 14:25:26 +0000 (UTC) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-223480ea43aso77685045ad.1 for ; Sat, 01 Mar 2025 06:25:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839126; x=1741443926; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JXn6GKhF5PCrQUxpPI6cKx6cLS6wqLkAI6AcaLhK77k=; b=hCyfHsfA73doXTvPqPrvN/pxsUqnh03EeWz0xh+YFqTowNdzFcMqEpGxWQyWtxcOjx 6qp0tBKG/lT5nzlnYtCsFfHKT8snIeXcLDme4fxvQI1YIY2VB9u3pPErE2aF1fKnDNRI riwokhyt1YFpxTpoiS7qQR4cUI1Raq2iC1S8ZwSISDq6xpkx3/pVi8ogjeWUesJVvD1y gk9Ym3e8GC361BxhTAQEn3vs4Q2xJmc7fv1eTOk0oSxCyXt0TafEq/n54dvUATeFzHMi stmed4i5f4j978KzPUVsxZDMiolyoZRlQH+kwCh+dLLBfJ1xCkmE+pIAPRATtrK7itr+ 37jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839126; x=1741443926; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JXn6GKhF5PCrQUxpPI6cKx6cLS6wqLkAI6AcaLhK77k=; b=sK2k/jVnSzBUwPDeECcRcZ+3En1ip79jIdqRKDOSljOxkzuP0c747IpwVnUJfof3mv gvjg9z0NXoWXNaOlq4ejOx/GBnfgTYr5isj021S81V2fXCUgYovFBLw6hrk1KepZ3DKj +EPigjDi6vc86h5YfDcCBzmrJ98cZZOSft1KU0utZFkStY4p5BB//ds6UpbC4V26XG4S X5K7Il6VbYv7+LOImDo9I4e5uW242xz/cQ9rFaZmsY5OG3MtQpqJssjb2Wmab7dlQyEY T9N/5CnRyQFnv4fAKyZkGAdzZGIhDCqjIeKGBn4foXfTgkws40mwN3Lz8e4KSzOAFtuB xSUA== X-Forwarded-Encrypted: i=1; AJvYcCUOkw2VYsPww6AkXIHjhJ8LdBeMzXLmn2hpaz6y3c4q2I8MXm9rUg2NGXGVMKNcHtPIKjSSZByVAyk=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yy3sEbS5zEXs0ttFiApToDFJu0Yjbd1SVcx8VOfDPSaHtODVXOW wATpHjsaBL2WmBzUND7X/WZuBao3eEKoMPRTjLa1+7RpYXkL+Y3U X-Gm-Gg: ASbGnctUCkztzzIh1wEiMdBZlzUdwaIf40q6Q5IuGXVHZC13/X3CVVSvE/26+OLpinE nATKpTVbEnMbk9hmHXPmGP5PFxiHCt/uAgi0vgR5hnpcVnH1KI4UHaPpZReShQtfVUpAFeK1FRK FlA+L84iAFEwHJmzklRHd2iMRWU2lSHkxMZRCt+R9BV3YEF0/1AipbjVNgax3CewGg6wRTxkXR7 9YbJdGKIYy5NQ0NVa23yqkX+3PbUtPOOGrsyq7fdLuiOxrGpGrU+KeqT6MOeqawMysOHF2UFDGS XprjmKLoDyIIZE9xKhND0j1c72x3Q9pa63Qz3ZsFcH0x+eHfE66jzrg3kaM3Oqin7AZckEdCL0s = X-Google-Smtp-Source: AGHT+IF5pURPLoHQQUwY6iobOMXaj/n4QtZUV4ZbycQ+e8lZRNMONMXX28RkgoVRrFQeanZPW34ebQ== X-Received: by 2002:a17:903:2346:b0:223:635d:3e38 with SMTP id d9443c01a7336-22368fa24bemr111392555ad.15.1740839125810; Sat, 01 Mar 2025 06:25:25 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.25.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:25:25 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 01/18] lib/parity: Add __builtin_parity() fallback implementations Date: Sat, 1 Mar 2025 22:23:52 +0800 Message-Id: <20250301142409.2513835-2-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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 generic C implementations of __paritysi2(), __paritydi2(), and __parityti2() as fallback functions in lib/parity.c. These functions compute the parity of a given integer using a bitwise approach and are marked with __weak, allowing architecture-specific implementations to override them. This patch serves as preparation for using __builtin_parity() by ensuring a fallback mechanism is available when the compiler does not inline the __builtin_parity(). Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- lib/Makefile | 2 +- lib/parity.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 lib/parity.c diff --git a/lib/Makefile b/lib/Makefile index 7bab71e59019..45affad85ee4 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -51,7 +51,7 @@ obj-y += bcd.o sort.o parser.o debug_locks.o random32.o \ bsearch.o find_bit.o llist.o lwq.o memweight.o kfifo.o \ percpu-refcount.o rhashtable.o base64.o \ once.o refcount.o rcuref.o usercopy.o errseq.o bucket_locks.o \ - generic-radix-tree.o bitmap-str.o + generic-radix-tree.o bitmap-str.o parity.o obj-y += string_helpers.o obj-y += hexdump.o obj-$(CONFIG_TEST_HEXDUMP) += test_hexdump.o diff --git a/lib/parity.c b/lib/parity.c new file mode 100644 index 000000000000..a83ff8d96778 --- /dev/null +++ b/lib/parity.c @@ -0,0 +1,48 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * lib/parity.c + * + * Copyright (C) 2025 Kuan-Wei Chiu + * Copyright (C) 2025 Yu-Chun Lin + * + * __parity[sdt]i2 can be overridden by linking arch-specific versions. + */ + +#include +#include + +/* + * One explanation of this algorithm: + * https://funloop.org/codex/problem/parity/README.html + */ +int __weak __paritysi2(u32 val); +int __weak __paritysi2(u32 val) +{ + val ^= val >> 16; + val ^= val >> 8; + val ^= val >> 4; + return (0x6996 >> (val & 0xf)) & 1; +} +EXPORT_SYMBOL(__paritysi2); + +int __weak __paritydi2(u64 val); +int __weak __paritydi2(u64 val) +{ + val ^= val >> 32; + val ^= val >> 16; + val ^= val >> 8; + val ^= val >> 4; + return (0x6996 >> (val & 0xf)) & 1; +} +EXPORT_SYMBOL(__paritydi2); + +int __weak __parityti2(u64 val); +int __weak __parityti2(u64 val) +{ + val ^= val >> 32; + val ^= val >> 16; + val ^= val >> 8; + val ^= val >> 4; + return (0x6996 >> (val & 0xf)) & 1; +} +EXPORT_SYMBOL(__parityti2); From patchwork Sat Mar 1 14:23:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997504 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 C0401C021B8 for ; Sat, 1 Mar 2025 14:25:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4280310E1ED; Sat, 1 Mar 2025 14:25:38 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="KbZaVWBi"; dkim-atps=neutral Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C30F10E1ED for ; Sat, 1 Mar 2025 14:25:37 +0000 (UTC) Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2233622fdffso60629245ad.2 for ; Sat, 01 Mar 2025 06:25:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839136; x=1741443936; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0DnAEglK79Mk3omljF0fSTgcHsRTccmWpKjUoP5FAFM=; b=KbZaVWBi03VWwVg0iPhKzi292tNMKabqZKBc5mL7+1gMFU8l3tI+isLFL2REkorgg8 loo7s68HmBDu6QPvMPiT58SKkJ1bEoOe3+uCsX9nj96W/1hfcgrYzmzWPC1Esn4+Rx15 y8zIWnKBA6iv43xK4ZdJqCjy1XGNASAYmE8R6rAkvr0H7VAJxqJtp2Kccj7KI1eiT5jq dVSwAZbOwslZ3jtmoixCs3aOUZCXOiYJ6BPQ5pbNQtJ0qgXv0LerXhqbk9KcMIgZGzuV WHjmhp/1eX0lT5Bxaug8h4igFoX8A25u5+PrzFn4Fs+rvLyxN+kmsKue1MLyB1sSzAgB rwCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839136; x=1741443936; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0DnAEglK79Mk3omljF0fSTgcHsRTccmWpKjUoP5FAFM=; b=WYKwmom3rODgX5dgOUDID4qY1cyWYprPUZfSuy0ikA7jVaZzoUqJlZ7lVh+d1hm8MA mxuQZmKiDLiBxKCKbj4U9HsBDQtT+MGAUWuru+lzPSraGDR7P00JnxVJu/e33MXaem9j HdAcq2Wx9SlLtGxP8FQwufnmsbVt9U3A57l+WAh9w+B3TiRbFiRYR+8Wy+pWjn6nXvHc zisKGWpNQAQTuhFVL/nmdpvPiMNPSQRNDNXvsDMDFiAQsmwhe3Tb/h6+fHWX9+7HVLqI FM4L7VqdYCCVZOY43VP6PCkEjx5DcS6xbVM6N5ZaEIdsdeM+oRmI99qPU1cT0PAJ39MM UMaA== X-Forwarded-Encrypted: i=1; AJvYcCVr9O3T0cUZbiy9ATc4hocyLtNfHZ8WJmPBXMJdszxZW/StrBXRD/3pWof1bgnpAcIO5x5xqmA3lSg=@lists.freedesktop.org X-Gm-Message-State: AOJu0YwJfscmnqlecFgXVK0S0qsQW6w0rDTTv9LCJC6CgCDOqf9tQVE3 yee/q8+MeeV4fzlW9Me1l5RmL/tWYu7wDLvg3AZvETph7qviFEG/ X-Gm-Gg: ASbGncuMOIAHs4PPgu8QOuTi+zHrvflrOOo77nrkoPh0l+hzJYfH4EbVjEHNTbwaDVn LNWHyR/JfAdfX8i3beuMmNdb+1/KQFVeiDaZCKHNSLYyyg4fSGz6GgagK0BlTiTUUDqkIuaT1ff zUWtKKBsccUepvrrVO6znu4kvVHpn8Yw62BdMnd5BURP5eDFLSjLUn/ARuS6ZoK38Q1m2/GH8Ff PMrAIrThKCH3nFsQek1G5/IB5ymXMAk+nhmFHaRCBGqf5/kygU7vqIqZHb6Yj85RTjDomHxz/Nw QFcCEn1BD7LyNM4votJYnf+mydH4Onyrk86b2O/6XZU9G7O05iz0P1qet4HI6E8LNgTt3v5pOoU = X-Google-Smtp-Source: AGHT+IFRKRz4BN5AxlaA28KHfZNYjOTMLj0QAU9lL8VlPLbOS4h8EVG2ykvV/etQT7fBRPoRmphS1A== X-Received: by 2002:a17:902:d4c9:b0:223:5240:f831 with SMTP id d9443c01a7336-223690dff12mr91198085ad.25.1740839136548; Sat, 01 Mar 2025 06:25:36 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.25.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:25:35 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 02/18] bitops: Optimize parity8() using __builtin_parity() Date: Sat, 1 Mar 2025 22:23:53 +0800 Message-Id: <20250301142409.2513835-3-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity8() to use __builtin_parity() when no architecture-specific implementation is available. If the input is a compile-time constant, expand it using the _parity_const() macro to enable constant folding, allowing the compiler to optimize it at compile time. Additionally, mark parity8() with __attribute_const__ to indicate its pure nature, ensuring better optimization opportunities. This change improves efficiency by leveraging compiler intrinsics while maintaining a fallback mechanism for architectures without specific implementations. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- include/linux/bitops.h | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/include/linux/bitops.h b/include/linux/bitops.h index c1cb53cf2f0f..4c307d9c1545 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -229,6 +229,27 @@ static inline int get_count_order_long(unsigned long l) return (int)fls_long(--l); } +#define _parity_const(val) \ +({ \ + u64 __v = (val); \ + int __ret; \ + __v ^= __v >> 32; \ + __v ^= __v >> 16; \ + __v ^= __v >> 8; \ + __v ^= __v >> 4; \ + __v ^= __v >> 2; \ + __v ^= __v >> 1; \ + __ret = __v & 1; \ + __ret; \ +}) + +#ifndef _parity8 +static inline __attribute_const__ int _parity8(u8 val) +{ + return __builtin_parity(val); +} +#endif + /** * parity8 - get the parity of an u8 value * @value: the value to be examined @@ -250,14 +271,9 @@ static inline int get_count_order_long(unsigned long l) * if (parity8(val) == 0) * val ^= BIT(7); */ -static inline int parity8(u8 val) +static inline __attribute_const__ int parity8(u8 val) { - /* - * One explanation of this algorithm: - * https://funloop.org/codex/problem/parity/README.html - */ - val ^= val >> 4; - return (0x6996 >> (val & 0xf)) & 1; + return __builtin_constant_p(val) ? _parity_const(val) : _parity8(val); } /** From patchwork Sat Mar 1 14:23:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997505 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 0E0EAC282C6 for ; Sat, 1 Mar 2025 14:25:49 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 54C8410E20F; Sat, 1 Mar 2025 14:25:48 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Ga2+7bIB"; dkim-atps=neutral Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by gabe.freedesktop.org (Postfix) with ESMTPS id EC0F910E20F for ; Sat, 1 Mar 2025 14:25:47 +0000 (UTC) Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2239f8646f6so61315ad.2 for ; Sat, 01 Mar 2025 06:25:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839147; x=1741443947; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kWaUwtVpZP3UXTpS/tFZiOQ6e7YZSypzh2SSq6Q5dUY=; b=Ga2+7bIBM3j6yZu332tqIz/C12/YPYplxs1+LAIceDCNFzeFjcd2kBdAej+djFwMVw Dwue9J1v7ijIaLcRAOv+6Q8LdHTgFYw3drQOv9rxpkgUlWE5t2WOnIom2EZhUANy/f0X kZ9vRrHO230/lJCiYCSaQNG30Em4M6/tEmWTzlKVp+ShAME8w6z59E8rlPYsgQ7JhE60 eD+sqB7ZEuDsVXEz3EyDkTOwxTfTqNDuaWz7dIFjl3KAkG8wJ278De5dUTzO3atoKekw 2d7Q4HfadAiUfqJRaRLyY+6rgHOS0ZAiErN5BSSW6FWRAJKgglQ2xhqngHCvPnuxL1j6 x2aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839147; x=1741443947; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kWaUwtVpZP3UXTpS/tFZiOQ6e7YZSypzh2SSq6Q5dUY=; b=nZu77hv1bkRtWmvUTkgebiTvPJZ3QOUcQ7Rlm4vpw+OK6oOJajlP2cZmMAqNYhsjVL utXAVZmUoGOfFPFG65PhrO7wjceEfNKLtqnx+w+Gyr1iP478+qbtsS5gqSlBXQnGPekd IVolORLvUxLgG2uWRfgchokaXVGyMniKNpC2cSaIb0a0krq7Rq+5IQtyB1/USc2nkTiO KzOVWMAODhQoKJ2ssLu05azvw/xh4CyMLcbmw5b4sAoqkat3/E/b/N25E/OeVo1D5BEn +hDJhhx97L46Wmoh8KZ0xYTRFUg3ZE6CXY4/y6b5y9gj7GWvakEAQ1Hdfzhd1CCKmrx7 ISMQ== X-Forwarded-Encrypted: i=1; AJvYcCVnq1sHpHErwxX3dJ6eTUMy5pKcHTF6jClcw3d1kojeE+BNYmsdus5J9UjRc6gY533kSu19bMs1dF0=@lists.freedesktop.org X-Gm-Message-State: AOJu0YxPyqQt8bTPk1aEDNSdQ2DLFT+GWiLlG0MyCOCOwylTyDcbn3iQ Qiw0lSqPgWVurD2JhfquPSqOroUeZ0sHiHvMtjyz6zBzInPa9xWy X-Gm-Gg: ASbGncsV1Ww6VhiQiorOhLV7EQhvEM39SuTnSMD98mHNzqfl4s91RJE1AtuQ/pAwInc lt3opk2br0DFAKILGhNWwYtg/rJmgRJFunigwg/HvH+ESKRla1NBcxOBGu0TRnnDMStXOxLm64T c+JbMtejNDALPIM+VZ7qeab6+qg88x/juR8g5B6hWfmf06hGlU3k6VvGwvfQs/2lMMknCSYJxCI AQReLY7qu1sDGtkRrUDRj+m/dRrLYHNaB5AAtxmGvCeeVIw4b5EhtfxRnqo8YVPUlGF9LQkbChC ufj8wXSssBd1LByoUDvvrZz5a+/FvZweRbTFKzXOqPS3XDxe6eAQB0/lm601ci9wHKxw7uJol5M = X-Google-Smtp-Source: AGHT+IG6ecfCPGcNZUMHBfcPl8yc5atQiQ27orXscqjAcai4Vvxl2x3xemsSJ5TeQh/ex0SazOZMFA== X-Received: by 2002:a17:902:d48f:b0:21f:507b:9ad7 with SMTP id d9443c01a7336-22368fa8f1bmr107105175ad.25.1740839147356; Sat, 01 Mar 2025 06:25:47 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.25.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:25:46 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 03/18] bitops: Add parity16(), parity32(), and parity64() helpers Date: Sat, 1 Mar 2025 22:23:54 +0800 Message-Id: <20250301142409.2513835-4-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Introduce parity16(), parity32(), and parity64() functions for computing parity on 16-bit, 32-bit, and 64-bit integers, respectively. These functions use __builtin_parity() or __builtin_parityll() when available, ensuring efficient computation. If the input is a compile-time constant, they expand using the _parity_const() macro to allow constant folding. These additions provide parity computation helpers for larger integer types, ensuring consistency and performance across different bit-widths. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- include/linux/bitops.h | 63 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 4c307d9c1545..41e9e7fb894b 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -276,6 +276,69 @@ static inline __attribute_const__ int parity8(u8 val) return __builtin_constant_p(val) ? _parity_const(val) : _parity8(val); } +#ifndef _parity16 +static inline __attribute_const__ int _parity16(u16 val) +{ + return __builtin_parity(val); +} +#endif + +/** + * parity16 - get the parity of an u16 value + * @value: the value to be examined + * + * Determine the parity of the u16 argument. + * + * Returns: + * 0 for even parity, 1 for odd parity + */ +static inline __attribute_const__ int parity16(u16 val) +{ + return __builtin_constant_p(val) ? _parity_const(val) : _parity16(val); +} + +#ifndef _parity32 +static inline __attribute_const__ int _parity32(u32 val) +{ + return __builtin_parity(val); +} +#endif + +/** + * parity32 - get the parity of an u32 value + * @value: the value to be examined + * + * Determine the parity of the u32 argument. + * + * Returns: + * 0 for even parity, 1 for odd parity + */ +static inline __attribute_const__ int parity32(u32 val) +{ + return __builtin_constant_p(val) ? _parity_const(val) : _parity32(val); +} + +#ifndef _parity64 +static inline __attribute_const__ int _parity64(u64 val) +{ + return __builtin_parityll(val); +} +#endif + +/** + * parity64 - get the parity of an u64 value + * @value: the value to be examined + * + * Determine the parity of the u64 argument. + * + * Returns: + * 0 for even parity, 1 for odd parity + */ +static inline __attribute_const__ int parity64(u64 val) +{ + return __builtin_constant_p(val) ? _parity_const(val) : _parity64(val); +} + /** * __ffs64 - find first set bit in a 64 bit word * @word: The 64 bit word From patchwork Sat Mar 1 14:23:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997560 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 D6C63C282C6 for ; Sat, 1 Mar 2025 14:25:59 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 63EA410E210; Sat, 1 Mar 2025 14:25:59 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZVQ1sQCX"; dkim-atps=neutral Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by gabe.freedesktop.org (Postfix) with ESMTPS id F3FBB10E210 for ; Sat, 1 Mar 2025 14:25:57 +0000 (UTC) Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-22337bc9ac3so59623705ad.1 for ; Sat, 01 Mar 2025 06:25:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839157; x=1741443957; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Nutb7MJ9eZ82YUrFszN8Vow0UKyoKuoqD2og5G/xi8M=; b=ZVQ1sQCXB0DEzhC2ncF6X3q9EOV7JaLdl6OwauqLAMjqlVaN2W86B8rMvyq3JFV6uY u5RuKm/8op8GwiQWmgx05nzFd7JCPAyZFeZMyWTnwUCOmtaIFYzW5XdB9icqAFo3xaWN IAJGsGpTGsQp6F+OElmNC5VNE0KMuIjyonRyHlZVzfHAg3HSk+UHoUGAbeQZRAMR6mmU 0cYQq2+B1J3ui2Ka1WcYbVCI6bU8WVj3x0jtpNTCgxd7Spk6jRbzfs40DqPlLhh5j5Xc W1F6euIJl8NkVkBeku/tNiEYoyLK0lgSqVXajmX0D1tZ9s4ILK3h4m1zhbc6OxL5QrkD bxcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839157; x=1741443957; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Nutb7MJ9eZ82YUrFszN8Vow0UKyoKuoqD2og5G/xi8M=; b=dSiolBNeBrdGk4LJZezKuq2miS7kBQMNoMYQ9SOl7PctSZ4++t1E3PyCSu+TjW8h3v nKJajgBHbdPL3QHWAa2tVJEfTy7joXZfE34QR/oHPpV1ThpQ/OkUPRfvQ0UY1NBMjujZ vpsJYxMAD8fzpnWV76iIC+qQKfU1LTvcNQfCsz2hCPzsYxhrfN8TNNVLetd2YBrE2b1v eZ1eGcivzsYmcns7e70YVp3LVUGMuPZX+yp8OolB+OeXPMWgKLBaT+glASY2aBw0hKEj qedkxMExvtsqHnHsaO9XodLQI/qia85M2DXAg334SJOhRWj9HTZWb+1NzyhjcsaDFbQr BSqw== X-Forwarded-Encrypted: i=1; AJvYcCX02l/DllcM+APHFzUC2Bnf10O/2wX5CkHIfU0gBUstGm3c4Ir/7RgIdowy/wA6smlSx6iBf338wf0=@lists.freedesktop.org X-Gm-Message-State: AOJu0YxVpuCOiPIF/WcRqm4woK4BiIFEdrECTcEa/BsYygKUGfmKJbXm 3T5vSAqgrg31HASMpqi07aNlc1/SIKF7Xe4QDPklKOvHTJhmRlkN X-Gm-Gg: ASbGnctkZgFxIbnuBUMJtkDcFDBR0kppab/rkeYTp5fVOGhOoSk4968i9+Om/C/LuWI Tikyo8sK26oxhz0X5qPOxsFD52hteNDcNu1TfqO/tB+xKHreB0gTI4bTEr01XSUxvLYWTALEn9J bfMuTmeQo9iv4sESsMkMEESBFKE370+qyJXgw5PqXoyA6Tn4ikAjBZWhQJiqOyuaiGUZxdnTb39 IygaNxq5hSYrNp4D3U2YnbYUVq6j3cslvMjoV5RFijmcEneELCIygTxE/PjOAt+kMPl8z2rDItE MqmyzNg5DQLZBgaMZkwQZndoJU/+ndgjXRyc/XcjTprpeat4BPoMWB7BLXWawV6bumpmniM3/dY = X-Google-Smtp-Source: AGHT+IGPradnOrYoMR1IanWjYjFo3KQDnHNjL2IS+TgfZGmLy7jDODNM73AvbKhXyZC7rWPMMIa78g== X-Received: by 2002:a17:902:d507:b0:220:c4e8:3b9f with SMTP id d9443c01a7336-22368bc6ae3mr104323495ad.0.1740839157468; Sat, 01 Mar 2025 06:25:57 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.25.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:25:56 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 04/18] media: media/test_drivers: Replace open-coded parity calculation with parity8() Date: Sat, 1 Mar 2025 22:23:55 +0800 Message-Id: <20250301142409.2513835-5-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity8() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/media/test-drivers/vivid/vivid-vbi-gen.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/media/test-drivers/vivid/vivid-vbi-gen.c b/drivers/media/test-drivers/vivid/vivid-vbi-gen.c index 70a4024d461e..e0f4151bda18 100644 --- a/drivers/media/test-drivers/vivid/vivid-vbi-gen.c +++ b/drivers/media/test-drivers/vivid/vivid-vbi-gen.c @@ -5,6 +5,7 @@ * Copyright 2014 Cisco Systems, Inc. and/or its affiliates. All rights reserved. */ +#include #include #include #include @@ -165,12 +166,7 @@ static const u8 vivid_cc_sequence2[30] = { static u8 calc_parity(u8 val) { - unsigned i; - unsigned tot = 0; - - for (i = 0; i < 7; i++) - tot += (val & (1 << i)) ? 1 : 0; - return val | ((tot & 1) ? 0 : 0x80); + return val | (parity8(val) ? 0 : 0x80); } static void vivid_vbi_gen_set_time_of_day(u8 *packet) From patchwork Sat Mar 1 14:23:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997561 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 477C6C021B8 for ; Sat, 1 Mar 2025 14:26:09 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CDE9D10E1EE; Sat, 1 Mar 2025 14:26:08 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VCcsmz6q"; dkim-atps=neutral Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by gabe.freedesktop.org (Postfix) with ESMTPS id F068210E1EE for ; Sat, 1 Mar 2025 14:26:07 +0000 (UTC) Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-223378e2b0dso44908245ad.0 for ; Sat, 01 Mar 2025 06:26:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839167; x=1741443967; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=r0Ho2aCKNYfg5T/o22fFzxZ+UyjSx6Fm0wn6W8o8Gr8=; b=VCcsmz6qZXqo6AK1JBukBmeYQLOB3F5xbCmcPxRVSc3jWlaMl6CyuSAmUfOLNmybKU yxp0SzQJOMgyO6zCjgGGi4LJICdLNFR607nYQeGjV+paerChIpN1TkRMGd3M8evk/wlu o7YmGo4I6IxeMWirL8zrvE9oLGYqNPD0QHZXls89F/rHauj9D7btlnHvT7m/K/tXtg8x QM3Um3hhFGnGT8aaHotlqoO+8tJxlj5n/SVE5lwjfPJW2PXGmnOGasMrun8EUT/14wAI jgBgc0a4+yDYXG9nszA2BAJuTTBgD0x2p9XvZASlYDNVmm9ndAV+0Fj13A4Klzglkf0D T+mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839167; x=1741443967; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r0Ho2aCKNYfg5T/o22fFzxZ+UyjSx6Fm0wn6W8o8Gr8=; b=rjf4gyWKEuiKBw8BbaoSapt4JPPVmy2oW6W2FoMnQdiIeK5Ml4/CdqgexzqgkoA9+V c447NlIjktNfGWTjfLDXymTbHUuT7w9aYzgH6PQvA6kDjqn9+mykB1Y4DE38qTSxJTDS /0WIOffzZEVPoQ8mb58xTCwbBcJM/Vf5NMtXqAxMDGPBDMzQhjrI5x34MjInsmT3uyvu IfPsr/nid8Renw5n+u1WNics7iqqVz/Wc4ve2n6WGy7A9fM5tuKnIZGiBRpVs7oCgCwG 0JDovKKbBNYrycHMoGj449Z9LUjpurxVB/FnEuNUd0t7t9TmUm6DEaTNvTsnz4Az2oNe IkcA== X-Forwarded-Encrypted: i=1; AJvYcCVdMln7BLmpkP/Z9mVcX5dtXWKwuXggeYO1fduusO7uVoYxRVTRsoHB66udMrgtQgxVSdzBVqxfpXY=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yx9qJA8mIrz4Plf73KYQPgMWzq8G0Qn41hQAgWLTHR1svmmFPlq 3r0MvEWqQlwgRri00vYTTahdx5Qd1FnJXTSbnUbQqZpGucc8R39d X-Gm-Gg: ASbGncv6OtUB24ZmyFGKzwPALWggt7k/ZOWYddhOHnyrFtoWHEl2UeHeyzCF6rK+IsE QH+fhXdH9qQ/kmHbpyOGccXoA7TKGbYAN1h1cvmKvKUvB+RLETvi4vydzyq7Jh41vgWwHEmDjh8 iHRIg39I+SEIK51EbvSiIIXL9QiUatWFw5eF8Duvdv560wlMePa3rfY5emzb2+qm40TAX5zwvJL ls4jTY+Qp4G6+npO8bbvp636FXgiflWxrKAFqIpOBnfNC2rqsrcztHvL5pNApn23+0ospk2Q+ff qBLfNoOIaCfasObYG4CHha3lWjQssQxg/XtiWxYqDPYNSu66B0ONYwUae7wMic4QTzgrOZD4fcU = X-Google-Smtp-Source: AGHT+IFTfohTxN61KiiUMR75yyegIVFtOgTpaXboBycWTn/wkpOLO86TKXx34bh6gLZ1DoKzx8tYbQ== X-Received: by 2002:a17:903:fb0:b0:220:e7ae:dbcf with SMTP id d9443c01a7336-22368fc9332mr106296855ad.23.1740839167480; Sat, 01 Mar 2025 06:26:07 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.25.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:26:06 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 05/18] media: pci: cx18-av-vbi: Replace open-coded parity calculation with parity8() Date: Sat, 1 Mar 2025 22:23:56 +0800 Message-Id: <20250301142409.2513835-6-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity8() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/media/pci/cx18/cx18-av-vbi.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/media/pci/cx18/cx18-av-vbi.c b/drivers/media/pci/cx18/cx18-av-vbi.c index 65281d40c681..1a113aad9cd4 100644 --- a/drivers/media/pci/cx18/cx18-av-vbi.c +++ b/drivers/media/pci/cx18/cx18-av-vbi.c @@ -8,6 +8,7 @@ */ +#include #include "cx18-driver.h" /* @@ -56,15 +57,6 @@ struct vbi_anc_data { /* u8 fill[]; Variable number of fill bytes */ }; -static int odd_parity(u8 c) -{ - c ^= (c >> 4); - c ^= (c >> 2); - c ^= (c >> 1); - - return c & 1; -} - static int decode_vps(u8 *dst, u8 *p) { static const u8 biphase_tbl[] = { @@ -278,7 +270,7 @@ int cx18_av_decode_vbi_line(struct v4l2_subdev *sd, break; case 6: sdid = V4L2_SLICED_CAPTION_525; - err = !odd_parity(p[0]) || !odd_parity(p[1]); + err = !parity8(p[0]) || !parity8(p[1]); break; case 9: sdid = V4L2_SLICED_VPS; From patchwork Sat Mar 1 14:23:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997562 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 8B1D4C282C6 for ; Sat, 1 Mar 2025 14:26:19 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1797D10E221; Sat, 1 Mar 2025 14:26:19 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZDfEA0sb"; dkim-atps=neutral Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9B05010E221 for ; Sat, 1 Mar 2025 14:26:17 +0000 (UTC) Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2234bec7192so28677555ad.2 for ; Sat, 01 Mar 2025 06:26:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839177; x=1741443977; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TZw0QJRtM6IhR4KZmh2KNqroHre3ebnX5GDU+1y6qXk=; b=ZDfEA0sb4ZD+mtnAbrz3TR8CHuolqwOoN5ZN9exib6RKrJT4ewZz4Cb5IpUOn/KoG6 KB5gvcKQ+afmBMywU4GTwu7qrw8vxgJc3FJsK2UW04fYzCOkCzSg7m3dKilCr8znvP55 pQAYEEsBwgKutDN3oFoBoz6cMEqoxGYazduXX9sz2a0MiE3HLK0PROl0BDOpMpLXOgut NWeK6tIpyhbR+yNFjmAcnUgmXlL1z3BlAZ3QfxNGUnjUL2mOBOkQOwhwm8cuKH9+WjyR cqxUxZSqlhyJR3qSWSd6lGY6PyM2jmoow5BpK24GItctBNgSRITHD2UNtPFI+K6Y1mVi ezFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839177; x=1741443977; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TZw0QJRtM6IhR4KZmh2KNqroHre3ebnX5GDU+1y6qXk=; b=jYTkvJwHoyYfs9m+ngUyTFWMzwAB/zI/hTe8tp/2WzuHypnSgoado4a4Mls6wfSjnO JJSXoTPa+JC8Qt8ZSIQJC6ynZfsEohGnN5qRW3aqKrmmwKlU7POzEORnQEV8aOVfqCup 55BRv7Em3G2Avm8TJp/7DRMfMnUjPtBXq3+jaAYVv4TRTaQ2LSvnhYzuezbRpdvdNIhc 0gTnKp8WYO5jKjVjTVV1uLO5lHbRhvN3oa+bTvtJxrg5f+u9gkPF8OrWiXIevm0NCHzQ AcHQemumny33X9YVsVB8Wn042jjeh8plgvts8Vf9BCtrX0TXMIXTxnT59NHXcSByVUsT LwVQ== X-Forwarded-Encrypted: i=1; AJvYcCWaTNG2+NF0obFcJKjPTwxyVHLPrxQkhGwsP5lIEqqr2NrFEEgBPCo7LNAoq3ADCxjBZ29/YS/O/es=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yxu7rfuGZLxp3+If5dQqVZjkR8XTFQWqHjiU7cZPgudGSzWgUkp IRhnAUeNLwQgAj+Gs+8HhL7mYlJ6Gr+m8yjKqKgCX7gVaLiwwv9l X-Gm-Gg: ASbGncvMpHIH7sVvJADKTfPYgwbxWD9k3inQZ9P9Ncb+jUl9XvzlAW/uCd4R0IfzBMs lgyVYdP3Ht52er/CdiDzO67bIz02nRuHucR+5rtc9tRu1pkO04FOOJsKQrXF0G8GKwuPbQtgM/a vODKpSNQ8g7rLgjhKACLGgLQYNL8JQOIpbhgy/LljHA6vj3moNEe3ocaf+pYRuMmIY1FMt2bCAc mbM1yGCRKSfgBWLacy+4orJClvKugg/7tPXaIzcrJbVyssReHI6z6D1cT0vFNZlw+kM4iu3eweu fwImmATM7fK+Wsn05y7J8UEoT19B64Gw2tYmIv14EtNK/j5P0oXh5xJfaxPuqfB2mMGm+R57L04 = X-Google-Smtp-Source: AGHT+IHr7/bNocCASgkhvMFxO0zdSkmZKMBxSgSw4TIYugdqe+gxkfqzHvRXHP0fkW72YV0RkO2YNg== X-Received: by 2002:a17:903:2ca:b0:223:4b88:780f with SMTP id d9443c01a7336-22368f7558dmr109533355ad.17.1740839177198; Sat, 01 Mar 2025 06:26:17 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.26.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:26:16 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 06/18] media: saa7115: Replace open-coded parity calculation with parity8() Date: Sat, 1 Mar 2025 22:23:57 +0800 Message-Id: <20250301142409.2513835-7-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity8() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/media/i2c/saa7115.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/media/i2c/saa7115.c b/drivers/media/i2c/saa7115.c index a1c71187e773..b8b8f206ec3a 100644 --- a/drivers/media/i2c/saa7115.c +++ b/drivers/media/i2c/saa7115.c @@ -25,6 +25,7 @@ #include "saa711x_regs.h" +#include #include #include #include @@ -664,15 +665,6 @@ static const unsigned char saa7115_init_misc[] = { 0x00, 0x00 }; -static int saa711x_odd_parity(u8 c) -{ - c ^= (c >> 4); - c ^= (c >> 2); - c ^= (c >> 1); - - return c & 1; -} - static int saa711x_decode_vps(u8 *dst, u8 *p) { static const u8 biphase_tbl[] = { @@ -1227,7 +1219,7 @@ static int saa711x_decode_vbi_line(struct v4l2_subdev *sd, struct v4l2_decode_vb vbi->type = V4L2_SLICED_TELETEXT_B; break; case 4: - if (!saa711x_odd_parity(p[0]) || !saa711x_odd_parity(p[1])) + if (!parity8(p[0]) || !parity8(p[1])) return 0; vbi->type = V4L2_SLICED_CAPTION_525; break; From patchwork Sat Mar 1 14:23:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997563 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 B581BC282C6 for ; Sat, 1 Mar 2025 14:26:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3E4D110E242; Sat, 1 Mar 2025 14:26:29 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZWbzG3kd"; dkim-atps=neutral Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by gabe.freedesktop.org (Postfix) with ESMTPS id ADA7510E239 for ; Sat, 1 Mar 2025 14:26:27 +0000 (UTC) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-223378e2b0dso44910255ad.0 for ; Sat, 01 Mar 2025 06:26:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839187; x=1741443987; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hp3kGqc16FF01of4e/8WmkeqsdCblTk7qrBu9qHKlh8=; b=ZWbzG3kd7/3B+MSnmM/gWeczsEQmG5k2LyxuB/JFve4f82ZH5JNxEf2zFYPOx+WnT4 7GXqc+qDU7l/8zTNPgPIpPSPqifrrzJ4TkgWoSUvJ0v/B/CX4raAUYJP6Ra9fdVCdSpz KXevJnARE6eFarp4Hj6oCLkLEcUbjwX5Z+VPjShspe6UeaRgTPkDSFB1lrcd+7uqzuI3 5uZ0812/KwYXyaejgmKODV4Rj9RZrF6gaJnjgH3vjyd4FdmsZWf2JJ8F6ZCPzpYwLecU zHvqtHFxsA8W2X+WoZHYfRhA5LMgsdBfXY671GlIdMrvlh4F5Sm2zLCrrB18519BcxAA b91g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839187; x=1741443987; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hp3kGqc16FF01of4e/8WmkeqsdCblTk7qrBu9qHKlh8=; b=aJokKQn6W/soSr1JV12Jr+YVONGW3EYgSO50T4oO7boOQMbQQai96RJ2VZV9/Ucshs r637AruKdFKDpnEbTx/66bHHPmUKQ+3PY6tuF+vwEPSgisDK3PDTHQURlYI0sPAbZEyL ncOZzjzRbV3Kf6jkHTlC8x1UPMJ0K/DJX0PISOb79xK/MwIBrmdZwe7kK7wI8yo50Vji p5v2yRqOfx2xP+Yyc0y/8Y+f6ybWJzqC93wv0mi98IWcdNAtD0f/QLi0Gkev0nP62Chr pMGKulJkKOXIUKDWtYt454n6tF2dkdxI0cKKOjBu8Qkc4NwSlhZueibNZoZDj5Q+BzV6 5rBQ== X-Forwarded-Encrypted: i=1; AJvYcCVTMV19aDyEodePVz3PygTb6iUSzfUufn+X2yNEfHggepcdis2JURW1s+s1XgFcKlxyw7WCn/8+jDc=@lists.freedesktop.org X-Gm-Message-State: AOJu0YxyYbE15WekDzTZXGiCAG9tYht7NhahJcmAWthPonXWWjsXSsxD wdWUx82bTflIop1JnKlVXjLJ2AQEj1RNo5IdSIsS+UawHvP3WcpW X-Gm-Gg: ASbGncvg6jORWbQioEp1DATPt/sIR5TAKmnMr4oH+UgmYo747pAfI6WDsp5Cs4ukdg/ KZ+cFouv8jHYfeAziDWgUTNdp/zVZSAR18QhbG1SAHYl474DjY/rEccL6wj76E8+ke8G6I71Ggu 4p7G/5EcGkqBKED5UHRw+QvXxxUvXApSBBp5xibdiuVHADn/v1yJvu6m38aA70Wykq7ZFU8ktpZ SAKWJw/TRNdL0oGbvm16BhiinvVi4gmFWFAEtuuMj+58ez3FVW/k5ZgZl0EdLnLOGICcTD+7Qpa bJO65Iz8i9JUHGlLfWpDCZsEnxodTOOywIwHmhHvxwUZjCRqKwZR6Hw75K6+2e33IYpbqvZ+FRc = X-Google-Smtp-Source: AGHT+IGHEYprq9u4C7FchZ9I6Y/Ibnse4qNPj1GVk/AdnINX25zgN7NgXyYUydYVyaa9stUlYFgdnA== X-Received: by 2002:a17:903:198c:b0:220:e1e6:4457 with SMTP id d9443c01a7336-22368fc987fmr121177295ad.26.1740839187181; Sat, 01 Mar 2025 06:26:27 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.26.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:26:26 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 07/18] serial: max3100: Replace open-coded parity calculation with parity8() Date: Sat, 1 Mar 2025 22:23:58 +0800 Message-Id: <20250301142409.2513835-8-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity8() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/tty/serial/max3100.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/max3100.c b/drivers/tty/serial/max3100.c index cde5f1c86353..3b05ed113a67 100644 --- a/drivers/tty/serial/max3100.c +++ b/drivers/tty/serial/max3100.c @@ -16,6 +16,7 @@ /* 4 MAX3100s should be enough for everyone */ #define MAX_MAX3100 4 +#include #include #include #include @@ -133,7 +134,7 @@ static int max3100_do_parity(struct max3100_port *s, u16 c) else c &= 0xff; - parity = parity ^ (hweight8(c) & 1); + parity = parity ^ parity8(c); return parity; } From patchwork Sat Mar 1 14:23:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997564 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 99DE0C282C6 for ; Sat, 1 Mar 2025 14:26:41 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1F32010E230; Sat, 1 Mar 2025 14:26:41 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="CueFDhT7"; dkim-atps=neutral Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by gabe.freedesktop.org (Postfix) with ESMTPS id B843410E230 for ; Sat, 1 Mar 2025 14:26:39 +0000 (UTC) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2239c066347so1364345ad.2 for ; Sat, 01 Mar 2025 06:26:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839199; x=1741443999; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EcXJ496C/2+0qa2GsfTbiscKGioWO59ZW48/kJd6oSs=; b=CueFDhT7smyEylYaFEqc2a4jSbm/7J8OmDVsH1L4tH14Jb6wnZFrfVVAYf6MuD0VqE jwF9gPph6I1v69cF9v0TbPkr7ObenszmvRUWQm6z74np6hJwZttpfum6lTu4+D1jCldu JdDcTKwyZrHWIDwk5rBf2QGWEnJx6XvGqa+r50df+a+fNL5ghM+0bwr8IQ3uE0ES8TWm feWoCX69Qe7/K8tu6WQANZOKuZSYiNhpuTvCS0jD1JYs1pAHCyb7KqqA97J2/4qclj7e dxaE0q2LULJqMcH2secUGSQ7WY1jaWIuj5dVKAoH+da05vzxZ1VGDvXySSzsNJb767rn M9aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839199; x=1741443999; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EcXJ496C/2+0qa2GsfTbiscKGioWO59ZW48/kJd6oSs=; b=AJorpqRnXE1cE59MPlJeM6UCx3W0XX74YpqmXqWBd3JTqRnxHBgOEaAEHKQm5SvGYt WeeLlpo+4AOz3QPaj3OsC7+oivIG2K/yHak1zdnQrUT/wuyrphARRy5CarkN34KomvxX 0+WM6nq/9FxBJm17Q4zLQejNlhsCYMCSrCa+vnaDsO48ulSVA42GKkpTSb3ZPsxZPE4f zZIHCVckymypIQ1o8oUiuSjHGIty1hjqVVdXErdBbx5i4m8gHWdu4oEfh4J2w6L5/NpN iKDmVPWnjj6dcmOdKO7ZtLkqQe+wNXN0tj1s6luHbmZCE+c46UApUJ3K0YBd4bsi65cp HKkQ== X-Forwarded-Encrypted: i=1; AJvYcCVL5/xzTtjmvETvJQbhPmylYVaFTWBxId6aYO93O10AIe7LytuE9cGsmHBI3hEhJpNq0cFOfSqgcFo=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yy8e4RHsXDTzYiDMJ0PeQrop2Rdxyct8ljLTpwhjSEIRBPOQVUB jZ0CKcaz2rs6V/nbOoEsz1ubSwLOr5ioNW5TPMrT3cSlJbPWG6ynZFXkj0yHuS8= X-Gm-Gg: ASbGncu0X/Glk90CxnFmMgmj+YbuGi+3mB6KKiPfPK1W3nQwvRzuqIf9timNJqXOoix s37uPRfsFIpec8YWA8ntHOE8ARiv+K4KlfqR7XxodgBkT+gM25YNpBjtt6PyWNlmpZhH4auAbzT HQYzlfB+xrTOxLeeq7nOOeElLLn0QsRV3r7vMmAXbNAvF0mbvYlDVyivQeUHpp/K9bhhaunMnOa x2eyDGA3EqCiczn57UohWOs4iKJkYIwkd8S78eQhDQDOyttg32LcnpPk6RUGl/Sz4hN3AUIGNEx 6/dqbHHxvj9eu6INAafTVfqwiuq5d7Pp3CI+I/qAkll3wOkSi0OTjTisGOh82AwXHkMvmHQ/XnY = X-Google-Smtp-Source: AGHT+IF0PsFOHNYq2JTljPhmrhYVkAKjdgh1XZeXstNsMDq6/4mtC72Fp39DdqLibOGQ7FEZk2iiHA== X-Received: by 2002:a17:902:da8d:b0:215:9bc2:42ec with SMTP id d9443c01a7336-22369260956mr94926455ad.47.1740839199131; Sat, 01 Mar 2025 06:26:39 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.26.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:26:38 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 08/18] lib/bch: Replace open-coded parity calculation with parity32() Date: Sat, 1 Mar 2025 22:23:59 +0800 Message-Id: <20250301142409.2513835-9-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity32() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- lib/bch.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/lib/bch.c b/lib/bch.c index 1c0cb07cdfeb..769459749982 100644 --- a/lib/bch.c +++ b/lib/bch.c @@ -311,18 +311,6 @@ static inline int deg(unsigned int poly) return fls(poly)-1; } -static inline int parity(unsigned int x) -{ - /* - * public domain code snippet, lifted from - * http://www-graphics.stanford.edu/~seander/bithacks.html - */ - x ^= x >> 1; - x ^= x >> 2; - x = (x & 0x11111111U) * 0x11111111U; - return (x >> 28) & 1; -} - /* Galois field basic operations: multiply, divide, inverse, etc. */ static inline unsigned int gf_mul(struct bch_control *bch, unsigned int a, @@ -524,7 +512,7 @@ static int solve_linear_system(struct bch_control *bch, unsigned int *rows, tmp = 0; for (r = m-1; r >= 0; r--) { mask = rows[r] & (tmp|1); - tmp |= parity(mask) << (m-r); + tmp |= parity32(mask) << (m-r); } sol[p] = tmp >> 1; } From patchwork Sat Mar 1 14:24:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997565 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 AE604C282C6 for ; Sat, 1 Mar 2025 14:26:51 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 340BD10E239; Sat, 1 Mar 2025 14:26:51 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gT49F2jQ"; dkim-atps=neutral Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by gabe.freedesktop.org (Postfix) with ESMTPS id 16F5D10E239 for ; Sat, 1 Mar 2025 14:26:50 +0000 (UTC) Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-22359001f1aso67247265ad.3 for ; Sat, 01 Mar 2025 06:26:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839209; x=1741444009; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=U4Bkihj4DGACHQctYAnhtp6nEz1RGAPDBfirVsTzUzk=; b=gT49F2jQaMeIfeGhvaJmGJME1nGs70h8jf9OInYd+DXg+M2P9xaELrc6p/5KoOomQ7 Ucrt541BucASGM5W+I3bPFu0OaKemgoLg8lgmlIU8hLMJ2BHeKds9pnEUOgu6LvV9Hpr aQUP88R9j4bsB0y1CIpMTtIYPhFkkK5RsQPY+JcEJBY0NAo9rrzNWsJ3zEKDjc+CHyXP 0BB5H3mvHNAcrfdEF6IR+slJz7SlGBw8bez2w6XtNlhnOH0armb/D7aba2VnGFP8F48D UAe6CqhDsj26xsYBgKIMrWiqAQZCyxeSUdhbZaYW6he75j9FDuyhwMQnvqSiBr/ZWgDV n6rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839209; x=1741444009; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U4Bkihj4DGACHQctYAnhtp6nEz1RGAPDBfirVsTzUzk=; b=D0yNsqdpuZZxnVamzqMN0SAnjCS6z5dNckmbMN+IVDaT7UFEygTr00OjfWf2yJ8Oc/ Fb2NnIT5wsvf6A9JWERoImC5xo2O0FOiZcn+E3Z6ywv8hguGCPkkwd2lAhmWdSoqh5KF +MnguLQzT3kC1CIPYd5LvP92BbVdgmqomJDqQSqbltyMNCizLEtGDJYr8lrnvuWKgk9N iN9a/8Pym9+D951r0tFleQal62VO+VF0XkcZE9s65BYHJiSCwJ4XyNGxrBV/BNN9TApX /zVxzL04TBFb37k8Gbs2SoSTpY86fk22N61P6Z6ZfdS9NvmMhNhOsvJ1qvf9DWa5vadt k+0Q== X-Forwarded-Encrypted: i=1; AJvYcCWN963y5KCFmHzYebAZpdEkWcEDw3yAzLUGKRPUmYph+LfFfg3L34j4xFktSC2QMR7ZOoci4EytrvE=@lists.freedesktop.org X-Gm-Message-State: AOJu0YyTXTLQPSRsh54PoSamwd2GLZxIHI1/1khE48tJi/QbcpASYFki wgtbUvOdHthaIdhBdVRrgHVRo9gfVOmwf/eF2kXPU+dmo4CRl6wE X-Gm-Gg: ASbGncvMEQ4bAKCqYPI71Z+kQ6XAadwYrJQHbfrFEtz1w/cl6v5L8IfVxO2AYIkW7Mt 0stOK3gPixdKqh3XSIRs2dK6SOAaBHc9m6OcasS9oMHCNRfc3Tjm244uq/ADww8Nxv8ZwjRmwx9 fTDJCQKb48qa4Secmkix+Jh8ZtEM64FQSI3/Nb3ioWpy6nSC5qg1H7OU0fw2GscSUriv6ytUNYF 8gyBeD4ANx5bfuhOjRiZgYOtea4G5n2z3W61G4RpKTMn7oB0jAeWYvA7d73RjpuLgcwC4DsH7W5 /M8ONBXyUtcIH7FkOcm0zCeVOLdEY7dwp6DgLzX8kSrdUrobvf11xpo3WrZr0OYu19VQIuXwNQ8 = X-Google-Smtp-Source: AGHT+IFGrjgDJrSlPcepaZbcj3TRgBvaEfqqC0e6onE8P6bMgkRDhKKNubsynOimmjCrDvdqjeVQ6w== X-Received: by 2002:a17:902:cccd:b0:21f:b483:2ad5 with SMTP id d9443c01a7336-22368fa8f6fmr116510795ad.20.1740839209574; Sat, 01 Mar 2025 06:26:49 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.26.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:26:49 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 09/18] Input: joystick - Replace open-coded parity calculation with parity32() Date: Sat, 1 Mar 2025 22:24:00 +0800 Message-Id: <20250301142409.2513835-10-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity32() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/input/joystick/grip_mp.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/drivers/input/joystick/grip_mp.c b/drivers/input/joystick/grip_mp.c index 5eadb5a3ca37..897ce13753dc 100644 --- a/drivers/input/joystick/grip_mp.c +++ b/drivers/input/joystick/grip_mp.c @@ -18,6 +18,7 @@ #include #include #include +#include #define DRIVER_DESC "Gravis Grip Multiport driver" @@ -112,20 +113,6 @@ static const int axis_map[] = { 5, 9, 1, 5, 6, 10, 2, 6, 4, 8, 0, 4, 5, 9, 1, 5 static int register_slot(int i, struct grip_mp *grip); -/* - * Returns whether an odd or even number of bits are on in pkt. - */ - -static int bit_parity(u32 pkt) -{ - int x = pkt ^ (pkt >> 16); - x ^= x >> 8; - x ^= x >> 4; - x ^= x >> 2; - x ^= x >> 1; - return x & 1; -} - /* * Poll gameport; return true if all bits set in 'onbits' are on and * all bits set in 'offbits' are off. @@ -236,7 +223,7 @@ static int mp_io(struct gameport* gameport, int sendflags, int sendcode, u32 *pa pkt = (pkt >> 2) | 0xf0000000; } - if (bit_parity(pkt) == 1) + if (parity32(pkt) == 1) return IO_RESET; /* Acknowledge packet receipt */ From patchwork Sat Mar 1 14:24:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997566 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 0C0CEC021B8 for ; Sat, 1 Mar 2025 14:27:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7BD7F10E24C; Sat, 1 Mar 2025 14:27:00 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FdG/wbWM"; dkim-atps=neutral Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by gabe.freedesktop.org (Postfix) with ESMTPS id 070BD10E24C for ; Sat, 1 Mar 2025 14:27:00 +0000 (UTC) Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-223594b3c6dso51921535ad.2 for ; Sat, 01 Mar 2025 06:27:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839219; x=1741444019; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OqxvpgZHoGiLr6YH8sD6RZa4e3r1mx+K51Pz7JFmQwA=; b=FdG/wbWMTx4vTe/h2vysLZfJsf1oqwzyVoqXlSgprL49gHLB637DzhZoRVVGQ9yU1w ggen6unce0sE/OmdqgWuR6Z4vnnoOxky9wNHZzuDiuUk+a6W93k0/vWtZKGVQxfnxjTD GlMVDmzCIGeIPAmSdWZ0I1czMePWeY5XRFRd3Qm2xJJE99Dik9+TF9RuxLTUT1NI0y22 CyMLNozqFHSkWllGQgooU0+6k1j58OpEIrEGhQQSXRUHWZ3awmvpedW+w4oWrAQG+MFm ePkzMwkxq0v8Y21PGM05UvRRHw0l3IoYVMWcgNhe09MwWVas/r2t/LhiqN3hWoEVoyhc 1xDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839219; x=1741444019; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OqxvpgZHoGiLr6YH8sD6RZa4e3r1mx+K51Pz7JFmQwA=; b=XJnv/dn43ANkNHjHMfbSS4M01z8P9cbxqA4+1dSiq+Hkl1gv0gldeoouJ73rceXYQW 2Jg1ujsFGXgznEcYEOLUZKve7BVTieyLaX/sP/WKv+PtdbkJaEBtaPqU1apqT4VY9T7e 6w1iWO80OrWlnf8ZZ845SGF9X1sDQWEFX5kdLPlBw/YgSePPudjmedt9WG31/lpLgzBR kwGJfXSHK+akUU3eXn2c9XEj1eblnZVsHzNcuBLtdvmr7bjRBGjo6niYCUNODY6l5J6m qlJX1dr6OdQsXHAgebtZYvYy/qYfC4R1s0eIIz99GqTKyJoDCqPMmsd21afOrjO3+N91 NgTA== X-Forwarded-Encrypted: i=1; AJvYcCUExbPZUEjHMKS+pYANnZBYkWgB4pHC990FRBPXtaNDnc2So2KuRbRlcosk99NEomfOILKliIRBMbQ=@lists.freedesktop.org X-Gm-Message-State: AOJu0YzT3gZbfbX4MUvtNytk4/cepSTFMZPexMlrZ3tF1raWToYzB9ec gbcCeig4I1rIHYYv3hU4ulB3YhCyY/jWkvKrFYSZZ0190/glGvpG X-Gm-Gg: ASbGncuGb0yz702cP+7J2FahFg1wFeJcNZQ6RCXL1QtBw/SVSJz6kt9q0olH6qlL/5W Ng51o2MSUTep7kVR+6nHNQWhIeRprBoi8LG9CX7mt8svmgRjfW7jpryqIFAdXTgqWAIvltpYtaS 6jiCLCw1dzJPxgfi4/RLoNRDtXk0CXCaNw3uL4Qe2fumKQ4H2WXWK+WUt8zrj6UyFulaq/Wxj+b hG3A+W4E1niEqNGrTr0NnwQtakDE8maQFdSrz+vQOZP3dt4FHIUsdDMTmxnBTQxrpz3QrkSO3A7 +JWUE69NRJNNtezXYux16Riy17flUO5puowU7YuYkEKVOhZRZiF13/0IxX5FDFtPpoLqbVq9wcA = X-Google-Smtp-Source: AGHT+IGwTX1zwhWAXU1AZVXFy1OzhL7kB0zYwA4xHDy3bfQBeELXGyOD8jSe52YiMtbVSQB6FlE4Fg== X-Received: by 2002:a17:902:ce0d:b0:223:4b8d:32f7 with SMTP id d9443c01a7336-22368fa9062mr110269565ad.19.1740839219506; Sat, 01 Mar 2025 06:26:59 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.26.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:26:58 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 10/18] net: ethernet: oa_tc6: Replace open-coded parity calculation with parity32() Date: Sat, 1 Mar 2025 22:24:01 +0800 Message-Id: <20250301142409.2513835-11-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity32() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/net/ethernet/oa_tc6.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/drivers/net/ethernet/oa_tc6.c b/drivers/net/ethernet/oa_tc6.c index db200e4ec284..f02dba7b89a1 100644 --- a/drivers/net/ethernet/oa_tc6.c +++ b/drivers/net/ethernet/oa_tc6.c @@ -6,6 +6,7 @@ */ #include +#include #include #include #include @@ -177,19 +178,6 @@ static int oa_tc6_spi_transfer(struct oa_tc6 *tc6, return spi_sync(tc6->spi, &msg); } -static int oa_tc6_get_parity(u32 p) -{ - /* Public domain code snippet, lifted from - * http://www-graphics.stanford.edu/~seander/bithacks.html - */ - p ^= p >> 1; - p ^= p >> 2; - p = (p & 0x11111111U) * 0x11111111U; - - /* Odd parity is used here */ - return !((p >> 28) & 1); -} - static __be32 oa_tc6_prepare_ctrl_header(u32 addr, u8 length, enum oa_tc6_register_op reg_op) { @@ -202,7 +190,7 @@ static __be32 oa_tc6_prepare_ctrl_header(u32 addr, u8 length, FIELD_PREP(OA_TC6_CTRL_HEADER_ADDR, addr) | FIELD_PREP(OA_TC6_CTRL_HEADER_LENGTH, length - 1); header |= FIELD_PREP(OA_TC6_CTRL_HEADER_PARITY, - oa_tc6_get_parity(header)); + !parity32(header)); return cpu_to_be32(header); } @@ -940,8 +928,7 @@ static __be32 oa_tc6_prepare_data_header(bool data_valid, bool start_valid, FIELD_PREP(OA_TC6_DATA_HEADER_END_BYTE_OFFSET, end_byte_offset); - header |= FIELD_PREP(OA_TC6_DATA_HEADER_PARITY, - oa_tc6_get_parity(header)); + header |= FIELD_PREP(OA_TC6_DATA_HEADER_PARITY, !parity32(header)); return cpu_to_be32(header); } From patchwork Sat Mar 1 14:24:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997567 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 7EC65C282D1 for ; Sat, 1 Mar 2025 14:27:11 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 033A510E24E; Sat, 1 Mar 2025 14:27:11 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PRWBh1gC"; dkim-atps=neutral Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by gabe.freedesktop.org (Postfix) with ESMTPS id DAE6D10E24E for ; Sat, 1 Mar 2025 14:27:09 +0000 (UTC) Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-22113560c57so59390145ad.2 for ; Sat, 01 Mar 2025 06:27:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839229; x=1741444029; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ih00TRqmhmd1Mh0sl7zFiAmpBAeBPMq/8Nno4TrvKu8=; b=PRWBh1gCSOdii42vNtti7cVPVEmiUnjmvGI3bf1E24Ykg8Cs3PA2Zyr9nQ+gPPxJoo fkTMUHEyu3xA3d4SZ57z7KIAvtDD1HKpCIWl9tPUPXmtGwWDLo4TtMyDOcnqBjlCFscl S9Th9ZXdSOeRti4AgFoyK5a+lbbw4oDqkD5JWFxkJ5Dpo68MoEV1yLDJnuAO5UixmGTP dF0Tp94/3qazS1zCxW9Mli/0wP0Usco3k0PARP91akQGwx7njc7coQrzr3cE+CJh8aWp B4E2W4Mz+50wmCnnZMXS3iS6Huao8r5VQkRohRUckxdlQiIg2KDF9VCXb9r2bRpnslg+ 7RwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839229; x=1741444029; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ih00TRqmhmd1Mh0sl7zFiAmpBAeBPMq/8Nno4TrvKu8=; b=v3iVEtEY+Vnk/BHaNAJ9HlQDkhrebmRapNOrA5auSRHyySDJ9Vf+DRV6oHDjTbkk90 qlWx4EJEjB0MgQOMn+1isjmk4LYlZ30tRWJnw4NSYGQGIwSaJigR6gt/PDNtQnHk56Us +TyF2VQ6sbehdyGHif+hzlFFK88uB8Qa+d7RgUlzBZr47ANm5Ob0Y9dlORtdOvJi6fHn IA6KWGuKOj+j2sIxD96WX0EWpyO+SXKDM/danFnQ660ckSedY9sFn9eJ6CP7bdsrSuWu 6L2bxvD4tsg1e2vxcmz2bGVy8d5nqBW9kFMV5DMe0I9xNMhikGRpo/7JBICh4wtNkEZr NRXw== X-Forwarded-Encrypted: i=1; AJvYcCWdMHwhTxcMJdgTC4Ru8HhnylwXkDny+F4bi0nqWn7vLEWJLTrdGpV01xiepUuRwv0+d+PXbmPpDVw=@lists.freedesktop.org X-Gm-Message-State: AOJu0YxkV0z0oeVFMGzYGZiB7MLv/RXz3KUXG7Fh2iN9Caj8vB/siWgn v6IWypkGU+eKI7Ogua9hctEfh4plu9iA8JIypMVziQnwjOWE5+4b X-Gm-Gg: ASbGncvE063w+QcJnzU3KuBWN3mb3XY9kgzw6FXP94yTX8Yq0mhAM8QVATgGSLopc1p KN6Fx9hsPuBAAue40Zp8Q/l9fURdiqisAfv0j4CobSZYO/ZJcIzZsVeXRvghZgh4hsxEnVrbNU9 a9/cm/Ft3vdDlLwphf0Slx6e72k9k50PjFurzKuvdpIGTtqzQRAWZhRWJy6dnzBJRFQexwWsG/P ei0KTXFR1J/OWffHI9LtTStvcGVTDrVzsa6KSYd0IAaqAKQzSjsPbn9x4+OUVmEAtgfQhhh+Eb9 nzE863yrVkajeDX3+il/8nkYwg4Avj45MC/0ck/jbjfYWWYtA1fT0+QcFjkTQcB0DAY8VmOLUAc = X-Google-Smtp-Source: AGHT+IEWIU2a96xKy97Vw2OZbiqRo6ZsV5By1mOyMKGEerXJ25OnWhIdagB26u20PcByLRXKVw2xEw== X-Received: by 2002:a17:903:32c8:b0:223:2744:cb32 with SMTP id d9443c01a7336-22368f732b3mr142906935ad.5.1740839229452; Sat, 01 Mar 2025 06:27:09 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.27.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:27:08 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 11/18] wifi: brcm80211: Replace open-coded parity calculation with parity32() Date: Sat, 1 Mar 2025 22:24:02 +0800 Message-Id: <20250301142409.2513835-12-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity32() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu Acked-by: Arend van Spriel --- .../wireless/broadcom/brcm80211/brcmsmac/dma.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c index 80c35027787a..d1a1ecd97d42 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -283,21 +284,6 @@ struct dma_info { bool aligndesc_4k; }; -/* Check for odd number of 1's */ -static u32 parity32(__le32 data) -{ - /* no swap needed for counting 1's */ - u32 par_data = *(u32 *)&data; - - par_data ^= par_data >> 16; - par_data ^= par_data >> 8; - par_data ^= par_data >> 4; - par_data ^= par_data >> 2; - par_data ^= par_data >> 1; - - return par_data & 1; -} - static bool dma64_dd_parity(struct dma64desc *dd) { return parity32(dd->addrlow ^ dd->addrhigh ^ dd->ctrl1 ^ dd->ctrl2); From patchwork Sat Mar 1 14:24:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997568 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 0E066C282C6 for ; Sat, 1 Mar 2025 14:27:21 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 70F3B10E25A; Sat, 1 Mar 2025 14:27:21 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="a8aeFZ00"; dkim-atps=neutral Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by gabe.freedesktop.org (Postfix) with ESMTPS id B18B710E25A for ; Sat, 1 Mar 2025 14:27:20 +0000 (UTC) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2239c066347so1368565ad.2 for ; Sat, 01 Mar 2025 06:27:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839240; x=1741444040; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HQRFKAla41Ay10wYFnrS+X/WAyPF0gKgODKhC/FC/AE=; b=a8aeFZ00bzZ/3bsZudLofSFD9E4hxUfofcgKXbVCDKaP6U9fWTfB6OUTfj4W31pihx /Z6IFVLOXPCHmVeVJlJRoKgBdm4uO4jmXAanTYqODyn3mv/YOZ2OMfAlPDlGvG5MCyTh PMVmTwescr9HfWg+U7dAB8fcfskvHTqpl8D96Uz25e0SsmWxym3K8SaBkMgHKcEdjtJf h8iJYRUle1SgWuUGMpPUlI7ojcgo59bCrSvZjkf2oX4AaZn7++rlrkqgfMDiw392B8i0 qrnJ6Z7iD7j1xN04cribhE9wjTsv7L3EDJwv2+ZNStwh75eb2zC96m74ee4nDyMu/w7W gE4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839240; x=1741444040; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HQRFKAla41Ay10wYFnrS+X/WAyPF0gKgODKhC/FC/AE=; b=ihis0pn7WTg9gBItImLSc6msaWcdL8kViAIKCrtsxO401O9CaqbbvIX4siAEhwaWYi ySV0XVzipr+sUnQ/DsCl0HAGRmaCMV5lWukuX0Wcq0gJ9CkNDHDHNzuh1Ssr1BlwAs8a MSwVjN/gL0uTHMBrze4dvIKJlEa4H/tTMGZfOJ1F13EB5qbGSPIJk0gZCcNHOzS6U0bG BOKSQUJbhvYD1JdnizngVKq/G6ez6+3U//vQqqmmKhojiO0QDbmcWRgcqDVQQLUtjppu l6WA/9Au0FcXGNJZuS7r8Xgh7yjcqB6UQtwif4rh22Epg2DfPxK8al77Y7k7Wr19RgwG OfOQ== X-Forwarded-Encrypted: i=1; AJvYcCV/chvlOv87ttaMH23+6al8TFjoq93ZxKPD0DpLXI+C0LK8tZZmYy2uHLs1v0yksCJn8dLUuoj+5ek=@lists.freedesktop.org X-Gm-Message-State: AOJu0YzsHSNidOBJ3oYl9KkOw4eGTN2WJZkJvrHv1NgRkOXIM3Mg7V12 T76hF2kpEQQu2hMCqouhbFc1AtRK7u+cNbrHyG2SOSa4/qzpNlvk X-Gm-Gg: ASbGnctH7CJcprtGyZfh8HxJpDKhQ73t6bk6yjc6BbLOrToi9r/wYVpDkMGR1B5GPe6 JHK7heBi7uf4lPBVxVvV7pVClWh3se9nrnTwCmj3ZqDt0X1LebCUUiN9o4RvVG1rkKbeNSXLH9n pzDE5D1Tr6bLRc5l1Fo0ui3PjfQWmVwkTBBrb3rFLDV6ftAk6t/LsyCX8Iv2C5hhZ/lYySTit1r Usp43KpxKCbeHD2Ye4IUhaLJJI+Oyu0PD/WzTbB4txIStDLyKmBrSONVOwYnq0dpOhfWb4cv0qE zwYy7eagAp2hQkSnrwIuDjjG41Uyw1trGOij80I7Y/aWwXouoNiH/sDNkYDptiElvT7hx/8RorE = X-Google-Smtp-Source: AGHT+IFWKqiV0JEURaPP9WsTXinyvBYz5p+Da6Z0sy2B13n/BlJ3FGZeHRzY7pPlUCpj+eVU13KkqQ== X-Received: by 2002:a17:902:d4c6:b0:215:7446:2151 with SMTP id d9443c01a7336-22368f61abbmr99234975ad.4.1740839240264; Sat, 01 Mar 2025 06:27:20 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.27.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:27:18 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 12/18] drm/bridge: dw-hdmi: Replace open-coded parity calculation with parity32() Date: Sat, 1 Mar 2025 22:24:03 +0800 Message-Id: <20250301142409.2513835-13-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity32() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c index cf1f66b7b192..833e65f33483 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c @@ -4,6 +4,7 @@ * * Written and tested against the Designware HDMI Tx found in iMX6. */ +#include #include #include #include @@ -171,12 +172,7 @@ static void dw_hdmi_reformat_iec958(struct snd_dw_hdmi *dw, static u32 parity(u32 sample) { - sample ^= sample >> 16; - sample ^= sample >> 8; - sample ^= sample >> 4; - sample ^= sample >> 2; - sample ^= sample >> 1; - return (sample & 1) << 27; + return parity32(sample) << 27; } static void dw_hdmi_reformat_s24(struct snd_dw_hdmi *dw, From patchwork Sat Mar 1 14:24:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997569 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 8705BC282D1 for ; Sat, 1 Mar 2025 14:27:31 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 10C5510E263; Sat, 1 Mar 2025 14:27:31 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="OLm5MTcj"; dkim-atps=neutral Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5A1E010E263 for ; Sat, 1 Mar 2025 14:27:30 +0000 (UTC) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-223594b3c6dso51924855ad.2 for ; Sat, 01 Mar 2025 06:27:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839250; x=1741444050; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=M0fPaIWjdscIdDk4T1YIhhdJwaKRFyAzbGum2CZXkTo=; b=OLm5MTcjjzsidgKv/8MzcyORcwpPvUbW/X02VM0pUb3gBTWZw/SoDktki+bnjNRn11 JPI7fwJzBA7pzBdTH5HzGVBZpqTqK6tcjqw6uN6RvE0ff73qfqNXI2TTK6m7icrrGwZs 821Fx0NcemJPAtj2fFnJnDi2qlq2l0JZMv+N4+iW6R7dQQ5jmq8FvHMB49HzV/aMbW9X N9lKXgJz7BFwBDhS3MjI2e/v2ZRFT1acp9d1cBpNg6xcD/6eeDzmUD/EL5Z/X4zryjbW yqzMhd/0s+BVdguXUdnxe6vpGOEYkU0YjyNFEdgKrl7aBUUEsiUebe3LxOM+MJkzihZL dipA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839250; x=1741444050; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=M0fPaIWjdscIdDk4T1YIhhdJwaKRFyAzbGum2CZXkTo=; b=lGVaZmd5BBrg91gAN//OuxZRsNTCulwFkKSHhHS6IMc6Eg9RKgwsUH1Aobmyelqa7a 8s7yMXwse4v52yfo1rMAk02/JVmkEOFZflSODeBfupsLwoih9o2u47WhZzqve1pFySa2 ClINhJvR3Rp0GR88qdAMZzK11zDEaRQWR1oheZZJqusa7rRBgCIGDNYCAHDxefLt74Xk iApDg2vaI4hSPn+ddLMpHGU/EnsOw5tOK6TJugqOLOz+8IFDTYvuSCmSvAFuCVafuXyz 3/J+2XQ1krN7KTHiQHPMT8YExPEhqm1v+OF5UPa9O2xXvOIdxhmKJjrKIn2uu0cXl7y2 Ntfw== X-Forwarded-Encrypted: i=1; AJvYcCXy0YTYyu6qaBh0Ysq/TIN3lAbSZLXGw5oq1GCHWXzw23nnVvNfBZlNcmCnbYPS7VK+POhX18/N/84=@lists.freedesktop.org X-Gm-Message-State: AOJu0YyxJxLu+bWvTZMy1414MNKUHQNdR2i+YUIv8nXEaHFjDJraU5WM MpB8BnS8d5ISgCvamjUdaXjo43EehgMCXyYZlF/kdBjMaGNxJ9mq X-Gm-Gg: ASbGncvgO2FuAjEDTptRimoueMFtPZGpoS2Pau2+9QjDsGYspsOHblsTfAEtOBMGM+n a7bBQtEPAyEAx1IOGnqc7XLNuGyMc3kFIIor5yCl0bUxvYssBzf4UgPL5eojNQkoPs9bDmkGa1A CLTd7/Rsl+XvuqKf24Pwol+IjuFnXLWNsWhCjzib3g8GWC4GA8N6wCzO6Q1EI2eFmXe1x9GKRal GCjQAX00YcRcRmc6YQzQCxByoue2zEkMKNsAQRjMghNubVAv/Y7e5JkCc4wIZHoU7SXwmrwjh3z EZvZMsrzlODY3XAFyykiSGd/gOLV0r42Q/ojVSTNpn9CnLaS5EaisZwqR504gSReBoAlfHb1Q2A = X-Google-Smtp-Source: AGHT+IFMEc8dvlQQuKrdEq7g4EcMsmoDBk21A7+d2Y0BFwhyjxtIIjawJKqlgdflPWZNOKVAtnpI1w== X-Received: by 2002:a17:903:2ca:b0:21f:55e:ed71 with SMTP id d9443c01a7336-22368f6d002mr138003395ad.5.1740839249904; Sat, 01 Mar 2025 06:27:29 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.27.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:27:29 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 13/18] mtd: ssfdc: Replace open-coded parity calculation with parity32() Date: Sat, 1 Mar 2025 22:24:04 +0800 Message-Id: <20250301142409.2513835-14-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity32() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/mtd/ssfdc.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/drivers/mtd/ssfdc.c b/drivers/mtd/ssfdc.c index 46c01fa2ec46..e7f9e73da644 100644 --- a/drivers/mtd/ssfdc.c +++ b/drivers/mtd/ssfdc.c @@ -7,6 +7,7 @@ * Based on NTFL and MTDBLOCK_RO drivers */ +#include #include #include #include @@ -178,20 +179,6 @@ static int read_raw_oob(struct mtd_info *mtd, loff_t offs, uint8_t *buf) return 0; } -/* Parity calculator on a word of n bit size */ -static int get_parity(int number, int size) -{ - int k; - int parity; - - parity = 1; - for (k = 0; k < size; k++) { - parity += (number >> k); - parity &= 1; - } - return parity; -} - /* Read and validate the logical block address field stored in the OOB */ static int get_logical_address(uint8_t *oob_buf) { @@ -215,7 +202,7 @@ static int get_logical_address(uint8_t *oob_buf) block_address &= 0x7FF; block_address >>= 1; - if (get_parity(block_address, 10) != parity) { + if (parity32(block_address & 0x3ff) == parity) { pr_debug("SSFDC_RO: logical address field%d" "parity error(0x%04X)\n", j+1, block_address); From patchwork Sat Mar 1 14:24:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997570 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 4BFB8C021B8 for ; Sat, 1 Mar 2025 14:27:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C690810E25E; Sat, 1 Mar 2025 14:27:42 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="G2iPWBg1"; dkim-atps=neutral Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by gabe.freedesktop.org (Postfix) with ESMTPS id EAF7F10E25E for ; Sat, 1 Mar 2025 14:27:41 +0000 (UTC) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2239aa5da08so1672945ad.3 for ; Sat, 01 Mar 2025 06:27:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839261; x=1741444061; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gCIStMwChzl4Z+E/b6UIovNeeE8MF3lkiK/lI/bZwfc=; b=G2iPWBg15fIytt23EgAUi+A6W+KTaqSQoaCRRdUzkJRz2iN9smbAO6cJPCB/5/epNY yu3zRzu9FmwQvL0I1/cS/gCKk6uKQoW77mqzDYxf7UEws/L43/aLeIoFYbW5/l7NfF62 kg4QH7qhE5WcxTlFDkZMiVyuwQrQMm68qgat4TvoQdMsGOpAsAm1TceuL7DxTt42i118 rZ48ISo5I1zyzXo3tUYuczydw8kCfX/bG0exEEcbs8hC5Yd0rRkzlzULN2q9KLFEjJIA 5opzi1mbG5cHagh1YAl0KZ6ebyr5s4x0oK6Vt9HQ3YA5KNOPMrT/EQuMUjOzgjYZDg9T Qvsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839261; x=1741444061; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gCIStMwChzl4Z+E/b6UIovNeeE8MF3lkiK/lI/bZwfc=; b=b2kWcmd51xyXV4c5jK90OH+uc7fi22zwzYTzKX+K50U26vBpZENiQ0bxLeV/gt09TS AeTWEV9pKSMva1VYhWiIQZZ5GDbRorDtXvQJyWfQDRRMPlgO7WIeuQNg4UHTTRFkhhIx pFkFyxfbtFpUQBJ3iuFpwWGBbt5aIlTaPz5FKaOmAWPwL4UwV4kaNAgxRwP6O/632YmK lQSIIZnT+Qoom0PyskpSM9ZWQIMAhpeS0pG8tWmDbC+EvlDwZGJhlGjTP6uzX1c0B0Sz paYBTFT/Ngn0lii42BxUdKN2qmRQR4+mN3eRJN0XzuZr4dBNVXkHoQvwHMdnd25iU5uY GJPQ== X-Forwarded-Encrypted: i=1; AJvYcCU2zziyLNssNVPcxGaNJm7tT4UvJV8/wp84BFmRCry9aH5prcFqSAsY5Nu+ZHVXCQpAnyktZuKvImg=@lists.freedesktop.org X-Gm-Message-State: AOJu0YyGaOxrDHjQZayUNM9KUfkO5Ht1xQGGlzluT7U4fMi/ZNsVUesP zH/WsiiJG3ANr4EbvCRceTpB7GQvTuUTpVuOut9O5oAuI7Syj8nz X-Gm-Gg: ASbGncupwb+LukhEjCv8+CPl97Dn/ByTOJRFQbICxoNBoPYFo5VnQirPB9lC+r1Zy91 6zfzx+IU1VPkO+2hfC2gVFqxATgz8sd8Js4ptkpAKn6RYPPkwSYsGkUq4BmHGwgB+tcTymWCOzr ATk/SQLDdSnUHZS/YRbibvh9JHgm5F+IAl3Hz+PxiLBlfNrWqIaT4COr5tgBuzgKB5R2oE2vc9B NobybMt2AC6fdKSkHu5WB+ulXgC38Mm68pcAjnKjFKuInpEgYuodR1DRyU7vTxV+2lmre1jMI+o p0mbF3pDQCELJ9Wdx6yqtf1qqyTx/c1Jv+sqQhzC4npqoEj8b12JlRvuAUQJh+0ZobMHbytRfmc = X-Google-Smtp-Source: AGHT+IFiFnyov77ut9ZE0KvFExTJSaeHLpVxCuPiHzGuQy81Az6d7l02LfGDhYVm8qdT93KSy9qqzw== X-Received: by 2002:a17:902:ce91:b0:223:64bb:f657 with SMTP id d9443c01a7336-2236922352bmr101615155ad.46.1740839261506; Sat, 01 Mar 2025 06:27:41 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.27.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:27:40 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 14/18] fsi: i2cr: Replace open-coded parity calculation with parity32() Date: Sat, 1 Mar 2025 22:24:05 +0800 Message-Id: <20250301142409.2513835-15-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity32() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/fsi/fsi-master-i2cr.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/fsi/fsi-master-i2cr.c b/drivers/fsi/fsi-master-i2cr.c index 40f1f4d231e5..8212b99ab2f9 100644 --- a/drivers/fsi/fsi-master-i2cr.c +++ b/drivers/fsi/fsi-master-i2cr.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (C) IBM Corporation 2023 */ +#include #include #include #include @@ -38,14 +39,7 @@ static const u8 i2cr_cfam[] = { static bool i2cr_check_parity32(u32 v, bool parity) { - u32 i; - - for (i = 0; i < 32; ++i) { - if (v & (1u << i)) - parity = !parity; - } - - return parity; + return parity ^ parity32(v); } static bool i2cr_check_parity64(u64 v) From patchwork Sat Mar 1 14:24:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997571 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 C489CC282C6 for ; Sat, 1 Mar 2025 14:27:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4E22F10E267; Sat, 1 Mar 2025 14:27:53 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZRlMajAy"; dkim-atps=neutral Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8660910E267 for ; Sat, 1 Mar 2025 14:27:52 +0000 (UTC) Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2234bec7192so28695235ad.2 for ; Sat, 01 Mar 2025 06:27:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839272; x=1741444072; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=H92cNXD8ivdLBJu7PZvS/WlFHsCPSxa0jaZByFXEmx4=; b=ZRlMajAysbOSQ91j4xtYU9PSGHrFBoRzAANBMHhOsGif0hd95ZJwKdCvyPracZFf+8 wzvFtZ5A1w731xsHxL1A1WmYC6VX6HYV0G2rPVtNlJat2ShSjlQAYicQPsk/WBeJCpHD 6qMgjfompak6FOQ7SKQAN6Jc9fKHrNOPlC4f7+1etOXqfNExreCUZbFx2aahikli87o1 PO5F0QjtLX6gOpHzpJsKACYjHxgbsYMuMqYQpXWfke/RPWAoAMNyUIJqlUlzfl4QY+sS Cdf4/stok0NLSUJQlMN0xmQJt4ayEvAgFGqnXPZTae4blRSVbQPPVi5vvnqSw64/vmp5 SY1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839272; x=1741444072; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H92cNXD8ivdLBJu7PZvS/WlFHsCPSxa0jaZByFXEmx4=; b=LYDQ/RforLqF66x95eXIU1kkhdvpU2ZFbegSaFhmuxZ0M77K3yf8u+eYvRNmQ8nQXx ZgWLln6l7EjkCfI6IsoAx2JT4sXNRBxvEi6roxC/damq8A4QdlX2hadWP1SrDyl5+E8q YQijSaBF7tJfuZRm0Iz1ENfaVvHRnf2On6uvy2RvtBBEt4taYU5yt2RsHymdLbdm1Yj7 MV3Sv1H32YPuaDK4zJnFBCq2UCgvje2yoHkq/WN27h0oz6BynYsQJSKcVVwMIZZwMvR0 1x3B8q0FFHucQPbt0bwycdl8RnqIv6WMdQ+Xh9qwKPX8JACoUlL3j1qiMleKi9pOd/g/ H6hA== X-Forwarded-Encrypted: i=1; AJvYcCVNcXh2fFkrZPxz1k8v81dIdDGDrHVCOOZy1s00K+mtDRHyIUCegKgDtVYRicQBWe91pDhQbTA+zSA=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yzan17p7lOkrWZFAW9ZtoW3hI2DJcGFTPQQCLgaY4ridpJIyyM8 GeWvDTbc2jHazbGrp9uqtDfYJMb2ZnG+rTfhGe2HKN1yJzvG0pjy X-Gm-Gg: ASbGncs3nJaVpAQpIQn9H7cHE6JXJL1HZ+w+O1BQhbkVGYNS+cH10LXeE9AF8vH5526 o4nYUMTxmpiUKw167NiIPJzJLkYbco0gbkb+biwHxuj1h/PipXJagmR0LDmRDWH2qPtuqY3YfLD OTVUureTaToxXSDH8xeI2MV8XJWJ0uWFS0hrM+Zjs4PBEu0cjBXUGYxhs4OGuP4n3tWJ3wssSh/ otkQXqphhs32504Kx5s6Z31/Ka7uImipZzq9bFlwWsrglLXayY+bOdrAOiR3gdIChjLeO8mTFdp 9ji0CjsBDKYQiXecINYoLl/vW+mr1/zvPAH8uHrucxsFvEocUSy1JFejZgcmqGSH84r4Vk7ogUI = X-Google-Smtp-Source: AGHT+IFJ7v56//ubfe5SZfIgarRaf2kt414B71bZC0lL5Jm/hhEy1S8FPvdkgRl1jpN6UW8NLO4j1Q== X-Received: by 2002:a17:902:e5ca:b0:223:894e:4376 with SMTP id d9443c01a7336-223894e454dmr21360135ad.43.1740839272112; Sat, 01 Mar 2025 06:27:52 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.27.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:27:51 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 15/18] fsi: i2cr: Replace open-coded parity calculation with parity64() Date: Sat, 1 Mar 2025 22:24:06 +0800 Message-Id: <20250301142409.2513835-16-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity64() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/fsi/fsi-master-i2cr.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/fsi/fsi-master-i2cr.c b/drivers/fsi/fsi-master-i2cr.c index 8212b99ab2f9..8f558b7c6dbc 100644 --- a/drivers/fsi/fsi-master-i2cr.c +++ b/drivers/fsi/fsi-master-i2cr.c @@ -44,15 +44,9 @@ static bool i2cr_check_parity32(u32 v, bool parity) static bool i2cr_check_parity64(u64 v) { - u32 i; bool parity = I2CR_INITIAL_PARITY; - for (i = 0; i < 64; ++i) { - if (v & (1llu << i)) - parity = !parity; - } - - return parity; + return parity ^ parity64(v); } static u32 i2cr_get_command(u32 address, bool parity) From patchwork Sat Mar 1 14:24:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997572 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 2898EC282C6 for ; Sat, 1 Mar 2025 14:28:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AB61510E26C; Sat, 1 Mar 2025 14:28:03 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Q9Cd+zzQ"; dkim-atps=neutral Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by gabe.freedesktop.org (Postfix) with ESMTPS id 495E510E26C for ; Sat, 1 Mar 2025 14:28:02 +0000 (UTC) Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2232aead377so58835075ad.0 for ; Sat, 01 Mar 2025 06:28:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839282; x=1741444082; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rykqQnwPkGRFwR5KILLeuUxXhWjh1d/Lo2VO4W9LQtQ=; b=Q9Cd+zzQrC+W203SyNKbAjGP//Z3ubmXlAYM54RB5iXWsuvGAxwgw/rzbclrZkCjnt j6i8DS6qE1IroRm2nIUKmsPtHq3+6EOjG0ebwIk96OgJI8p0gW+sFCCrG1PuUdWJ0A33 MwUgk6XAIi9igzBBBapceCw8ADFX8eDt0gvyOmyJycJj5PgNEJko5Sq2pAh1tb7xUIff JAiiw7dyfnlDMJiHdh7zvvdoa1aW2hhCcPJLtmUaYqSVEMA+eMgkvyqK1EMxM4T58o3L 0EZSd4xr3nSiOGStSTVmuvFI51g+wEsJMxjcm/FTqW/qBXVyVEVoTn9b9oJGUzCRIzIP zF0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839282; x=1741444082; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rykqQnwPkGRFwR5KILLeuUxXhWjh1d/Lo2VO4W9LQtQ=; b=ulKbYS2rNYWupiyIlLUIHS6mscBGhwq9W8lTR3pmmL7wHjQ9TobZNXQ6LuVtrIo40J hSyJCa6xsjyvlPLI/2+ffQKXXxPE6Jzg0AAjjXC9xPdGMI+2fi1G1M4IL3V/ruNRjyz5 YPu2RJbTvG//PMI7eeMG1U3KucOvE1egAwDjBoYEWmLurBTB8R2s17tUUbDe9iq+hTqp F19XamsOxYYMEqBEqhBIha9BxvR7KtlfBKQhZ+/MxdXO8P8QGGZXqIbk4hiQonY1UvLr yze+OhVAwN1mr6cOELnf50NVXwB00hPj0xp7oOsJQtkxNjhu9ZOwbdrQ5Mcg7L6FKBwe pyDA== X-Forwarded-Encrypted: i=1; AJvYcCXw9VwraWRjxqRNc+mlaYyns3Au0J4DSybSTYAxvAXPY0ar5TLfUc0D+ZcDOgyzfuKFjoB8M6zKA0M=@lists.freedesktop.org X-Gm-Message-State: AOJu0YzlDpJ2V3AHfB5VjEjkXlFC4HprujqBEI7axJ64VYF2vxGYHnbZ P0PZpS0mN8/HdtjvuYqAEHGW185U6bj0MxqN7vhBCJ3WBDgh20vJ X-Gm-Gg: ASbGncuT8MKPyIZEtodGfWC+O4ZeUV0Mm7qlFpFxWwpTwwap+TgZm7U7kw+4aCtdgIG ycSh9gxDDuX3yJUyud7MalkT13VHZuSon8NIG84JcQ9RpODChOJ2Xfbfgt9vdEQnninkQhikNAw CN7Q5Tadta5UROr9Kfy1R1rBZ2LoLVmzZCyvO27k2oqRYqdhXWkqB3FMW7iE9Uq3DmquFUT43m/ xuR1oExt0LjoYCFgwxY+qLDV6Ku+hvxjBVQ4e5/xwuxHTrQjE16FDXhJucHxMoRMCY0mE7oOk8j OSUQguoXwyX2hHErh+HNPv9duhJgReGUJz+QsUhk3IwYr4tjwwNkmN8cP/WxSeeH2THmlBMOtRY = X-Google-Smtp-Source: AGHT+IE6Wlnx/zKBNSK8vHDH90VpNnFUcC/6AIsKwE//R5+rZAZsk6Mdwf+K5eJJM57bLHOOu0BXag== X-Received: by 2002:a17:903:f86:b0:223:536d:f67b with SMTP id d9443c01a7336-2236920780dmr123851985ad.38.1740839281880; Sat, 01 Mar 2025 06:28:01 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.27.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:28:01 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 16/18] Input: joystick - Replace open-coded parity calculation with parity64() Date: Sat, 1 Mar 2025 22:24:07 +0800 Message-Id: <20250301142409.2513835-17-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity64() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/input/joystick/sidewinder.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/drivers/input/joystick/sidewinder.c b/drivers/input/joystick/sidewinder.c index 3a5873e5fcb3..9fe980096f70 100644 --- a/drivers/input/joystick/sidewinder.c +++ b/drivers/input/joystick/sidewinder.c @@ -7,6 +7,7 @@ * Microsoft SideWinder joystick family driver for Linux */ +#include #include #include #include @@ -240,21 +241,6 @@ static void sw_init_digital(struct gameport *gameport) local_irq_restore(flags); } -/* - * sw_parity() computes parity of __u64 - */ - -static int sw_parity(__u64 t) -{ - int x = t ^ (t >> 32); - - x ^= x >> 16; - x ^= x >> 8; - x ^= x >> 4; - x ^= x >> 2; - x ^= x >> 1; - return x & 1; -} /* * sw_ccheck() checks synchronization bits and computes checksum of nibbles. @@ -316,7 +302,7 @@ static int sw_parse(unsigned char *buf, struct sw *sw) for (i = 0; i < sw->number; i ++) { - if (sw_parity(GB(i*15,15))) + if (parity64(GB(i*15,15))) return -1; input_report_abs(sw->dev[i], ABS_X, GB(i*15+3,1) - GB(i*15+2,1)); @@ -333,7 +319,7 @@ static int sw_parse(unsigned char *buf, struct sw *sw) case SW_ID_PP: case SW_ID_FFP: - if (!sw_parity(GB(0,48)) || (hat = GB(42,4)) > 8) + if (!parity64(GB(0,48)) || (hat = GB(42,4)) > 8) return -1; dev = sw->dev[0]; @@ -354,7 +340,7 @@ static int sw_parse(unsigned char *buf, struct sw *sw) case SW_ID_FSP: - if (!sw_parity(GB(0,43)) || (hat = GB(28,4)) > 8) + if (!parity64(GB(0,43)) || (hat = GB(28,4)) > 8) return -1; dev = sw->dev[0]; @@ -379,7 +365,7 @@ static int sw_parse(unsigned char *buf, struct sw *sw) case SW_ID_FFW: - if (!sw_parity(GB(0,33))) + if (!parity64(GB(0,33))) return -1; dev = sw->dev[0]; From patchwork Sat Mar 1 14:24:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997573 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 D8804C021B8 for ; Sat, 1 Mar 2025 14:28:13 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6021710E271; Sat, 1 Mar 2025 14:28:13 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hdrL3RfT"; dkim-atps=neutral Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6DEF310E270 for ; Sat, 1 Mar 2025 14:28:12 +0000 (UTC) Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-22339936bbfso46315495ad.1 for ; Sat, 01 Mar 2025 06:28:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839292; x=1741444092; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nzBrmzWckDIJwY51QBb0mQJ5Dqo6Ldx+jMH0V0Ck8/w=; b=hdrL3RfT1Wx+jVb2/QGxJgURqe8vzRgzzmiRAyGyjv51jiLJTShEZssakby/Ypd3fb hoE8t9+kJ8Yr83TF2qvI6987gjCflbbBzOs0vcckMbKsQx12G49W60VGhhbJ/MXNNvNS LOJIwD0mvaKBxIX77GIYMFQ9X5mYuqbMPZpiJZ3aFVJyGJhR9EhxTmHZHopW4Oyh0M4a KjwrUb5JR42MKEcKrQcfrUh8evpyPdwIKoPbEWZWp+XhtvwlI0e6ttXfoxTRPlvMi3Cq x6QKGBlLOlTfQChplpvb09vEhBSXyVPnE4bUgaG+CuCxwynRjEWa9KLvFJJC0oKwdEMq 7qIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839292; x=1741444092; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nzBrmzWckDIJwY51QBb0mQJ5Dqo6Ldx+jMH0V0Ck8/w=; b=CNaMMWMBGO6VRPqnxqt718C5mw3y/mGd4s1gOY6Gx9u39735Adj32R19RP8Eye9hkQ SVhmZxqVje3r+dLQROT4IHzm30EEvexKJ+iCRs8sN/1Mvjbkg1ZGPg8WKarsQkV3s7vW SSWEu82No74i87J2X03nnQ1W8+wi8jkZ+JDrRb3Hog6aKeJdOwbxmaxmKd3IIy9J08x+ DLxwk+Sc0dIwYyphEAcz8cEL3qrJt7JyrGPKrtBRq++aoPgjb+ufIOAnIf5QMxCCdfbY xbMQg7ZUc3eOBlJ1pcg2GoF/Ben+piOAyi340lNkA1NA2uToIfbqQnT/qwv6flK54QVj ghjQ== X-Forwarded-Encrypted: i=1; AJvYcCXRk8P63kabdylN4S9nxSEYEZ/ggFup3Q7Jf663orTyMnkbWctbMgpK2Mxrako6yUGqz3Cikiko9Bc=@lists.freedesktop.org X-Gm-Message-State: AOJu0YxHVtpnr6phYu29pICxSMagkYulKbTNuYDDw7ziaELCwsqGAXAa saD/tF2Zn6GAqAf4C/B8UgC8aZ5EhJPgaRNE+sbKt5fIENGtbuvn X-Gm-Gg: ASbGnctFsJJ4Gj9YIQYZrZWPOcBu1xCXumkcIgl5GaVJMO4h9ebW5Jfa8UHj591ApGx XhP+RvmiEzLZ5a5zFLkY/DS6U8W4esvHxUixt8CeFoaOsRwwbPw6awqMyqk5VxmtVfYBPwpoS0P M/9gkYxsisRVa6AxsyePEOME5Po5CmDEhZCcBfOFwkZopnQ2iFwl1zBN+yxyTZS23guDW0EvIU+ dlIbXtidmR+VhgP6k9/Vuz8DWQNoh28Y0XjsMSxXuQrk7dvtF84WLLvwhAo/ASc1B2Ekzti/W+s ti1NdWriUvL7vdjeAVHyP6xMKSQ+syRD+HVczX8sdwro/NsGbH3AeXo8PZT/9zt2vrgW355SBS8 = X-Google-Smtp-Source: AGHT+IHOy6Wv/sKHhRUGc/3EBAQcCBF/SI4YUeW7LDGDR7+GStKywND2M264p9e2dxtzneP/WiNrxQ== X-Received: by 2002:a17:903:fa5:b0:220:f40c:71e9 with SMTP id d9443c01a7336-22368f71f0dmr96371785ad.9.1740839291945; Sat, 01 Mar 2025 06:28:11 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.28.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:28:11 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 17/18] nfp: bpf: Replace open-coded parity calculation with parity64() Date: Sat, 1 Mar 2025 22:24:08 +0800 Message-Id: <20250301142409.2513835-18-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Refactor parity calculations to use the standard parity64() helper. This change eliminates redundant implementations and improves code efficiency. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- drivers/net/ethernet/netronome/nfp/nfp_asm.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_asm.c b/drivers/net/ethernet/netronome/nfp/nfp_asm.c index 154399c5453f..3646f84a6e8c 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_asm.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_asm.c @@ -295,11 +295,6 @@ static const u64 nfp_ustore_ecc_polynomials[NFP_USTORE_ECC_POLY_WORDS] = { 0x0daf69a46910ULL, }; -static bool parity(u64 value) -{ - return hweight64(value) & 1; -} - int nfp_ustore_check_valid_no_ecc(u64 insn) { if (insn & ~GENMASK_ULL(NFP_USTORE_OP_BITS, 0)) @@ -314,7 +309,7 @@ u64 nfp_ustore_calc_ecc_insn(u64 insn) int i; for (i = 0; i < NFP_USTORE_ECC_POLY_WORDS; i++) - ecc |= parity(nfp_ustore_ecc_polynomials[i] & insn) << i; + ecc |= parity64(nfp_ustore_ecc_polynomials[i] & insn) << i; return insn | (u64)ecc << NFP_USTORE_OP_BITS; } From patchwork Sat Mar 1 14:24:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuan-Wei Chiu X-Patchwork-Id: 13997574 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 CC73BC282C6 for ; Sat, 1 Mar 2025 14:28:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5ADEF10E270; Sat, 1 Mar 2025 14:28:25 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="euEh2UzZ"; dkim-atps=neutral Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by gabe.freedesktop.org (Postfix) with ESMTPS id E6C9C10E273 for ; Sat, 1 Mar 2025 14:28:23 +0000 (UTC) Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2235908a30aso28682815ad.3 for ; Sat, 01 Mar 2025 06:28:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839303; x=1741444103; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=U+YDx3nsS23nFYRYOsOtDL2pw2M9KWSnqwRamUvuzKU=; b=euEh2UzZVHxMcAS8JVv+eJjBSUB0oiJlpDwV7C2Qh1gp2SzUGQ6mCmS5vgXIrgUgYw ECt67P5aVfDV66BG+pfva86wPvum/1zEdZa+cF+wq3pPigzPGzqG0XbVT2/sbnNpU/lf SWFVRbD0X/bFMc4V6RjORYv1VAcmXdcI4MJaFClWceOYhKsBmZMW60QSuBliErR4/xcY XDdHkIemE8CZpdaofy1HylDcVphH8q3oqjfNdbLZzVl+PwAHuDZaIUDeFbSMONIOEa3+ aVotEC+eWWsiz5HrvyhMrJDiWe3g4HKuCcai24KUXQ3SaGpNNLZbW3aX01rw7/q/6Sqs +M1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740839303; x=1741444103; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U+YDx3nsS23nFYRYOsOtDL2pw2M9KWSnqwRamUvuzKU=; b=Iz6wWPK+jor4TDrGqr4FS5yRZZt/Jws2Jii3WJ0jw00ikBouWgHReL02fIh+Dmw15O jwu1EdLOiiwWxasrKJHlgUQsp72Tnx51CybCyIen0Z43GUBzm3u9t+ifKQOkKWAtGHqj 9feE8FdREt1A6fUekcyYAag5u+g+ZHVchtiIGeWPhvKVqhsWGt8cnLfmMtMHxxJvwxRX TzAQ8Si0G9n6CUdNF7hH4GICSeBad9/+WfBjWkBUm52Yi5oaAmUp1ZLT6t8SSutoxNPW 0nJQ8QfSi82DNK5nwlXGUNMwXHle50XhCGQ+bYTN6Ob8nJcg8z2DRNCgMDbenaLzUUQs 3+xA== X-Forwarded-Encrypted: i=1; AJvYcCUlymAospOlY7ViY858Bwjdet9Ckudtfaqsj8X4em2XBuFv1zM611A3AjwxidJfn2D4+WDmSJyFTOI=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yyh0/j6VogUa9ZZseDpUWHb7Yc9bt12YkmlbfxmtnoNIVVhjIL4 6XMyDvhu7heUGTIY5Hy3PYYAAiukLaa/9w5A3RV/2QiZwwB5DuBc X-Gm-Gg: ASbGncuBV/4Cr/y1rHc7GbDn2uwPOVKhxt6sPGe/VWyMqcbHyCFrrD5d1JnvC1Gcmdx HD3owD2NdrGVe3bMKXUEy5P10kct2ieSnrj43DJTee/nJO1PSJMT/yRMv3pZRbUAxbT5J7/ep1l 7oY6gUzFlkU4RFwFBJ4T2I73F/vigC8zSdO4bQwlkv+1uW7kFSrVZ6AZd1rGdsnT91sp2EYAnup FrdxykaZnR2SZuvHTjEc3Dekbw3O6eJfjGbFYbfhjte4ELteU6OWASQJDbyw0ZzS27tVGGP2D6J 3c4xqf849QJRazx2GjXMYxK/9xQoTIjBa2MucC2ITk3DuiMa5au9PGyVJA+zk+87Rx09/FblpVo = X-Google-Smtp-Source: AGHT+IGhHD61bMoj/kNCGfxuoRIMfZUbm2G8Vzi7r2Cl3xtga31v9ygF/WbFM3AD1XuJUCHC8w75/Q== X-Received: by 2002:a17:903:41cf:b0:21f:164d:93fe with SMTP id d9443c01a7336-2236922174bmr117354565ad.53.1740839303516; Sat, 01 Mar 2025 06:28:23 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501fa8f1sm49231965ad.90.2025.03.01.06.28.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 06:28:22 -0800 (PST) From: Kuan-Wei Chiu To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, jk@ozlabs.org, joel@jms.id.au, eajames@linux.ibm.com, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dmitry.torokhov@gmail.com, mchehab@kernel.org, awalls@md.metrocast.net, hverkuil@xs4all.nl, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, louis.peens@corigine.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, parthiban.veerasooran@microchip.com, arend.vanspriel@broadcom.com, johannes@sipsolutions.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, yury.norov@gmail.com, akpm@linux-foundation.org Cc: hpa@zytor.com, alistair@popple.id.au, linux@rasmusvillemoes.dk, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, kuba@kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, dri-devel@lists.freedesktop.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, oss-drivers@corigine.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-serial@vger.kernel.org, bpf@vger.kernel.org, jserv@ccns.ncku.edu.tw, david.laight.linux@gmail.com, andrew.cooper3@citrix.com, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v2 18/18] bitops: Add parity() macro for automatic type-based selection Date: Sat, 1 Mar 2025 22:24:09 +0800 Message-Id: <20250301142409.2513835-19-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250301142409.2513835-1-visitorckw@gmail.com> References: <20250301142409.2513835-1-visitorckw@gmail.com> MIME-Version: 1.0 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" Introduce the parity() macro, which selects the appropriate parity function (parity8(), parity16(), parity32(), or parity64()) based on the size of the input type. This improves usability by allowing a generic parity calculation without requiring explicit function selection. If the input type does not match the supported sizes, BUILD_BUG() is triggered to catch invalid usage at compile time. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- Place this patch last in the series to avoid compilation errors. include/linux/bitops.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 41e9e7fb894b..fa4e45741dff 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -339,6 +339,28 @@ static inline __attribute_const__ int parity64(u64 val) return __builtin_constant_p(val) ? _parity_const(val) : _parity64(val); } +#define parity(val) \ +({ \ + int __ret; \ + switch (BITS_PER_TYPE(val)) { \ + case 64: \ + __ret = parity64(val); \ + break; \ + case 32: \ + __ret = parity32(val); \ + break; \ + case 16: \ + __ret = parity16(val); \ + break; \ + case 8: \ + __ret = parity8(val); \ + break; \ + default: \ + BUILD_BUG(); \ + } \ + __ret; \ +}) + /** * __ffs64 - find first set bit in a 64 bit word * @word: The 64 bit word