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: 13997500 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA2881E0DEB; Sat, 1 Mar 2025 14:25:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839128; cv=none; b=paA+xThdKQ+OhIt/BY1JvDcnA9tZmR/1MdFwZDDSqHm7c/ci3CzhWa7Vgpq7bZnhwCK2kOfCT4olCXzOTkTPvYzlOuUzjlJufAN2Ak0oZSkDYpTATSGzOJ/j0sAPaU9lIWJDofhby0hUABKs4NOdJEPr2kvLfZyQjGAStBQMn4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839128; c=relaxed/simple; bh=ba2kUP6U2nQhwPc/YT5wm25vzRDR53W9pxGrlJ+24E4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hwPQu8U12uYNRyu9E20Ax1nYFnRRmO0Y/7/C03KXd71K5slr3OVjtsqzYnXbuHww2TNVrqk1GbvKyHcdnASvzEwZuzHOtaHJfvMGgym5KDj/SAy+Ao6bKPthTv/Q4CsVCjFT6fhoggzwMIgXn3cMkuo/pbhMLBj+Fwwy8Y00JdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Udp6PF9O; arc=none smtp.client-ip=209.85.214.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Udp6PF9O" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-22374f56453so33955975ad.0; 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=vger.kernel.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=Udp6PF9OBFT4BFNijpgFvxxM/4YjjDk1D3/aVSTk8BKAg83UKEU403QZO/GWUu0LIZ FklY35ZaS3TkjZpYoVpL90hXLGJbwRnt9ooSlC4NI7HT4SMJouK+zWPMCBgQ8ZK9nxj2 66LwRxzPcnSxQn66srJxzqbzY0mhGApR02ZXPJBp8odLLVk4rp5y/++4sE44OxkYkW46 P1AHzseNS/xxxOnJlS4HaYsB9bFg2g1UXJmzmUsUeCwW4C3x2IZhiss7dfpdYctJOEez qhITyWBBpka2ItJU80U4M1zHxKhubgX6O2GmU5JBANjM01VkonaHjYvdwLnWmlm/ovEr 2SDA== 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=h2w9mUoeNEQuXRsn2MIlrOi01lh1B5qfHcQ2jr8B1f3VlBNbxuF7VJbpqH+B3H71Ya kcJpzFH58pRRssoRYneittz7hbcBl2HmcrVpNIJPaU8II/R5dfmTIm0qIXIQC5JytBOi MibxiJnlZWwjcKweVHdlUtvKW7g4cbRRwiY/sM5I31lRNroLQrb0N6Q717YiY/gzNp5C g1fnY74pry2J5m+cVBpO/TYpI9a9zNqrNBzOXKyzSqpFmXBr/8nKB8+syMBIxssqrRu3 Ocjq811i2C8EJRhtvV0QYPlmDRWGOzY3+8DXhoGVXv39qb60Yt2xjFwkSjeapqBvVBpP H2nA== X-Forwarded-Encrypted: i=1; AJvYcCUOSNDYOcGjdx3hv046YnHhmSVKF8t25tDzbv168AoikVvZiXtnFURXWcFtWXUsea6zvIU=@vger.kernel.org, AJvYcCVA48pG0eQt5IRe6xiWTSk4m6DB6iPVHjxDpGuEz+D+9LVu0/E58ELK3qjaB1/rKxq1Ttt/9gRP8yvP9DepkOc=@vger.kernel.org, AJvYcCW2AJJVOVCe/JNt8r+nQ4KkQoI1eWK1PtAfenyMid/UAWcOy8GKHvGH3FbktAd+OGBHBPQhXx157wMCnXQ=@vger.kernel.org, AJvYcCWelHCpHxGo8jNZuEJw8ko2s+i6wOfNhbrzo1hlkw5PRqlv/83coRzoE9Gq5vhOnLe7tcD916e2Muclobao@vger.kernel.org, AJvYcCXESg+tl1nOp6QkkvtZrocbKkyoLe2Hgx7wobGabfShskSwOJllPefA7WvieoEF5W/wsdJLLwqV@vger.kernel.org, AJvYcCXFZE7HFd33tneczSLiYTGj0lTEF+6bNl11e6aqL3sQy3VN82+p9g1tc2Vf2dvFU3fOgSE/hTecDg945gI/@vger.kernel.org, AJvYcCXfyRf1dyMAggMocE0g4GFQe5crAvNSXboISqwX+9GXNeqOR/291VOM9+lD+SHDGrcvyre37CMnC68vBm4=@vger.kernel.org X-Gm-Message-State: AOJu0Yw/ITDaIDcFhG6stfcK24Ksi2beCeTbZVOOcIwmEXy17kUUhmGi lObUHdcL7erw2RRjXsidVt0eRPs3Uj/kJFnuLNpfP+BrLv6Xhwtp X-Gm-Gg: ASbGnctwsndmh3eKYrEIHv+w3EADDf77BIea+NVr2BSzBfbRxa3x8xb2HE/7brK28ec fzPWZgHZ71WXJoMtqZkZsctS3UlYpLqp6E2Bc0S0NXhYRjoaX69IyiWeKKkfKB9t1GKe3TlG105 dBApKu9f+v2luYAwJ9JjkRAUC3XOElN2ZhNrhZ8Uv1OPyqHiBPPZxhA/sHMDufIB14VugYMn69c uboFURWvD5wRHzX5HeCGSFSMH17zMSHlmJg/Xtl5jfFFBheqFJMgGSCdDyTDGFa+RotPPLBtDLl m2JQmLcHCNemHSRoKw28wT9SHpmsjGLmqhuxPw7QgL2xRqBO+jOGQbIHdmmYioGYP4f6ZJdrE1g = 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> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997501 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58B841E1035; Sat, 1 Mar 2025 14:25:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839138; cv=none; b=hHRbGk6auDW9YSWcmlyYb/w9IoIEKw4lYFloNpWbN82QqBVA3V9kfjx7um+YAr4yI4LitxcEGFSOrRwK/aKu7rJQdXQrnpS6DadGAxMxMJv+kAy3GWxM9wSf83tW8Wje1jVzE5RqSSSTbrvBhlgVT248EtNr+DxQt864sKX5eBg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839138; c=relaxed/simple; bh=Hp0hGvKZ6hZDXmPlOHysECp6knm016n56jHAcRs/TUw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OFgU2Ght9hCN8eB5JULOStFjNJUpZc1OtACZnQdmXWulX+8+8K8ohiBJe1d4EhwWi0PllXrsxelREJyH/4boSreKCprOu/Lsu5S8XYOn8QvQsvKbUgyqRFI0zkgPSG4M7jTttL643E4kuTefxSAqi3fXp1etcLUMw83WE/6b5S8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Ila2gCMq; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ila2gCMq" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2235c5818a3so14252465ad.1; 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=vger.kernel.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=Ila2gCMqseDR5iVkDO7r1OGs4Bgpoz/J8Or7WZ0pzhB5QvCv3SeHozd562ZEFXYdmZ njtKSkJCejp7tflxcdeNR8h1TjeMqXtLGuvZ/yUoIz1kYGVyTQxVIAk+MAcHQSDSPXUI qxUxI1L78mRXL+0YSQa+bQmqQKjU0qN/HyYjEUBtwzUPRphx4m+QTfiXzZSH6O5BCDOW ok2GstzTSX5iKxn6KW1rtDoQ3zJiORFSD0M4D5HugyPLDrtj+xf5BQ8+/doPGLWpo0Pr FIOtkfNqA1X/U0h41Ghs01Zjc04o54uZGjSvF5q9uQM1EbamnrcOfuSJZEihdAiTSm64 s/mQ== 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=EKGDm+UXYnFg/LH6IwoEixyiTDsZXJjg0PoB4egFVFD/1bW6zX1akUd+6L500IbNnD 0o63rlqf/HEhWd10AN/J6TftWwH6/03QPo77q1a32NxtZEQfvUUvpkhaZZpeH2VI6hUC fyt0dCb8B7tKyJLYVkdAAhpPz8dHAhVWKL4Y7ZmSxJ1QYOtqaEJtJcduiSsTiMYy2w4J asOhcJkb6uVBpQjPiCreRVOfgApolwSW+PVXi4oLqa0fIzRR8m1qdNcWvCVCm1Owh73Z VyzUQEInO8Ze5f58l0ZWGJIJP9qXNK8nvEnGwsxVUVO8skHnmdzvCfB8IMqh+nElWH/s p0Xg== X-Forwarded-Encrypted: i=1; AJvYcCUQ+zTbwQm94+KbTOk6tfPaduBAY5LgqwqZr/QVA9n1xhpQ48/T7vPjNo0bOdv9XqiHBQU=@vger.kernel.org, AJvYcCUSNqEFBN/AeZ9ixjeo5uEn9S4o0NMDtrU7U8XO82IPJMmP0yAp6HhXgCV9ODfPUQP9yDDgBNWoRE4Mye/o@vger.kernel.org, AJvYcCUW6SUAJ/3nUtyIzkDcekQGYsa8bFrxzpAixhhunQPlb3zjZltWTC+kwBpmCNecK3NRlY9heX0LF57XIV1A@vger.kernel.org, AJvYcCVDNWnZ4rLG3ChDXLSD9r0MEiPjIXJENHB+MZkEvYDmSeKLVLi0XVhSYWPuWHkw8MGzKiIfr6tdjRFxL6wEWXA=@vger.kernel.org, AJvYcCVGyjXtaCwL59+R1/fuTmqN5+Qwpoqi+UAOFtDlatRaLiVXaKF0I284XrN+lOkqagXWRUWkfsVrAoPH+pU=@vger.kernel.org, AJvYcCW/pFkC8QFOB8zRunATpZ6koxMl6zTGfmBzkdzBSvfK+NJoK1S88nmQqb+E4D3Oz9qXCJDxZOTPTACkXGo=@vger.kernel.org, AJvYcCXiv8vwjChVfjhFo0xNfHvAkZrjp/j0l7Dbsow5/1+WhhwfQARSI5QzB0fX4nDeVH7g+ujCgIwf@vger.kernel.org X-Gm-Message-State: AOJu0Yx1E5QMADxgHm2SWzqOUaXCWemKTM6XjKkqsRQoHFeAU/6jWMJP dO4n8ig6I9ltIZfW1nLRXYV6yWQ/QBkNTn9R6BFZ7k0twTBuFFJT X-Gm-Gg: ASbGnctOMUd3i703DKtPgDKUB8Rane5GZ2tEP4dQNepBcCv3BLwpBAJ+L1Z4v80bNl+ R8Yd7xtkMeF8RT6qfot332E/V7nPlaH8pRboftJgqFEIff0wKa+CpjKm8+jE4KMzQ0RG9ZypF/4 NZKBuC8iSG/HKcZTrL/O+4ow8ZQLVkJYwdhszD2bvvFNRvgZu5nSqVyDgkLxFT6TaHLkOLz9A8U 32fEV8DfjWN07jY8wyJGo/0dMM7cLjdCJe7GyTwEoevqm/N37ej4I/9YtQp/4USqeluT2vG6f7S PnBJLKuCY69KVf4TnaC/P/eNpk8B9q8M91+o/E78yZ3+3DVXGEc+xGJdRA1J7oyha2DHeKgrP6s = 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> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997509 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23E891E0DCE; Sat, 1 Mar 2025 14:25:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839149; cv=none; b=PCDYDJdzHvJDXkSW2cOhifbh1DZJWIXU3xLKmmnDh3KZ8bkkvvG4S38wU4kF+yrAT1lTLkDixvbSGXe0xJFMSYSmJmDn3+im37ZalKtGZnMGToGM+7E4iUtauQlIxss+BYEZfjPjqhAZ+IFuA1l7stVcBGOaQE+X6gS2G1QghLE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839149; c=relaxed/simple; bh=SGs/08YH9pzcyzj8Hy5T07XyaLzA+LXAm2VV8KsMYOU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=m3Eu4rLfgRMKd/bFgl6wyjefxd5jmubZFAQ701fF5BY6aOq2Ng5Y2iwsJx5tb5sSnIjON3alRF4uSPFfwkZcLQQe2BkEhrglcP4l469exhNlw7SPDy8hNSm7+84Sr6BuMZKZAmXedy7hIro+ir3RQa73fqaijRsGvOS3ki2YtWI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QhpUguZd; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QhpUguZd" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2239f8646f6so61335ad.2; 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=vger.kernel.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=QhpUguZd9kmmpvDh7rbmgc+XGPjBhRA4UJgqzF90rXoRb/mv/c6dPtLLlgZqmBeCd7 HXlN0ngiCT63NX2YiaGZM+X97APmpymqh9Wl5ydCe2JJQBtAbs9CfMmHMqPutUZSyBiy 0qm0n4YyQ1xNWits1cayGiZeiUFZhKHYRqgrr8CgZ47n97xvC/plzGgPOUoklJwsp3oz oADoMHJ9zcVNotGlFmeYiuceJC09zYBM40pd8Gk12f6CmuYm/HCKid0+q3z93XPENXu5 NjkzYjzgnOPWIJP+ms5f/uvVJ5bZjPQ2tvU0RdnryZVqYTy38HSodCixidK73qxkJ7MP iIfw== 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=WBHiYdfXl/3K2igRsHakhZF4OnWbmfKaQiXHsWe5p7msTUjtp2HLrKf4QbgeHNjSZR TgRJ3iUrWO4UTD423Ra+gpJ00RtIycCz0Ev2dFdkoanbX8W6i7kdD1+UmZysq502vMkS Z3gElhcand9CmlSUsAS1ajxDWAgCkr9Mci4xQYkIkPihJCKPMF/JHTcIjDz7pg/XHb2U W5terPf9yznjBmTpnLEf8106dqbzSvOqWBquXGkbHn+yT9ZBJCKZErFsWy39GNa56ja9 u8wIB93BhTle9ShYDhAf9iPV0SxS3nZjT1S1mdh+eDRbdAkiPWGu7mOp7T5fbyyI5ZU3 38xw== X-Forwarded-Encrypted: i=1; AJvYcCU8qkCBK7AJwM3gTlSjlKyMvUqw7DDZHE0cOrnORn/W2jpYujAd3sGnWBwfOM3asOPVgIlWrN8274wDWiKZfXg=@vger.kernel.org, AJvYcCUlXAS76cbOIr/U0WrwEn7Bogf0AVERhfaHZYz8BZmyEHHBD7MwPnCAiNZjU1QN4gnKqmY=@vger.kernel.org, AJvYcCUwHFHaFQ0156X6Y2M0PQnjbwu0axmjT8H/436Mza/PebzLXoCBMwlqPVdEO2rxh+5XSKFfc+rvwOl5V0A=@vger.kernel.org, AJvYcCVWvSn2Hpl2zZZ9kjOs9YzUFYuGwxnzKmJWYQxG8WFVKIJhVPxbLB+fh8oJktFyZVAK96aOk92r3V9K8mvI@vger.kernel.org, AJvYcCWv7FpoH5hB5RDW/bdKVpifcxV6TwByUIs8II4CRbd0l7GEV0C4QbNsn8zPCmJrF5bjrIUgME22@vger.kernel.org, AJvYcCX4cAmM63I/eiwjXh5C0NGjyqcfx8pWZx6Pxqyp9aTCOzl3DgrWeSs+WYItftvp+XIJlxo+8sSSF7BAW8LN@vger.kernel.org, AJvYcCXADq7eT951texCVNKLyn5fs1+PzZyiwqL2aSGhJDczibgnXoJ4x9T1SJK51YrGjHv1y7qagq2AFgNiFLs=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9g7BaaZH9a3vZu9DeXQu0MT5kUCrESJUeBNYB9tFYktUjXMHg Ot1GiIiqx+UTuF5C8iE2yHIGNIZYUCEQTT/ZOjpyM7M016UMBD5w X-Gm-Gg: ASbGncuJ5AXzYgNFJ3OZtEXfWJHutDdqSxcG0TCGlQN0GDqbdxtX0fQ4vJd90vbxPnZ gKV900RGz/SpxYlW94sjCgYbyfZqJ5N3kGP2UsyqhtRuPH1+mY1/H7cHTRZ+9C9O8bGi/q8r93t wzTsSYvrfDN/GZWnxU5t1HJLyybF0o/9p/I4sDFdjusKvkmEkXst5plijTX9Sh/trrFuEjpoudt 9PP34n+ld8gvrn92kpgvm/uf7HMR0V7+QzDmjS1Hl/INagh0JjZqVyz+4jVu48OU5SHisoSZHu6 98Fro1/nFOkld133WIqUJoNeIyydj7ncUr3aD565O5rSfXExt6r2+/JWajAUGafdCa86p0k7xoA = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997510 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B3B41E22E9; Sat, 1 Mar 2025 14:25:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839159; cv=none; b=mBE3ud01N8U8GhNsqtVTxXr0crBoRx7OPp6qxPx8e8wt2dmOczdz+/8ea8wqpB6dvaFnlczleGGRPagCrkljMykCVMD+9qZhn6A5NJrsFxs0SrMt361lYVrTBNLn0m+CadQASexVhK1HOHKIyFipbPpc1nY5mxugV/6ccjC4VVQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839159; c=relaxed/simple; bh=rTA+nqUh4NnBYzrIs97e5P2aMLuYYBuIh+2ppv71b2c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=P9JNEpwZyB6NeXNgFSQbkCQR5ENDSkKpIeRA/6xwReky2twlTe1a7z1coPnIVZlNNWJ5lPi08yQb//a9vdarteMwhHTw773fkugpugIzzvBDjWzIWLTZBBCfE8K+KXigifMW6cA1m3LyUvg0HsIiC9jMeqJh07yqszKV9IPOU3c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BJKxB9Zv; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BJKxB9Zv" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2237cf6a45dso15931215ad.2; Sat, 01 Mar 2025 06:25:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839157; x=1741443957; darn=vger.kernel.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=BJKxB9Zv199AacJJDPOfJY59V2iVe9PR4WGIJxde5YXxX+B0EUh2izRZmooUJYDUtB KaEO+F2ROJBt2Mn3CeK92UwXkRGHXzmSeEA+ZCrmhXspzckbgbw30STWaA5zy0nFADu2 31IOtHlFsw28yPtMudn9ZLGaUqO7+/9mBmaBS7v/86+XTFRXTH64QnH59s1tc0xxiYIM /GZpYID/BsmUrNFPsES9hrg1o0FCFugYBcacxcA7TZr0Mb8VAlDWEA7Ex5+cNq7r6cuo ThhpGSvpOwmoSaTANiZCbaPNxcfjRw3wBP39RvJUQos/B2qICWFOTmftkcJ4a4zkbCB0 Ua5g== 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=BIHLNPgbT7fbwwTdn60XkZj3nU7KHEulyHujXBVBAAO4idYyaLyzO44fSUcQIbE8Vn t2dPF+f7oIhl3gh9/pk0vCGzNoLgOjpT50Ot1/5NAwN288Rbqhpd9P7SKqNYkIGEdR6S T4jL71HafwVKMq+76NO4VAj9H4ed8LARIGXpYe09pwrrr4D1iOqnXKGxceIomOAR2gba V4GzfjiCZzHgySGB3rbfaCG4EephVp7wesBKt0mBTa9kXHmi3EILVX71r2YstLiRJJ6B g+obfOST9ckxfDer5EprmrxmSo/VU4AzKeatX76kFnJ6Qx/oiR2fpjxtp6BR7hUYOEar Mh4w== X-Forwarded-Encrypted: i=1; AJvYcCUEkVayjgvICduQw6KjUvEGZSWvxGeRTk7DSYXtqO3Jlf9FFJbT3cWZ1FRCOx0bvkRUM1ZyzlFJAdJ5mFe5@vger.kernel.org, AJvYcCUPxmXYMupY3NF+WGw15AmpPFfpgzKFMWVIwAEgIb08r+Y0n80F3Kd/PFgLUcON2ep4g9JEcNS3c7a5dsSi@vger.kernel.org, AJvYcCUVhq1Q51GDRFfiGwVq+HmajHP0b37sFEfx+NUx/f3UNsbTUZ1SxZiwC2i3UwRkQk92FZZn2kxNKBakiQU=@vger.kernel.org, AJvYcCX8nEjD54aqEGgTZtcDCXsodUB5nUVlHfJOGHRHLHqJuy1QahJOFBqExA9hkXd5pajoHYZlxS0o5mYpzBPdjHg=@vger.kernel.org, AJvYcCXWBGLrNvbo/6RKuV2zMaEnGSZI0lmsXS25stYt/ieFNCgGCGQnG0PYRWH4bpF0QMWKYzo=@vger.kernel.org, AJvYcCXrW5OLSVa5IR0i3+ICqy7weHyJR87U+8b8Y8p560TzOTqmFm+HzHHQaqCjsaV7cepfv+HJPmzt@vger.kernel.org, AJvYcCXtUmBS9laDot0cc1k+F/xyUXZUxmmKvMuMiXQH8uYdzkVi/UihvU1Vq/H9PjzYkWk049550wFD6WL7YX0=@vger.kernel.org X-Gm-Message-State: AOJu0Yydp/Vn1fDmHhu7q4t8ieFBBLXhNQCHym1TX+4H9rIPS/WfqaaL YIlHIxCpcWxyNIqINO8sbZ+tzFIR4H/Opj8MVCkhx8p31vEgpoNx X-Gm-Gg: ASbGncuzvbtKOupV2mdklK5vfSr8/8b9RWcHEvHmGcQt6ULJt4/6pBPdqBkPebDYeH9 Qg8s3Alj1K9yYWR/s3793VUNZ+zhYzQCbECmVhb4u0zy10CWwMpEnJQhAjaVyaBHpMHQ3ntvAuO zWD/ri2v5WoiwbqmzDDP4uApu4gGYgBd0edz4/zsDJQbIABdVbJIVb4AQyKIaeF15NeOmz2kUTA G/NOyIg7RF4AjucHX1f5/6AqE7iD5QwH25NM2MAgHNndS/NhgMq0VeChABJi4h4DgcxRH+nQVvN T4cjOf3h+Q0qh+cYS9bd4jqxwfvjq074WOn3s8XY1oUAnK7S6S3TemyxmjKNvT8c6+CaCptGWAo = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997511 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44F9E1E0E0D; Sat, 1 Mar 2025 14:26:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839169; cv=none; b=E3ml4ecgTeF3lchlGi18702Vw0RKiyGAiVtvb+dAl/0jrSt6A2CQV4Zjp3DoL42yr61c0zi4thIvu7RKdS3Wc+Rc+icT87uXKk+a6wmXrXdtYWDh/YV19AW6e9xEwTMSfJgzTm7pDfsMVaU7FI6GrJQOEiFaqipXJX3UeU48qbY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839169; c=relaxed/simple; bh=JIGbdj519hBofglwm1x6Wa4PWHJoF7xJSHZGDTpyM6Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kyMkD9ARmK1eJNItUVzTAk2CZk/LSWz78ShhE5kP+v7fbHLWB0dgSvZwlAthO0NV8RBWFpUF+ULIwjYeaEfmoLpWYu55XEzPOUD2dkPeB0+pIcEn+uUfvSY5+sc4ZbjO9gtHkkhjKtwGoASMVm+Mxz/ZxTETzEcmkXVhcB2rQAE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=nfMxiw7A; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nfMxiw7A" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-223378e2b0dso44908215ad.0; Sat, 01 Mar 2025 06:26:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839167; x=1741443967; darn=vger.kernel.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=nfMxiw7A6eBAG/6id1Gu8ZeAT4PW3mnHIZb4/nvo7+Bo2JVVnl0s+JZEKekzh9dbBb cSd9Zf9ZjqdwCuhdNS/yIDCCSBycxCKs/lBAYPaNkdKLDFT6nM3wt8y6MH4nrv3+quN3 ggMYzg5wFsbuVdOAFgL3gGPeaKCiGf4lfhdSiGZxpgA1nWjRwcOTo31f8p5B7IfOk4iz GFveQf2B/ddgch6H3+eF4HlnP/vuWo7SQHIhiZ7n/P3R94ZGNw/SuR6JzQhMmGf2psPK 8k9w0+0nvAadUDp49syY3Od5Ky+vOquzeIqite25jwYkaEd43jaSFTVPsbKIlmgATeOH 7KbA== 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=FYfPO3hy47f2aVwB+D7QRKKltYMRVGDwiXDTBJGR5bcTB3sIBkERSQchXiLkRp6Imp aUSEjEvAu5LmxNAqoznVlELszWAukkejF1rMcvVSqFXwhQZokfdX11kf1dSTCejxKkdg 7KuilEQ9r9Wd88AiMNyAsGhRaFMzVV/t2HupHqGlsgARZ1Mw3ytsjRC832bfNWzqkus2 lwU9ICcSTk5yBz1csSBjXGZ4w+Lt8UfCa2V3C25kt0syMcVkf6Y4Wbd8eMLQNIbIo/3q +csHqHIQXOVifc1ZSUFAD4kUE0xUDrOcGe620IN9AHsXi2H2kCacd1a4kYRHBpwCF8Jj T5CA== X-Forwarded-Encrypted: i=1; AJvYcCUSqheUYDnTgSThS1KV6u4PvsO5qQfuntXz+kvbM2ru1NRURX3QkjiBErJD+IobOy3ZaxR+2q3H5kmX8NM=@vger.kernel.org, AJvYcCUdhVHi8jnIyuMtrFZmFAg8nFavai5PoskqVPqCm/g2++RVEbn4PuttEDadpxnAzhtSREwN4uefn8x/1j8=@vger.kernel.org, AJvYcCUrLM1j7ywN1Ue0XgX1uu6GVEAW3wIEFNztV1kPfzPnPVPmmWOi39ps1gMZ3FnHTVpnHYdtbW/A@vger.kernel.org, AJvYcCVtdak7p4Dp2o+qvPLbckLsl9Hp3JVuTr7QFda2DB0+2ixeYfcObyCnlvnpNzpg3iJR/eaQwY19oc2mbGlm@vger.kernel.org, AJvYcCW/NpnEB4OzQpIgTQwBTeyPlBrTmEWKhz0BmXyvANwwr+iWZNshmv4awBdQDqKRB7gT+/c=@vger.kernel.org, AJvYcCXsjaQ8Vmw2A7pmHN7p5Ixm8eBF1flDojD30Nv4uoUhDDX7u7lE1Mc4yOJKhuiVCgF/GSdgMJZN8opz3OFE@vger.kernel.org, AJvYcCXzLA6poHH+A8sc8x1GqZtyjYuritTxBagjpA3IvXR3MFahM1nf1E6cy8puMDPoICTvM6fX/Pst2jFHvVonbh4=@vger.kernel.org X-Gm-Message-State: AOJu0Ywz8DPpZi2SK9Ogmm74e+zpNd/WijD4+T1SvJ8g5csxEWUM0dHv +f5QvY6r4lHhdE444tbYQA1wsuA7xXV/PLZ8R+QEoJCXfbdF0YA+ X-Gm-Gg: ASbGncu2cLa95eURmesHsUvziYuWAxeye5KJgmzNuBDHAvyQ92X+dVLIXQRU19KW/v+ uGwSbepy2W0XOGGDYkEiRUCFLCn3ZE7t4k5F1tT/f4av4rS94rqbkNh+7K6kUWU+Lr4aqH0/Hjg 1Ro2PXFJWYzSkbf26FXiMy0ACiWhn6OsunORkj9cMtlP8m1q2vML4VNXHad7M1hn7gw1KBYyPdp dfUwbgNeNEJxgM7WjUZ9fDyyFUNvyYyxDoFDuo63XsA9nB8O/7pCk72k3JsqG0xdxD0J726J9CM nabw1UcmUR/1rAIEiKh+xBp9toIA5EVKK9w+nHF2E2GQE1NfmXajo5ZCcC4JqRwGDUNGxt5m3gs = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997512 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C3C661E0E0D; Sat, 1 Mar 2025 14:26:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839179; cv=none; b=O+gyTdVxFsOH5C5F34uaE0bqDeZhJ2fp7kNhq11isRIgvLi/TiE/bEj+ZFc+8hvMH/+0ReExzXmpRzGNN/WKkMePJeovfT4GjCMT8YVluKSgkNTRnrJ2GLajhcmYXKxnBB6hS+hC2U4Gdv6PEEm2UADR20Wi/yXOwcmbjDgONzQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839179; c=relaxed/simple; bh=j2/wDG0L2QiKPBmNCWrxOGnHtFWO5kAL6+5E33WSh7Q=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kiP0vD2szERpusFgDsl9wuW0gIN6zVX/08RP2zW/pTPWuNX84lsne6kMYUno0BhiCZmQKEZdgiGMX082HH1qzjHfXb/pCaPpAHWKgBNF+wmBvTPf1vaT5LeJ4g3Yvd/JWy91B1e1zYPDtLZyy07kkRrdp777mxLd3Mz/1FcYRrM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JgLlbKBB; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JgLlbKBB" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2232aead377so58821925ad.0; 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=vger.kernel.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=JgLlbKBB3nbI9hHp3Y5fsVUs7zPWqywqLmdnoLCJ8CjJA45ydDoKSXPcvmPKxYKE/5 u1IYJmUKgV8BwUfbqThi/HiUVAPL2DK8XrH/j92EKd2kCd2hA5c6NJQmCqjelMY6D1e0 mFKt3Ry46Ha4jmNGBidKhJY2HXDXABheSAu3/MQttruFZ844b7D9mknDpJ538BzDfd66 C0WmVfKLut7CHXwURJPpBHttmEz5V31CJhzRlbw77d6d24NIPf+xCZU0p0BvtR+J36L8 GgEHRQo87k7eHD5HlwviXRPlDE8UInEoyr2JXnYqKM938j3X0FN6pumZUOeQo3JgWDUu 0Y6w== 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=xT/IgXLyqg4hdARL47xLLJYECtTiv4Cl71GHRcC1y8sxpc2K4i3LFte5H7E6ZkcJZb EQ30W3dB483UoLwIBH1CU6dnJLha7CzcWLN1uqViwaIdPF8YPhqHdQrTZCWeEBy5XudY dPpwfxfEvKkf/iswxUCTfUo5rhIJNAQKhD3WviVjyfm/CuPs18h8hTlShn220UnkC2ed oRuQumIVA7LtWiXdCHqQ2rTJv0tJeF2U5ilIzfhkjLWSQznOZ+7b3tLl0QOhy+Y2Q0Sm eMubfp9Dc9k4uJwaUMzlnFUy4evrPBNzZ7Tac84dcwzF/Rx9s/Ku0p0WAOtEyn0d9Iae sWnw== X-Forwarded-Encrypted: i=1; AJvYcCU4pGSPb1RW22DD2E8DC+vh6ILFBdWRMXTbZYGSgvaxe2BSBGARbdvEwa3pc1cWwP/wC2HhNo9vPme5RnY=@vger.kernel.org, AJvYcCU61SXQOqFY0uOwzemuokOgxnWvsiU/fYLKs7X/l8KwOpZU/vxNQKdMLQM8rMuGmZ3U2e0e+EN2A1qM66l4@vger.kernel.org, AJvYcCUF+nUosCRKsvLQpKrxQaRhxpnPH/H5P4SAI2baBBwrJumhmPWM1wTawP/HN6SfMs+ujFZuBrS2iqb8woQ=@vger.kernel.org, AJvYcCUabT+1m3J1jQMLhYfRPNjjI7wFUZWTjpC9Fq4xr7gtgDad+9LfjPp5VQqmpbLDU+tFu/HM3Iko2obZBE4eky8=@vger.kernel.org, AJvYcCV/RPjBMnhY5TXzBgORrnTamj+tg/H2DkWVt/AXLB5Nwqw1U2JzrgCTeCoXEV6AofKG/rk=@vger.kernel.org, AJvYcCW9iXLZVkj7PYO7ec9CekoImiuekB9WOj5j0eO/sL026EoOus5xveNsfb1FGYqxtDiTA+qjCRJoJvCV20KJ@vger.kernel.org, AJvYcCWN9eOnfX3Byr3RL2I3vKqbFJ9rF2cWJ3aYDGrsRSXyeA5IKNGVtbW16zlOjlsvfXYmaOCRH8Y7@vger.kernel.org X-Gm-Message-State: AOJu0YyyL14cSqUdApuB6iemDqODVgfwd8HWUYlFytPY/SxhZWXjJNhk 7r30rYdu/WpP4gxCDF8VeieMUIJZVEehTNlPx86hHiHwpLHAgZve X-Gm-Gg: ASbGncvhCDDY3kiqy0mnIni9q9BUxWYHGUjAXbsJxGZY99HPcixAHGSXInyEQEbkbFJ sEwC6H0WNvw12PimQV9RMS6qpGghuf1Tu+ZGPk2LU8ICpTmGTPwMeQ4TebusuZlZJTCFe8oFNU4 r0PdC0d/PO8vsxIB3I0dg2k870pUF+jPY1H7i0U62ocJm7H3WE+mZ0qZB3EJrSyuMMPPeA/AJTI z0NGLplMGt6e1KlllsZ348WaaIK4BZhev4Ey+xy685A2ok6W4sFVwEOoOqyPgoVxtetQdthVsjB mdpAUfi4kvYDiG3auzFs6Xq2OjQiXodM3z3PpPmU6xUgLqIDdBQPyZVqNzplDbmVd7BHO0d1uaw = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997513 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E7FF21E0E0D; Sat, 1 Mar 2025 14:26:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839189; cv=none; b=fVSuUrshaoaa2bETxesUi1Naf1Rrhb6HO73a8MZCgEtHOSlWmbDtlnvtYesL93at28gy8LY+y5Wnz/3MmWPxgcJocF/5WBqt+Ib98kh6XoHbshIg9uGdB+tFPczYVs/U/8SDT9rd5fsVhuLUeuszkEc3RJcy4RoloiRGIYh4fiI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839189; c=relaxed/simple; bh=fpYEQHVmom7fh6D/Q1MDqtnrl6Xu5v8oqKaAQat+kYI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=nGZDiBHcor02l3yiXYy2zCRF6WXhLFvZoat/ELshWUCNsNcDG21p0DpjlpxVaRqQEKhTCMq8Ot+MvJQBDoa/tHyh/W9Ehlzm2Rhy+kD1+V7XW5xgAgm3A/2fXv/vvQhDId9eTdh0E4DKCfJx8p0GdeZ629Iuk5HbzLtX2Q6ROGU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XDkziE3I; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XDkziE3I" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-223594b3c6dso51918675ad.2; 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=vger.kernel.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=XDkziE3IP4A6E64xMhr765g/non2Ln+M5KjDeulP2jUAEdwTi2V/apuQyL5IZ7rRjX je1pgVKz7D4zoUJcbUhcdZDgNvbkB2SLYFwLZ3pxuc93vhcTdUsKMU/lzuokTHZDsY2w 3/hYCpjXBppFP/4O9n/tTc1kGbDTK5bKh+EsjO5fUV4LxnsXNsQTzZQhHEZ4szRreVh9 8Ke+WtLnH5p0Q6cxk3mL7ivDtbGBbzEC27IWajiQlgf7Duo5+BtWvccL9h48ZPlgyIHO rePmYS4hoFmgYgx6EjMC4C3rcuM4sk0jQzJDz/zmG0obQzU3TlWs0hRjterF39Z7WS9v GMdA== 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=aecsUtuVl3rkJwBP/Gcle1cpsLHuRsoDR+/8fyflYSBtPU8OMQFGLiYPM1dKu2VT5x qZhZyi4dvgj4fHGSIja79pCxfxirEohQ+wbktGeLf7LDhGdrYSbab6UXFksccXoDWPrE cMMai61ZgjCivbhCVTPhI6+03uLyGTHxx2Cxpf51Nprsfz11FUBOzFWB136y8mkwGPE+ lXX4RxacWGW90om2roGJ0Le8Zvq0YcnNZXgElh5KK/tXIuKFW8yuf5TYuD4C6MMQVscv jzZM4u1Jcax8n8K0zw3zpY2W/SpoV4+W7DgpSkqEaMFRfWyiyBE6L+GfYEBeBz2OG9b6 Ib8A== X-Forwarded-Encrypted: i=1; AJvYcCU71szTG6jnxFkT5EBQaOdCiZHLLN7LLc7Ii+mjwyxN8oc+ywzvDST7kYkt4EGhd0MyuhSHgAlkoYQF9e04@vger.kernel.org, AJvYcCVAtR1PBBoFhC507j2wBMkYOWms+z94V6wtqqNXBKIgjzGaq1Hm7qsDxRnOuN/GhtnryMGXnLSS20lHscJYZgM=@vger.kernel.org, AJvYcCWXQaVtRutCNAc+a118rVFGsYwqOUXoRnmgO+w1yvxhL8qXcOxIEsQOXNSIPAMufva1VRI=@vger.kernel.org, AJvYcCX57v38CWyptd/G2op6swXdhOiiNkcBezDlCKfEoChibCSH43abbLX1ki7NhJaxkHNTzRTyPhok@vger.kernel.org, AJvYcCX5NyWUtEaIn4JzkEjcji9fyvCUphPEtrPmgYxqfcp8BDmVUp2TLWuD4mbSHIEzaEz9BHvtUJ70RgvR1G0=@vger.kernel.org, AJvYcCXCwaLsTtjQNco9Zxv/ZCnFsFHQ/6+kSuEOksHYtzuefOVMNmnJpuhoHTW8lQ470c06AWZezwccXkD7WjQK@vger.kernel.org, AJvYcCXReJHVcrfUHL9CaL3qLAYFwuDly+QDzkIGV8+EnmzGXsQdVdJz4w6othP4vLcymSHkZg2n1EvJVcKrFZE=@vger.kernel.org X-Gm-Message-State: AOJu0YzktQrzboXZ0PmbLSgSR9I6xb+u7WYoKYWioqjh16BqUr7I53N0 dgtLe7Tycud+oSRs3YRPIjWyHTTOPnioYmpk4UYJt52TxjMSG8s3 X-Gm-Gg: ASbGncszr7xph+POQgLi9Mj6kus7tHhtnChONsdwIq4a35BBrXZbm1Ax7VlNtAkR/Rd z5wznhoYuaTlnXUD5xcIGVIfjdWLyCqHyaDftKFuO443kTkZXS6O2snXH62ldys8LOA+cfRRV6+ eUKCJG6S4shRVQufOeeLimbvJt6weM4dZrN4qR2WwX3/bWBbfS1jc5ccaM2kmLAzEgKY9W+h0+I DjxY6f9bYAlSLvmt7kLyJ606+BMWLuClS9cGYywQ5T8vbaeCxNW9PYZ/eFEhTskjS5la/meDbhw SRrvD5ytXTjSSkaE/Fmn6FdUJ4twmXIq8OrVX7VcLtpBYMvx9N6ocFcJhllF5sYg0X/ao1pPW44 = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997514 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 017851DED5B; Sat, 1 Mar 2025 14:26:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839201; cv=none; b=C1xOYj+C0tDLxUDqwAcKIYOH77KiVo9O1ADXV/rakAPeOj65qZq0OrRqSzVPRmnjAdBORmS8E6Am7MUawrDnXoUpOTyN8xKWh7+IYK7WKhWUUfW/aoa4myZaOeAQUGHyDFCZ0kzopqXFAjZM57uPRFZ45uoLHo0CcQLN62KtyFs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839201; c=relaxed/simple; bh=HKAn3f+7sbHTTp+UNFXBUa/TbF/WrljtWVRMW4BZHbw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=nhLhi06F6Qo+D/m0eyseYg7qO880H0Jyx6+ESBe+BtdvQEhVwuQWK9Z66N2pckvGBu+dGrowuubxG40yiWal4QiXV1sjIE86Sc7IHJBB28UWB8vKIO8A25cr+IWLX3rR5Uxnun/D+z368ibQoabzez2w2/l8llVZ6Qtym1f/56A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=I0Iidb9K; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="I0Iidb9K" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2238e884f72so4222005ad.3; 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=vger.kernel.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=I0Iidb9KjngxCJQSWvqtZqpGbi/kE43cy60oXRYsmeNQSt/ptsOiUOa3TfTVsxj5pj dyPQSeN7dTWvOIClu0BELxJA1AbR+9GVVg6/aWbFVTPm+7TWdhz/i/VjFt7h48/PlcbK Dbk9exEhatxv468OQAk+wFhDu8aE9T0D6p3KVcQ9WoCOHj91QLzBo1zIZTun1q2xCuiR wVHxonlxbKpdpdWsa0gFrA+kT7jbAtPPh9YWvVXtpLMy0HHga3iytDZGbvgTEgTAMskh b1awLUrXHygEhlZNL5F49v/B7rpYPrr7Yi2yTC8sU5A4/RSki8l40cVuSoRJPyNQ/Ld+ UqwQ== 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=fOVjZ9E0Wb9myRNzV4hYTen5J6nTwywRm8f3TkfaSEsVRwh0VNZCpDwG6iUYOU4Cf3 HaLwEK2qtfB7o4ukOzv+VLcybuQ4t5FeHg0J9cyuY/B2Bk+29IZwu2/0GWh9i84IPJMJ ZXK8aB6+DhXzblDClQuRm7k5vKZuHLwO0PgqyNVDFHA7/uVlGQfrLafLxC0zE7qUZBrU c1v6P28qI7+0TD4jnxDePEbpYBuDPAlX/5vb25sfPyaCODI6LuKgcJk6abKNFXgAil4C vyILbehsQNiWzT+LWTrlA0Rhggsg5Z1CHBSqHCq7PCqfKIs58n3/HaJjoZUxUbO2wJQr RSRA== X-Forwarded-Encrypted: i=1; AJvYcCUnmGKFLL4t2KwIfdcXNCdTRGegOy/4u8HkEhG4YIaXqP6m8bd4l7hU6YmCjb6H5DaBbo2LoyAVWfOmNuU=@vger.kernel.org, AJvYcCV/cMOEDcN6YeNx3fWJk9HVh5vfPQJB5iTrsxSvQBh+aItTzWxrkQu/Ztfm8P5bKz2iApdmIYjy@vger.kernel.org, AJvYcCVTo9XQbYnvA2vcsJcQHVUivT2ba3qhFfpHgeRmeYapU+OhLvqVhPFIJPolHelb5D7V5blj7we4rfFx2NFg@vger.kernel.org, AJvYcCVhoHNSdN8ZzH+3Ge7k253wUsNRccJlyYble3ghE59ko+213fGb7tP+EPnfFilCpXL1b9RU06tdfE0+VOt4@vger.kernel.org, AJvYcCViaS7aNsGJliWJyXExeVNlb6X7hlr1bZsNpxb3MgMqxLSuNeqgqwTMqcoRpiRE77oQ5bq8MxE9eWNsNQdVSh4=@vger.kernel.org, AJvYcCX4oRZJKNuMXVYU7gIEQTi8Rvrjaz2Xwq7aLvz3jSxXXBGxnMePEjKQJ8yAMocSvZKjfi49j0V9zH78W1Q=@vger.kernel.org, AJvYcCXQ4+CiK7R43Zl5jnsfYDAqdG3DIdiUcC/fbsQ+ej0v9yG19XnMJ+/Kh/OrnaWLSXeUG/k=@vger.kernel.org X-Gm-Message-State: AOJu0Yymd5D05Irb5jBuIerdteVQtgvJAFleyZ1idZcML118eL7F69/p k8LZvdhatVU8HotgEUfhykDVqqLogYhIQFVEg5DbQ4kZ2ae19L3D X-Gm-Gg: ASbGncv1/D2mm9RJ+iq1NvepQqnuwGniga6kUsdcQAHQD3hClbvHRyU2Xye+1KI2wZ+ iwGZEwdx0bWmjfUzduc0Gz0LvttNKQWs1MYbxn3LO//Vx6xT0gJ2dCW2bdLYgQydVnwarut96Ih c74kjmQ7EEG17ixop+yUGLDxr3KQQGjpCqkC6ThrN8RGot6dVVXUNk3I/RxvhvHwd+fyJO/C26L wQiyvEZrAbdqenzU6rymEeKUqsCRqyAynOVePfm5nGh+cF7U4tRQS+iQi4fvCZtEUzHukJNz+qP hQ8b+H21KlFAwEc7VhoGSLJXbyEj/9u0YsqBK6+IYbweiTRLuJEGe0Kqd4UhRJbdeVgX/Hft+7I = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997515 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 580411E1A17; Sat, 1 Mar 2025 14:26:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839211; cv=none; b=JW64SOVPmrTzZdQZaYZHniZ5ATmnFGf621hD1NCKg2gHBZ5DbnhRLNZXE9pGWzJtR9723HyUabe8Q6TzxG24T4L3xxbxD99jUFuptcCfk9WcMicwnzrtM6kC+w+oAZChIY4RfWjEZ1pF+bJfu5lVW0gfhlKKlzKFZaM2pdEHvFM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839211; c=relaxed/simple; bh=1i40o1s3Vqdk2RW0JIo3piubrRjz0Cy5aa5u5siB9VI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=oca3wzNcyQeW6mSPqnd5wN+7/pjiu2JFC7u+J8qgPPBOTbK+77sqgpU5Kxonc/Nr8pV9NYAUUzulg/FBP3KswaFPN638AqgROtZxZo7QCRnB/ByYc2QIRPZFTENsrTxnhSdo5ae4tkFU9ssXwvJ+Nc0TOjtl0HRWXpRupfCScKU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EqOVUYIa; arc=none smtp.client-ip=209.85.214.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EqOVUYIa" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-22359001f1aso67247295ad.3; 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=vger.kernel.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=EqOVUYIae3gMpaGYvOBKkUlHYkUTqwad9THvO6MgAXPVm1mLvahNKYCAN+pKq5jLEO xjakz7OXMSvZFrtd/O+0DwBZDC/7561ydpV0OssDU+MVdiKOkgQ/AkG1Lo8PS6USzZ58 C21BqmTXtSbE9VFw55mosgguh94Ri6/xXG9v1DlosQ7F5Yu+m1YpOGuzB+FKR4HmfXgl cCCrP0auRgHw/lIlzi9IosDALf6Y0uzyDss0oYJ/VeaHZWkSQ6X0bJU+d8ySTAD4JdP3 ItLKAQwkjpc8AUDxjwPFI6VoD6DZTKpzpy0rqG3zCyzmvHLRTLAfUNWvoL5ES/M/lvTn TIHQ== 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=D/eXUQjuGoJSN3zUq7Ys8nZOgl1Dy2bZAlmesa+AMQIn8ATwFth3tn06R0GWJ9UlRt uV0EbDCUerb2mRTK+lLhGloylRnVs1aSlRO1chG+CnBpUabE6rEHpyh3aIr/60kkU/Za ogsgv95IXdTBR19JeliKUM5W5EWBgCHoWYvRvBosHkSWGSBB+fDp8VstnZ7IztsHswOb YFnEPV3j+ysHB8X5E8aUlrMZcpa7VtBr9uUGCxWwmpOt8WKDgZMwA5NEsKko22JJZ39B QRyo6x+/eEQxJlmKjGlhZu8t7PAF7a22iJ15n+Xeh5RXtwhndrk/n3ga8DCUb+47BIyD nefw== X-Forwarded-Encrypted: i=1; AJvYcCUiSLlUEXRXsPB6ilHN4nCssop1pItraaLuXHguNWs4DYo/VAgZ5RktB3tCBc8qxF7U//E=@vger.kernel.org, AJvYcCV5UcxIG0ynh/TO/OsieaywzpBav4rCo4dE2Be01Iu72P6bBFI/X6u2jeSGDtckFiMD60NRlQdX/+vJp9ps@vger.kernel.org, AJvYcCVRqtgjQK3nFr1FTWldtYO1Z5si6Z36TghBm+S1sfUId1WdyxGGHW+YmBICvTAz+OhMRTDXM/MkGb/A/n0=@vger.kernel.org, AJvYcCWBNeqt8xdshuvAAfbqXc6MbN6jqkZiAAO8XLdXZZ2pzciqZN9w9VWWxi+MPHixi/HRL895fUwuihYmOjk=@vger.kernel.org, AJvYcCWV9LN1J0X4M68+Lyc1qW0j9o5slpLw2SiYf8FOc4ILTioLyi8G8mlZ7oxLbj/zW+z1wy3CWpZrepLWDhH6OKQ=@vger.kernel.org, AJvYcCWoMYPi5Gv9XV8OMwpxmf7cd8TdUKFmviQsUO2j1Zs7bj1XFoKfL86eai2q3IeDWZlQXLstiwkGQL8XSE/4@vger.kernel.org, AJvYcCX+gOJYUAyfkaxTPvuJ3CYbu7mxsFjAztoVXBPZROt6U3GKhvbZ4VhYHacHRWHKuoqIyLaAFpVp@vger.kernel.org X-Gm-Message-State: AOJu0YxlKhtgrp5t2yLHMdQSaB2G/JFXbd3cY6XxeklgODTPB96xw8TR z6yUDR+oDiAJhMFpGzT9kD9MIXBq1WatvdsdIM8zNnXqriPhm5Ep X-Gm-Gg: ASbGncu4lmAkc3XGyGhs51X8jk8XD7cAgSGJ//VIEoAjtYjsUJJdJUxPJ8ooDOUnG7r Jpu2FeRAF5atL56N/NCu3qZGapX527Hp/xlEYwSg5Qx7QaTC9tWl80MarGKYeYj88AxPgvKEwBp wuHszy31Lt8hIOTJ+O0K1loEBpfHzI34rV4AocpfCBFHFr1d5oVfY4XekQGSc3NUyETmJBzrjs9 wvbe6ahveuXJWK/Z9vXayrWhUpQJ+tvIEo3Mo2+/yNr/UJ2IN4QnDyDDBiU07h+2FDadZ8DM/4V XFSgYmY1/g4SPwhIFIinN4+lljhP8MSi5ayfi/uLGRWpF4Ifc0QjgGyjXaoz/XdVD6XxzZMANDg = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997516 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4816F1E0B66; Sat, 1 Mar 2025 14:27:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839221; cv=none; b=n1ARHgxbOjz39FsHrkekHVtt7Nti5OeiiswJoYEKgcE/XXkGVRZE9HhaOPbBYV40PQhDOvWgk3QZHmXIKLZrZ7yOuh9fJCHyvG2Z6pvrVQFZRt9P43vOPvUQIiM3l8Biskpul32Rdr6wAKOiprcq/dIpFTJv17BUxSmZfYNKgkc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839221; c=relaxed/simple; bh=WDPrYaKj7s26kse115+qww0IFHKFhkIMhznNoEr7JrI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mi+Jf01wRHJDwmF5JcGp3fNxkmLbfa7TAEq9MjpIDSpDMb5kjsrkRkFiZUr1enNIYrgzXRZWz3EJXmAO/b8MI6GkUTQ3hGRyj+iqC+v4TkRO68hglxFgIcbqUfg9iSSYA7OHB/+DCIFCFvfdpJ3buH74d8OwY/gRzIcwX1F56Qg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jZJlecBM; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jZJlecBM" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2234e4b079cso57664785ad.1; 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=vger.kernel.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=jZJlecBMPhcFdsyXTB/kS7QI6XQBhULerc10Oe6PdaOjsKgqZwuLklR0QHy8PgeIou SQ4CYs3XFcYg/hxMsDKwliQ75mUN7IK0okU1l5ajtrmqgcgSbFLpo9vPjHQCTIsCXRwh yUYQ+0BQ9V3LULMwNCRLm55+kdfydBX8sLqv1ms963PspEg6tlpLsO61/lKWhw5v5RYy uwRLrMP0hd7eTenhchMMzNvvfZlUVA4/IXiwFkRizNQCRUi4X0Wh1DTBlR5+gjneds1j DVA2DoVZ0tTHEY9QfiLzc1BLvlf3JwS1FNdaB6HF5OCuCa5KptZ03KZxKZueCCiyLusy vb7Q== 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=AicBfBSS2ANEdV7h/XhZoWi4e5fiTQ4G5UoDOkWzOxhlZv0AjaY56KFXbsZPnzGNdz hWEj2x+IAgN7s8fyf8yI60fe7oHqGraOVLweGN4Od6EgU0AnDK/36cI3y5TY5aYdtkzJ yK0OphMPwvS0oQWrEj1eji60/juIxB4a3I6+7FZnyoWZdfTsubWdyJeMR3AbNI/ihh6M 4qZYjxYOrXsxNcC27Jikuzeo2gh+5JBY+dENL1tA58YSCeXVoaZvMQ7hm3vi8FBVtXJ1 5xzR+hkUm8Rn7Bd5YfsuAUzjpSJI8D06jSUQu64KB4g7xOVssLWw09o6XTNvedSC2WWR 5g4w== X-Forwarded-Encrypted: i=1; AJvYcCU3N+2phYllVrFnPJMP0kLSRw3QdUHrqCpOUUcpPfwFALAWlTp89PLsvWKLMT06ej0Ly4QL+k5PlhfnqGpYdFU=@vger.kernel.org, AJvYcCUxP25ZilagEnNYRF1UrC5nWL8N7sBwX59Cr7thq9RzHRatqZF8pndjQ/TutIqpgcxoTAo=@vger.kernel.org, AJvYcCV+MKcJJF8wn+7N5dCW0sLKuVqK7/RKuTBIC384tEMwwNaJy208+a8HxjHDYsbyhX2J5wKXRau06AXMFVYw@vger.kernel.org, AJvYcCW8pnXEYKbWOGEOxfihCUqkbChnVoLAUUqcFcSGd0GpwMB/+U8ZdVIKX2HwMx9kjShHGBq2vjJw@vger.kernel.org, AJvYcCWH5YJghYh98R7C2DbKqSKX7x1QDtupPzIWpBp4YOqEP9H6OwkE9jcV8ibJQhO/MtH51uJGGW17WjTHpN+q@vger.kernel.org, AJvYcCWSgnt9CWgg1AfvKPAjaRNNs8jEiY5PjH3D/OgAcezPlfiBhu8VBReNsIGavMBmlMcfMY66jgbzYViQif4=@vger.kernel.org, AJvYcCXk+NHwgSATFOikPHxlvBuOxtv0TmJ6mZzHNMJO5KeH8KtJlxMCs2HU+4XVwrFOW1vjaaKxGbxVFF0/UN4=@vger.kernel.org X-Gm-Message-State: AOJu0Yyv37HU4LDnSwM7jJEfR0bf73Kw1Nj54i0HjeGjQnMONIt6MBPG VI6uh4GJ+inLd8Z5/dOScQ/Zo76Kt8idQrqq0aK0/egGDqUtpr4b X-Gm-Gg: ASbGncu+/2I74YihVQmPlRd006vLUQ1hs5amVAVhEtcOdyAFvqQujk4Q3XCjVFzPRFB W7bUm90Lzf0K7yUCOmtyJ15cjQhq16uXcyO/HA2Sd3+NypPmnt7OPm5CWjEZ2NXnbJNe09KMBou MNhx79jh6sTb2AjtNET7hsDHbn810sDjTrki11LE9dHQnpI5dRxW29UbevVyN9CIsJrVtLG27gg Z4PHWdQL8OyBx4TQ1pMztsQArC84GEJ2/k4hBZsUGudKuRKU3r3SuROiSDJ7sfMVyWZgD9aZjzv mTgbU+XClwxoviNX9ZoozX+6VsvZSDQQbLOkVjajQOV/WYvRh3kj+dIJf/Mxt5Vimr8csI7sUuQ = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org 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: 13997517 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 12B8D1E1A33; Sat, 1 Mar 2025 14:27:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839231; cv=none; b=GITxkXFBA1ZkTEgLiQ4ywCWPriUzawHGwkSgqpkprfPX6jjDWw06QnGPoool4Zjd907N0sG+Fkg4OELbCUiGhPtV0P3CeO4523t64/KYRTX4DKKVh37XY4iy8j15yCXllzDdVO99xi3b/QVQdB0by/i1d9gwVsO4/XRjEUIJbso= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839231; c=relaxed/simple; bh=LKQP83Z0dDVRvLCdrMNAz3pPTpKO+Di7Zsh2SQ1o/Vg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=h1lVMlL3OOa/z2n+cn2Z8rbFHELp/mzZr38gipMrHJoac/10x2+unEbL8jJ/wppxNX7GV4l36nR3bR08ye8Z74IDcO3YKEuR2JCe9dtY1JXC7FbSy2vAk4Bl0vJwRamnMBzXuOT6slC3uVV731fwDmJC3aEBul0E8HcB/v/fSHQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PR8b4VAe; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PR8b4VAe" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-22374f56453so33974835ad.0; 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=vger.kernel.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=PR8b4VAebPDKEvNlDYHQGwovki8tyqWlMq8etsH4lo5bnVGwRDPwnU0KUSKpiLo7/5 Gd8h9tO6w9lCX8FVk2CEQ2qkM8lV27UzMeMVeQcL+bpmGvlGdE+Y49+Zama9uXsYWzmc ICp07UMhpLuabfvpATZ0eDxzXljO7bMq/2H6Wv1lXsTB4ZeODxD+iFaLT7l29gb7rGUP VdAfauYlBvL6PiFpH1zMo0EijoybafDoqyI7k1SqcZ7wurWr8uuc7psXpKcnZjeN9MJH PIeF3i4DFO+LhfLeQFCtXQIpwZ1HcJS8zuJPu2pGlX+SUq/AjVopz5a6Ax6rzfQhPNVW UKMA== 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=pa7JybYWKj+OGHUlmd1J76JJPZCTjJrUf2WIrZsU0TZG7eMPV00K1jQviDwccjaysh FA21yodnlFsQ21H6igwTBEUF/KRNARf/jMTWMGGa2EOuh3dk7tozE4kNEHL0PH/VsPyT gr0cj5DVCgHecS1o42cOou4Nsn9OUtVpiPLvVfSMLI61wcdOb2K+fuWYmPYhUTEStgWM WvrjVUV2H/SePFp8qOkr99IjYZp47yuhzAgj/N2UipqNN64wFluaA73uuZyiRehilykP wr9dMn2hkEr/UVFZZsr/l2l/y3C6DC05YgfC/SAoj287nWa9bQqUJFNx2E/Nm0H6fMjM TN3A== X-Forwarded-Encrypted: i=1; AJvYcCU/NVypNLE6YrkzE87RCrj3CDgBZBwUVBBTkDiB2lvMFCtbkG9bRncOhuybDdojksxuv4/lDnO5q8pprYr+@vger.kernel.org, AJvYcCUeHTQAn1F9XD7UFBml9JsDMQi6yzSRhKuECkXpeUgW7OdzGa031cw02eABcS8vtoxDxQEBWV6arK/GjO//Ao8=@vger.kernel.org, AJvYcCUxUEWpMzeXv/Va5dtTPmehP8JWRZgf2wZ+C7oD8iMxi/XspXC81mkqhr03KT/fD9sYqyINBnQ4JXizvKk=@vger.kernel.org, AJvYcCUxa031uqT1KDQ9wXi+jhx1fNLAFzjcK5KkdMaSoz9lNXGzXKdKsfS61pfC4iop0wNDg2acIBUu@vger.kernel.org, AJvYcCW7snzzMx3/S6Bi3JudCOZScCbvrtAnd/K1GCs0j/9g7BFo6fLMrdxivJdX/trtqVcejzrm3jt1LViduxU=@vger.kernel.org, AJvYcCX9lk4/OfZdlhPZNb2+hiDT1KOqFVbuZOMZsJbBDsRWT9qnIVb16Jkb8Qj4qAo63KIKqtdgehekwRWi5PXG@vger.kernel.org, AJvYcCXCdUVXrdNLweZsSmXKiijtkjZ+/jXrM2AWNsvG6hsnAUcRkKKVSwCQvBfJwP6V1/OZlZ8=@vger.kernel.org X-Gm-Message-State: AOJu0YxjTNgg9TOY3DpNE+qnuLGPAZieVg05RlXZT3vuZhnsIRH0Hvg1 RLaaAsIY7VYKXp2G8qz+70ArIkFtRO/E3uO06ohDQuoKG+yGccxE X-Gm-Gg: ASbGncsCetTFNJ7GvGq8CNX/OxiqHnLsWHrTfrh5ox4hWr7HRlIYsnNKWQjlQpjN1eV 1uP0obh8KcvdlI5l8xmr/14fMjA8swPD8W1IArDMCdmXSw5CSrmixAjPsdfzGxkFrj0RVjKBEY8 89r9zwX3RUa8ZzQ6c40OEzibZp+ePwx4cWguJxB75BY3YpmlI3IEwTbRXe3GmIg459o09ppf+5r OTC1v2DzwJpzxEB57fCXX5SCjQRJ3+y2VLoLfFvQp493AMvtBdBysoA0JeqIrbfE+lDdwqP0X4E 5oiHWxYI3hBl4LZL99+Aiyhw6EdwnbhDVJRwSqNHtEybhqg/E3HIvQenyN9YEQDdL8JHezSH33Q = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org 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: 13997518 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E7C01E5203; Sat, 1 Mar 2025 14:27:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839242; cv=none; b=Ohl0athp5m1aO0GSluMVf5D/dQD9og1+sdZJOnzhlvjUE4JLTIotY1PBWF00gfStTJd0yjthyLRB5Jtyg+YLmflE7WI1PsplAVh4ay+VsXxrCD8/HyuB26LqpOzjrMp+o4Ox65XRZr+C14P98TNJNKqVEhRnitGD+rs0JaSdSOY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839242; c=relaxed/simple; bh=TwYwZvCrklNfcmQ95nA9Xu2F+v+lRRPBTM6pl81qOZE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=sOzC0dufZ/BIpVsYAHCEqR+vTzVIg874uYseIz+/iIAbvB1bKFirOfhpjnT89MyBxkaXWe7sC/QHXPTeUQYDbP7vFW3L0AJpu7FZkCWpyfTA7yGtkAru4wCW2DgR9yK4fJuwUmWo3COzi/A6gen/G+GGF930D5meetaq86rFXpQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jmcxOvOa; arc=none smtp.client-ip=209.85.214.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jmcxOvOa" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-22349bb8605so62045745ad.0; 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=vger.kernel.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=jmcxOvOaWwV82srI2S19lOgw5wKi7T0oGVEH/mRKYexf7AEd1T3hxdvUmOuOS1OaHQ mKShHn2F9tCaVzcTaplBiHgiq5byzYW2Hz+SWLJEapsH6Rd3Ci6QZbRc+t83QRj6tKAA UyBqocdeDlURF4Coeuvn7at/fy94YYl6VDZ4xwrjk2VSB3QkByvfeG9Dy5mQ/3XBxJ83 Zj9xoHb2gOyHRid4CrCQ2mtlebM+6Xs0eSciDPt4j/6IS7xAfzNHVPnRo8VWcnvZ2ToS qgJlh5y8cCw/HIH0h8AU90pcfqY5ZMZevyhE6swz/qi7LAlkIEjQSjh7Wc5O6HhJRwhp vLjA== 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=KuKWET4fyx6a1wsmgl/tgX7LBZuIr3ZxkllNP/IzFHvu8orTVYKIWKur3t1xjxJRNP zHd4GEZAosYuIzhW4+qYRJtpFkb/h8sWb3QmfFLvI74oMornVcFBOtt66WbN7QlK7mLl xbX9i6aHSp02qktOh9YqiYyopF60G9SP5r7vcwzmaw+11mz1+RshWgxymFHITPLFnZJc ODlyT7K+aqivq+bSKdeecCSmCq5yKZn5j5Ym+reA3tXlZvQMKTlA8Al6e+/g1iYgL3Kc BtWIzhX+FUwcjfX9rEw+ae857tVKTXnpIUgGI73xfpttJFHvvSXmCgzU/BMx1xGrePAn 1GTw== X-Forwarded-Encrypted: i=1; AJvYcCUdo3ywFhRntRud7SpDoCEbF6xoFBLp+YB7Nh+znPbhxZ5/gb2ZLtuVMIQ90U+Jhdy3I1o=@vger.kernel.org, AJvYcCV63fsFy3evuhfVnPhlMtJA4W4wQylPMDlMbZ7/UnH2NX+bwsrb7Rg6lfGW0B8qzc05vKt3xTIE4tXMyLHn@vger.kernel.org, AJvYcCVc30RhDIsx6klayDJCEaDVZIH/ZArwquvE8Tpvd9uTGaQQ7u/5dURjHnMqf2WTrcKnB8n5iMly@vger.kernel.org, AJvYcCWELitVN1rhUmf0mr9fa9LvQAyJAoeasdueKOQPCIAAV82X7BZuZ9QiFrGKQdHATq2Hac/ieFLbM8vp8B8=@vger.kernel.org, AJvYcCWR5cYSPoOWbS6y6FIxItpXu9/Uw6rRGkBjlglQsqiE6UF7F1t3apdb2pgDWAeFCB/tXvrHW7D571tF9Yuu+7o=@vger.kernel.org, AJvYcCWSm2nYVaMBh014q5vZ7wquu0n8x3MXC+HgOi0iilNe1ZfP5IdHek5/D96VB1FygvaCSVIGi0dBAGQcyaFP@vger.kernel.org, AJvYcCX5KFecbZWNLLFf86Zb20ZS7vhfHvU8JWA1UIc5N1PUjnrF4ayc+1fXLIOVDCVfRQYxQTRFvJDwxWKrQr0=@vger.kernel.org X-Gm-Message-State: AOJu0YzL6ABf/lOUu0HNY7MZQ/wrIxanANsB/EgyGbnaNTLpRME4Lms+ Vq6Jdoo6paQMfgwzu0Q9tgf6mGMqR581/XtwCG9RFBAFUGySWZzUf8/CiPj29K0= X-Gm-Gg: ASbGncux9vYo/G11L8pULOQE7cB+SpXlYqz5P0yea3U5DKcpfQzY/xt5g1LxZrqLhso DfHqcWWzUMbBi3+GKw7gOs/Jhyd8Rm8yC1n2oyH1b48A8glNJyquqZZCdghAEDnxll1CCe7lG62 YE3FbbLLefsfvw1IS/mXeR81a0xTivLZbtOQWEWIsoeeSudpdYxX+ALfRv2NE4u9F7v+E4pGlgZ 7HjbUcyqlmtyUMDS76vA1BihirGtzMA73nBJFIqAgO+IEImTaTwaJzQP/7zjpVa4EQQVRqZQn3p 9PrVrr5+7cbkvsRug9/hAwON/gX8ZfLmT0wuwZXff+3le0kiMIMpt0UNQ7Ya+MedCIIZdSPizI4 = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997519 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AEF81E2007; Sat, 1 Mar 2025 14:27:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839252; cv=none; b=DJAzVFisbPRderAEDXxfi7mY2ykNSpfqIJUKCADTuNqSkAdFSeS4b+1UUK/GSCkITupPBqzOu50iF12A1Dt7tbez6ZfIirZIvDUudJhiDMJGBIqd2KhYplx3mkBcpIAu+uVYLWiDF1Ic/zOQlsP9UMNDV1982sRfNUAROR3XLiU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839252; c=relaxed/simple; bh=ZR7k7WuXjWgoiKosaPdwElgny5Md8dRLy7kh+y/t7/4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ku1qHYly6MfxCr5ewWZUZ1R/lw/v+cvXcKMPnf8bmbfmR7JyirkStSGvyLabEQAt3E8KZg1r+UzeNpcrQi5mCzzD9nP+SvUuKLn/s2H1ABNrD0bfzEhum9FjyfiMbZcRna8+XCjrdEscu1ue4xop8yfOVDrf3aHFK9umNcaRxkk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BMXkz7eL; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BMXkz7eL" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-223378e2b0dso44915525ad.0; 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=vger.kernel.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=BMXkz7eL7c0rZ4gzz/F3UUza0SB+mPrryWEK8BdGCHtYP7who/obq+q2gsVk9dWkgV 2mYnNskQULMN25UXKvM6qRSwhb9uo4idqFp+E6q+1svcTb/j10ZK6lZKKg8pJnd1Fa8j ydppIHU25AurKOe5h3T94+EyR+nKrRfl8PhF5EA5TSo+x3q3wSxnPS3BrBtPK+pCtVK1 78yIM2bcqrzxGXJUBsTnpqR+RQG+LZFIpRXpe4Fr+094ZsXwzdVVvw7di8nyi85Pi5kK hVOC7l92YYXagOVBVZg90W8V3Qx8NdY8HIl3kJ7Pjf5xvuIpNmmO28fg3xyzjW7qd8JK umRw== 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=duUBDVUorXNGgvrvKiBYwP0/d9ANz7De8kbt1vHbGQWfLZgjLC5bygnZ7GEAo0WSiM F+hQeGDWiq1ap7x9eIOtb+Heg7ENKyE71bwNEAS10jTpF7ViNA53fYaL815w4XdQLMb6 fcrjKnECT1vRKbWUiIPNXGvsNhw4db+U5SxH6SFj/TjrF6/BmxMYfvSQ5UTt9g11dcsa 7gVOdh6JZ3Mt553NbKfMLBfIOyXcB+BBiQQIC+QRz4RqpxmiTR1ZMjRjkOnrn2J+/w9R U6M9Fflo90dvfIm14aTkrzx7N+eRiozJUF/8u+PAmoU3sng0Xys41FqYa800pqCId3Ef pB4Q== X-Forwarded-Encrypted: i=1; AJvYcCUTC0PZ91RA48hSZAZVRa49hPjsIeuk+ZXia99+/ABQrHAKJ25bTLl8YHPZA+fV+zTz8NN/GyFznX97hVxm@vger.kernel.org, AJvYcCVV5dJg1QSKMLk/Kxkh3IOxbDV6hWE+LnMyJH1997MVxXtyvA+UFXFpo5RQyISiya/kFXU1eXkbSfKHw78=@vger.kernel.org, AJvYcCW2CFkEBPHMmnxF9hCYriWSvUODSxklGCqDMHhPR1pJONNSKL0SVm41wsh0xJiwIaf9d7lsNoZ6Qnykk1w=@vger.kernel.org, AJvYcCWEQSB1VRTsvRvu/7o3L9R+iroL76N4+wn1Xb9BultMBnTukyXrHBdkCvh3ixHxnjjG+y4=@vger.kernel.org, AJvYcCWhXAEcrmBeqMBtqq0iTk3BeJzO6fZLKUeg+mCemXKVwXGfNThoRVc4k5gtwuuhRsZQ55JVOKVZz6meNNbAH6A=@vger.kernel.org, AJvYcCXBPSJoUP1TGorkAsiUWqbAaiOjPvT6PrsmlP/6IRpesbo5Rfvpia9JaYE1EFW/u/sdh1LY0d/p@vger.kernel.org, AJvYcCXjo4KLLYtXSIC/Q8aWob9KhWsDje9zxZKfm5KR4mFY3lzZE3zNDSGq2TrnYw/auSoIffKm71pWMjOhHzlW@vger.kernel.org X-Gm-Message-State: AOJu0YxrXqEIINfHhV5b/XRDOfW739B02+YseP7fcjBJmINLrG00kz7A rTzMDHn7ZYGhATbWNOOapcH9Xm9Xpwe+bvLzVRZNm+qTwqNn8aX0 X-Gm-Gg: ASbGncsuIbBhBG52MC7C6o3ouxZezvRiey/N+u2JrVZuGKvFeNWOealdlqUU4exWElC atAGH4BqHmCdWr4Up6TCM/vidqPcGcF0UFBrAX/QpW6PykHvA2Cur88pyXNWx0OJKKQorxpah+L W6FbSyoazO4k3piTI6XiP1NKzO/RxbCIJMqPHFvBP3Uqj8vHtdsAZeSCeY0Tk82llMFTrw8WIuh wn63nCNfoZVPn7hXUyUm+SF3huiw0l/N9YOSPDlwsEfFM3+HDgGJ5GHwVm5IYhUgOgoUG39gB3x HUjP/jD2Edr4d9kHhkX9e1Mxr3ogqc5vnW7ZHffC6nxNM2PG3mtwL1+MCgxjB4iyT0vNX9y7GD0 = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997520 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 529911E5018; Sat, 1 Mar 2025 14:27:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839263; cv=none; b=DJNvGCbmdTEQ2oNssYRoZtq0DLlGHszefwxvsAb118mvUKeQz6zai9JNB5yf5UKeYe5p+gSbnh7v7WKH5xWdscShqJTtM/ZZldk15djgIz1Pe/yxfnwY06N5hij1Hmg90SNQD1KJwdVqwD83EXgrKRb2puFgLTlRsjenCE+zVkw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839263; c=relaxed/simple; bh=6rZCyADuBKXQMtzY8frtZm7r8BeFGku217x/vpm4MWM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=R73n9yVWVlZ983hQidGqJI6Nl9JGw+ks3oeUN61ux9GTu8CV+cDrjVg6nKACVE5yaKIdywV5QUGhW26gkskXbPhz5PmfQJhpiR+xapC7khosHBof24odSZe9lKHN2DBrqLATqIk+7esFnGbRztzFJOOQ6cAf1qUVa/HuHTbjcqs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QowTIWH2; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QowTIWH2" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2239aa5da08so1672965ad.3; Sat, 01 Mar 2025 06:27:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839261; x=1741444061; darn=vger.kernel.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=QowTIWH27/KYzozdoUkPzsqiNS8QmQnL3QbWfPr3ZcpU7a3xt2Nn0/eHcze4sna64X Jh1JvIPtyv2tcuo6RUeDmx8d98h7uNfIqxeTESv4KMVwKaHnfLDCBT/hwMp2feu08+9R YTUj4JajsdLQlH7wJXl+Afsp1JiM/RT+DvuuQG5VORsZZfNd/CWJnIjFuSpKQ/ITkqQr 29gN8yxVquVeq2aA53nRVIlfV0M1k5kzCUOMhS9Gue6Phc0H7l5nCsAT+Y8HuzVlfFyu hz9lps3VRtH8Vl/s8k33a+LlQQiB7GEME3+mnuDoEYnY5rCCfVQhycy+GO/yPVVNqxBx bk1g== 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=gc2v5vzV5JpKJ0dYHToUClwr1PQCIIxCMYscirDLO0HBQfGmwZU+QRPgmOlcS621Lv 0cx1aBF1j0S0u0inOmTYopZfJLuOg5hHk38Yj4TyOIViydZhQOTuqbh5R3WxM6VIKMFm gMS6SYgJLg4yeuPFMfBrxik5tjW+uwk+H4WovHv8TCmQMQXgAYCGXEty8p678NgUr8+Y +ZcDJS9tynxkWn+Sw0FdfIA/hf/6ZT5U4MqLD441a8iY9XmrGh2fTTMut3CkKLzLd2Kb u0WDVuO8Y3SgQu6KpcL6zVsWcjiNUb/DwTVPdxvHiGfXJ+hDhdvmg0+FCZNe6s/oD/tI 3yXA== X-Forwarded-Encrypted: i=1; AJvYcCUDOLE9/2wCf5tWlj06we6gZj79qvoQeO20DMt8JJ02Hn+Xqzddn1PogN8D5LH1O7j6AH7vQLjIneKudiea@vger.kernel.org, AJvYcCULs/MK6YTrbliTUi6kQWTVKZ5SGNWFsQCTrH8DBlGd34YJmldA/YqJ1d0ckNlnFxUk0Ey7G023@vger.kernel.org, AJvYcCUeWNP92bGQj7VGCzHN8nDMeTEXLZQBXQ5i3GOm1SjMfLWxRyZNZ3zJLRHYdCJn+27Wnbycuf19K0pR6uLnDqQ=@vger.kernel.org, AJvYcCVskVgMgUCbfHEVCxc5ei76aUvwOOJNGEEzcdn3wR9n+gpufx2LK3sq6InH/JfmgPhrY1ocJe+ST0q6CSc=@vger.kernel.org, AJvYcCWKeKpd7KI6erhJSnt+CvBACH9meTE0PRwsGAY97X/9YH9PqIojdi0YMI/Q1MN3ppoDyhm4eTSZWDhBK+o=@vger.kernel.org, AJvYcCXCZ9OQimG+9eUUDnvMe2dkjP4IvYJbr4pIJLgqZllcRPieBiossiFyhZjORuWgqEo/Bek=@vger.kernel.org, AJvYcCXRmB87RHh6Z6A6/u4as34LSk6oyz+QPJBmlCnluuUID9RY1YSu/7tDeDxKjztzRYtCoTW4daZJJL6y+nxt@vger.kernel.org X-Gm-Message-State: AOJu0YyS6yXUEKJ1h17vUz14Me2BnQDrEopTTk2nzBT4W4h0V7joHe7w xNectguts0R5X0VGhRmj/JhR85lWbJzbeNfQ0RC1w7+wMVCQ46YV X-Gm-Gg: ASbGncvoAmfEM0xrU79EYaNA2KLIaAQJWYd/4R+/RVsUbABU4ERcaTCpl2GwKfSVMxl Yg19rug7YVzCraCqWf1e5WMLqyBZSmi+APYLgVCArCDPb27Rl3pkp7sTSde0UJecyjk3cglx8/R iZVhWrKqf+l30t1E4fBjBLGMOt3qEA3AP317Yboz217lz542WhcH5H8lqP9yc/fg8AiLT1sajDc YmKMFeVVjtvVvLA/8pU2FuSDe2G+RnOXq0MYH524DTp4/I19MTTiYb4spoZnAloGq6f9RPku2kk lx8KD97CjvMLdzVUKbGATOwPKK6W7YNTSxRqze6aWBVHxtCtpybHdmSDZ3U1bj1P+U4yKduRHrU = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997521 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DEEF71E5018; Sat, 1 Mar 2025 14:27:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839274; cv=none; b=CYP9VECH9bl7336rPnLI02Q45gDNlAZxPzlPCVHBaLcYP32L3jOIQqFu9/dDRl/02zRhYqDIPsdQT8UMqAOwsY2Y2FTz/TNdLRarb1L1guPGvGbunWnv7BXX+NQWCW8au18FKA/+hb72+ZzpKjU2umvaCQZXu+dSq1MjEEecUCA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839274; c=relaxed/simple; bh=9MLeZfNC/T6rZivDo76ukvYaafOdf3Bq52OJ1FPtYmo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=EZwkU5IxOKJvuoIMPXqcSe4u2d75uI3z7P8L3hFYF0F/dm21g4+aTw45rhtR+u053hTPq4eU19QGymq7q75iMZqV5/JzF467uUh9vJFFve0jD8Czi1T4Z6UHeRMHY+wj+LDY7LMRbKDX9a5QWa7pBiOp7aCQxLTLqERLc9q+d3k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QvVkLMEv; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QvVkLMEv" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2232aead377so58833485ad.0; 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=vger.kernel.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=QvVkLMEvgJlyLtx3shCr6LLrRTsJbCBYR4G8EmZtrChZe4cgb4oslHhp9s/UjTBRlQ fTmDJK0vY/9HvdZcaGrwwUthXhid9T49IYFLwVuyXtO95wZxy3BUVU9JayIvMgrBa9tL TWFASl/XznOsjbnAz8hEZHwH/AQ0wL5/3x32JWx3Jj0I971Fp1RK6yFI8yJOgjXjlt4o RaW04JX1f+b4ABJ3Y4gfNVt54v+u+Hov3O2hBlh/ChgpvGJSjG9uGsoZ/UO99fRauAa2 Vbe3BtKNrH0tzRM97mc2Iyw9Z2sqk7sx6Xabs8Bp9XXdCNAlAtMGkC+4QQqaWDVZQZ83 o3jQ== 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=h/SIfdWMPLqPVW8ji/eQgpbsGbw82PcnMQzmZyaw4UiMK2ooLWFxGHLO9zZSZbMqpC 6OCmN/g89uOF2IvPD07wqZ8fv6Z/0SNzhawN1NxHc0YD6L3eXUNFK1Y/U6D3SYPIWJin 0f1+0jNBaqeo3+UJCWX14oiMzpjgnqJR531r18cc3qbuJ7/wh/a+Bgx0lhUvw6oRNHrl PQROkcpI5omGwTKYCBph+EQ8muJIV6rzPmcs/dyP6xjePlXywpWv3n+v+Aoj/lpgZC4U +sh5sO9k0h9fU/QY/Xg+DQjiRbmYgJ5c1ATrOTH5G0K3DKcdGHrEoZHNnecJ0i90Cgt/ /5hg== X-Forwarded-Encrypted: i=1; AJvYcCVal4iWnpU5gzCL8Pv6qeiB7ISxo5AKVI2oCKgBo6xBBj/FUYFNrTiCnTCiC9JQmOa+1RoF/3x/EZauGPY=@vger.kernel.org, AJvYcCWrVHarMCHD58cPLlq+BokPHua2oJyFLohsDCDyUVeRT64ZLabJsbF4gXbAJvgHq+eCJTqMxXSXWSGPkPGJ@vger.kernel.org, AJvYcCX5xCkWd2ZK5dvd8MOww3kAHkcjbPbQ5qW/wtCgDDgCZW7gXYByMJqjnBdlf0JOC4KGFaVZ2T/R@vger.kernel.org, AJvYcCXMC+rFarXTlwGEGaSoSDNDGYdWjZPM1+dHiisIR8kliY8akWCx3vogjHh+esXkPJo457UTGliak+xMyPVCnHI=@vger.kernel.org, AJvYcCXSzIQfqnKmrpZggmSDyK9QVYNvse2Lw8ULvOmiJrfGEnCdiiZiXtWFwa1PIppMn5U084KerEyro0NnlfAo@vger.kernel.org, AJvYcCXV1r+4geeBLkEYET42QxMjjbsH9BycydvROu++7wbhWFh4x23kGXkbirEtTb/asiNBYy8=@vger.kernel.org, AJvYcCXhdF4vVq3Msw+EVYcPyFknH+mZlQrM/RyMWlUFOoI5+U+pLbcBQOeL56jfbapw1tsjahtuu3iCx/c15WM=@vger.kernel.org X-Gm-Message-State: AOJu0YyPcUNB5tp0/GBBRi7HXCNrIw573XSmoUfBrXomYSCJ27rs7C2B RwHWYlA40VbXAAcuWhHkasyqJIuvqcxCOvOeWP6snLX5cPBKqrHz X-Gm-Gg: ASbGncvlsyv68J0dvPUxgluqsdGjR9DwBv8qMQ6jOP0bR2xMdHiGR3bbE8yC8bves+C c+vCfQKiIapOh1VyZZQHS+un5mcrw1fAjC/eKNEHQPVV/q3aE+WcWlUyJl7fwsEJE7TQaevM91h 3111X3D6qMnB/W/txGTgcLanRdXQ254vbb7/1QyNn8cXbk/PZSMpGoFT89fKseGkeLt0NMmMK2H 25bGp3v5m2kr2G315xEcAUTijnDjbAP93dtxpVoy2ZAvjXQVKJ8Z+YsM0VS9A2YRC7RlLepaQ7s E3Sk/sJMF2WSA8Aka52+J9nYr5ysKACJQnTNZYm2gQncEOtnwGLKEOFMPrqe7ICkJesq7L2OexI = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997522 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 790641E25F2; Sat, 1 Mar 2025 14:28:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839284; cv=none; b=YbjkIALbT7cOa5BdB3AIdQMiDi1haQvmYK8/i8Q8598FIQvg8DoW2rkWw14QAGaxwran+e8ai1Le25svcnD61Q5U4IW4+h5uxjVW+iKZxRdriswXCznQ9MlwUhsi+Yvcz3qApNP3zuyAh3zK3UBkM/h75OW+0NA+ALbEKoAp3lo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839284; c=relaxed/simple; bh=AY7VWX2z+11go+VbveW5z1yOms0/k4EYUoJbq8u7HBw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kmV5xQsF4zZG0fCcEY76Zt/ibVpBfr4hTm0VJXBAWq2gEGzpiGQj2nqEQMT8tlDtImJfJAKDOoJFK1a9hrjPF01il4mGFn8ahBUfGGyjXss6WU1Fv207YP+BlE6I6qCgBmyY4wa2241gSaK3vMApArLHyT9hEymlnymc/N5Tbbc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FBWNO6Sn; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FBWNO6Sn" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2234bec7192so28697235ad.2; 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=vger.kernel.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=FBWNO6Snx1vvsry+rVvOfIyQbzzZnOjmni9i+glnNRpdJvh33Mjk+Y+RTU07G29bxj N/5TG565se8UPSfjkXAxBlaH6jERY+A0S3YMyTrC4z2BO+CC9gS96Uf5fhMJbcG7rQ+T US3DPw51Gl0TtMp9hnXltNiNMasrDzM4B+Pb2ppPAdPZOuKEryuIv/c0EH6iMUVXp4Hl dlOJ831EOP/mAikyGv946yjNJsXlVaVO/mWjGUxEsJvvXVqKVPwaTxM1gi/Py/loXY3t XN29wYhzq0HRp75ZZzNfgYKhaLK4J23fF6h5YqSXUtQyatt6/uquLYW+LoNyAP66RnOi DQQQ== 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=GVsmuhk8V67ujAiIuG/rS92kBmiZJfdZkX2lrMKbI5ahZxX/Ug6n0Br/Zl/+SCSspQ rf5ftFJlZcqOkA6gWMxNn1nS0P331cthb2fwIIiDrUs8mBfVIeI3FlqApEwrzJiIoqjE yHoI8Nvkgtu8aTrt7wjfvmei9/bPriixCBKhFHWu7NVtVdsNlukAab4QZztXWdKRlOCr 9/yTPSF4arllqDw2xnbnTYiyE2zDHrpxSsy0GXfpLFdX5JetTWu6aBFe8SVJ48Ve4DV8 Yhq5LD8Pmmx7P4KhjGQuG9iXto9CHHu7P4b7mh7veDAhg0O/bDrCFhAmtWVr7jrQHYEl eiYQ== X-Forwarded-Encrypted: i=1; AJvYcCVPz/qKndcWnW41ckcQVGG4uC1rPclfChvMMihHeW8q1NXBPvsiryrCLCqhRqP3AZs4gCbGWbbVPe1qZD4=@vger.kernel.org, AJvYcCVXLJUNy5kUKbeUxiHDayJwlHCqfRAzvvJqhnGZ7SyCdjtgidUa7CLREKQ9eRc2TEWWiHP2Sry1HDwoZ+OA@vger.kernel.org, AJvYcCVxM0J62c3AVclPOWPRHOPg+SYR+HDZ0Ly89ld4Qr1lcFbw+TX3aTUhJRNX6k9R2yY7/IQ=@vger.kernel.org, AJvYcCW9F59PgRnCSplwJYv5XekjI4k2VpM+98VpKud4lXj1Pq3dNFBIAOp1a2WamGoy7SGKS1gftUho@vger.kernel.org, AJvYcCXAetSclNVb9C79IUUyUDSYYWsOsfeke9pYn621yIIlZrExYKbzW6mL0IlQC2Fl8Ifwqqe6qlUaB3TyW4jd@vger.kernel.org, AJvYcCXUfBsi2vVWD3YBAqcniEUwgDF6N6Ui5xb2Evu3C480Et1I+QqMYIGy2/ADY7JRXvYnJdTmmfnCbR/zrAq9PZU=@vger.kernel.org, AJvYcCXzF4BPjaHCkeQR+J2qodKuCpgsJshiuPm9qkrSAHXefhdp4kFfydVUNH1ee25Lk5btKtZGtRxERQYi/BQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxYwys9yZVcUWSOxDUpe8EyShdlsNrPH4hkX58T/LAPC5ZwDIRH l9uaDJFOkBxjRNCXeT1i8L1IVaQcCkI20h+AYNbWv1f/r2KUR5Mv X-Gm-Gg: ASbGncsHhXXVrkwgbc7kUUygyzwHuHHAi2I4POhNjQMfjEesTDdtHzX3+IOcpnrZwyn 4k5PqXkGO1wAVM76TcTo30BOdgiTwtAmYtmHLEl/s0hcL0ggma+4vKA6G+9JIxja5wuucU+vWX2 qo4x9aPHL+Oh8M7gT1sWEqGmgR/hEhkBc+0r6b2KzAn6zzsQeSudqMJswRVfnOOjufMk/Arv7rT nKpovdZtjLVr3q24kky2uEPwLlFSA+iYdzl9CDcMV1UoO+EXL7pVlBkPPjH5ZRG/veSHv2a+x5N XVcRHYKKG1ntoaLpEhqaZ0XtNhDGHTFzc1D47FL9B8jbptywSbFm/2QhYH9QwqgQOPNz1LopY04 = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: 13997523 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEBFA1E570A; Sat, 1 Mar 2025 14:28:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839294; cv=none; b=YxfikD4e6KYweklWOnS7GGFtQPO0Twy9gEW1hvtsu6SoSBdPm5XY2NqjC78HQfFQJsZAlycvGV+w2vlWHw3yUfjq5RgkObODOwxzEuPagXsxAx26jzP8h1s6t51SOm6FOCJ+8RYZdNOu4w40mU3Nex5EhJaHh3D7dnSYwptmK94= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839294; c=relaxed/simple; bh=VpxAbF0iBul4Uw/Lq+mofgkf8czO0+orTD3RsRZ9cYQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=at8cy7kAGT0WiDUKIATPaYmmOWZWO0c1Uz4KSF18RkaTBiDGCSam/si+lRyzLosYIZC7wZxluUuF9pShTw+j+HXohrdfupG/5AXvdwdvWZ2EGTj0MeukCtcCx4+1kKNnyCCiwa34VBRO+E/F++SsManfdjm3aC6wUAG9tpW4tHQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Hoo9Ko7s; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Hoo9Ko7s" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-22355618fd9so51359145ad.3; 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=vger.kernel.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=Hoo9Ko7stR0h0zAYidH+zbNBzfnsfFoY5xhAgyaNfr+CcT1jkILbcLCuvYFaFXhjzh E/feNRSAqo7r1vF2a5muAda/iFg6x2InBoX1QnozMNuuT1tCJyDS27Ci9mdKaYf0NazO cnpSkkLkBajs8MJi4S58HrgPotHxF6QEE5no+8fx+5V3zGWrzplNzBF0ky3yDzZprPWw ZyMMaxE/Im2gaVUAUdM1G+GK09lMqJvx663XgSHZdQE2b75kGtKICgqD9btdc74tUomX cu68gR9wrdbGxiDwlZqQxmr4k+eRNDp1KMpD0lFzTgSR5exzwnXHRxBGYay3hsKHJLoe yC/g== 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=RfpkpKYzcwuGEElkaBELn4xnsixSf4KFUybZ6qkCq2F/oTwlNaeV6byy3eZj0PlRGa btal4bCa2TSSyF9yWd67BioVT51fGOMNhvg6Q70rxXDwf8JXlLdqiaWRiU6wsu8zLXD7 XnYX7NZJ2rhDDesqhGUrMK5TN8hMROrTIYJjH3dFO7iQS5u/LBisY4woonW0wBf8rxOd jxDbAIUCjFZfMn0exYCRfPtLaBj2PqpLsMGDBJaFMOO0NTir54Xr/1rLkGZeISrh19cS F9pJIeRRCKo+ezmLXPg9LhjGrcdiiZbqdunzdmdrwkmC2PrV/SAaW/EPebDnoEwuq6Az euow== X-Forwarded-Encrypted: i=1; AJvYcCU9GYM/SlAr/nqOeF4UFi6w7yC3M0+M7XRd/qKWHabemwxj6rr302B/7iGzRNgeX2D5p39ydUCPvu/ozkM=@vger.kernel.org, AJvYcCUIFznEsR/9QIDmmTe5w1jV/0Cq+qdw7Y6OSPIAPSrr9JHlPeam7+ZqNGkFz9mUvw4NWf3pFUN8Mm9dPgtI@vger.kernel.org, AJvYcCVfNNxB+xmeMcLjSmPSnVLD/PZwaNSyPS/uTzLvVdTDanm7gOtKawU4ZBuKXcm+J0YrVos8w9oJ@vger.kernel.org, AJvYcCWzUxR2QeNE9Cl5oT7XuWBwwGdw0igbV1mDKFsZDq3FMht66BMlhzP3NuCAqUKiu+iDSUtSS00qAJ8+0GI=@vger.kernel.org, AJvYcCXCkUj9j6JNQRFrKExP7s0onDCLuVRfgjQ1njImWWBedq+Lx3ChoRC2aAQGSIg0T/ftoqpromH5TSwbiQj0JQU=@vger.kernel.org, AJvYcCXfG6wvV8/L28hcUTJefYqD8lugwFM2MT19HO9XH5WMGG44AP6RlIyvttk17Kv2qXG+ZYo=@vger.kernel.org, AJvYcCXzajDpOd484kGMhoCRbmbYYCxGS1ep4bBTEQrheWB/X6zLt6RLcbdGiopBVF47+b9cyxARQ1aeW2kuQSMl@vger.kernel.org X-Gm-Message-State: AOJu0YzGKsW+/VMx7SUOYmNvEP+ztTAfnFZUkmw9yB7jxmlShjWRGjas IsnFzCoPMENzJbuR01JIuqgaUFakODk/F224N6gWA2cRYryf1Hxf X-Gm-Gg: ASbGncuSnAzr82ltOhaysbycI0bR2q0LEQNCr58S7APk2Agj2irSEGId7FsCOGSVsgC CUAyUaHDW+HGEodsB2We2mtlqoJKNLU1w1CwTjYUZNHhTD1lc+Hcv7NgDCfX7IDMKGKxp/QEKYN XgsgKXUOWsZd9X/j7mio7TkTnB3rzLRyHH+UybpbEx6EmWmNLzWV3kJp784tqXGTpGiTq2bi/Sf I2CGOq0kjhlWdI4MtxIUsHYjW6P2i05f8umAI60p4O5lIW53ZF3JQYtapxkN3ZJXsHnycTNrMTp /6XUzZu6JYyGo3SbHIbMpGlvvVvQo+v2h9JfTLnJ/+wnR8rFxea9ElPiCjyzEbGEIm5RTpo1eKc = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org 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: 13997524 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2A3721E25EF; Sat, 1 Mar 2025 14:28:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839305; cv=none; b=L+yGH+GFizU0QP5FA3LlaBfWwzNLv7g3nf0vLzkTxcTNKGqJLdv5jB/PD/e6zxxdQtiio13q/9hl3SYLkuL+aJmijr+odAwUi4LKA1uQvXvs0lIdrjzll8wdoolAGZ7oHLlt5pZgjQHk4lQ/9R6685kjqYzQjorjJ1zaEiQahDg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740839305; c=relaxed/simple; bh=wv6ajOFVKcvTUlaSn3pgXaNKGIdVIim/LCFNOWca2tg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=tlUh9CKR48nrvz3Qmgr36ItRQvNYMj91+57RzX05T0oSsTTeGmup5IY+EldyxGCKxDlkf7UTev5DSMOgZ8jV02UVmfGpBSZqLVZKL6sUewFX5SKpazF8fP1lkeWrowJYeRuj8C1wVHLeiWS5wjgbtpp6QA+1aU06bGKZOHvHbOE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=J3tuGt4W; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="J3tuGt4W" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2235908a30aso28682805ad.3; Sat, 01 Mar 2025 06:28:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740839303; x=1741444103; darn=vger.kernel.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=J3tuGt4WusOwpDTr/68d86e2jtux6vfI2+v2wtPK7Jsx3EH7CqDy3ywlnV3dNou49k zwzk6DOan2l0xXDJttHoOFobD1qRwhm2s4KBY/4hU8vcufDSc7CJB0L9Jc6OM+gI3UmZ C1NCBId8QTT/M7jFDRKilaqsEb06bprXtZygXUw6+Z9MOrrJizb3urjWeymrWSKjXwEX 2otRuYtdGtgGlX9hyi1GHhFRw05C/f+MqPs5TQeztbzbVU0Ou5K/bIy60u9sxMiQEyfF CilkXYeC6COXPoYW8EEN+FLCCP+guYBFpY9ADJTn3RlTZlS4Rl7AESV2KJW6omgbaiDd VEQg== 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=aRG+k5jCdtIemLzSobBYlbNKdWGrgg4DnylDyOTzyDwO6Y6jCQ3cZ7lF4TWSp6V7Rs zNWylzDeWuUyU9F39fCwitTF2fqsfvuJfoutB42w0S00qmOjzbfbCJeN6ylMYrafzXeq U8zYpaQ0Oy0ecNjSKXdLBadZJstp09eZznPjb4RAR4+i9NfQ2wufl2XJG6wgQdBBrgfu 6KCq9o7dEAwqbi8f6st+86fnsOBS+H6fz04ifquNR9ZSxoYz/SHPiB3sHLTysyEnskEm jCc9S2EOjitR1S6Jny9o/r05EQ8lzQaqb3MYOgOn1yiBvTVgMvDzEO0YE/G23tfvjaTQ aXTg== X-Forwarded-Encrypted: i=1; AJvYcCUOR1/kUkOP4Sr4G90j6lzzmOcHqVbiiwngMl025UOBnGddb1Zz2e9/QQDHH9ov/kKal/Hi8MLv@vger.kernel.org, AJvYcCVqEHG/p7Fs0aUthBcuuQMYJSYsqePGrDQozwj+BckJV6KFM3bhzft70+6zM+hr+IiI0IrstPyKfMGMaX5J@vger.kernel.org, AJvYcCVuk4eRBlVOSv8qJ8WGh/66Vpb9pgzrZXAsg2Etk3meaoHjSaWJgwuQlXa7YVNs5j7CYL2cYNbN3qKkj2I=@vger.kernel.org, AJvYcCVwpcvEwLRpFCtjY8cqBLJ/cswY0duq4oXRPDVP9AgQRJGk8DHURvofQR5j6fkYXOMj/OmiVgvLT2WGkJFZ2/4=@vger.kernel.org, AJvYcCWDSqefjCOJB80lbdbFS+wPq992JAc9lzHSW+pbe0qK8HDt8MVySCV+IHK1FFDBPPo8MfiU4dvMY7pk8JfD@vger.kernel.org, AJvYcCWc0PxkpcQW5NdVHxwIskHOEEojHlJidMi7XByhfgOOGNOsk8qgER4rez9tiZGdCrgE0c0=@vger.kernel.org, AJvYcCXlOSC6Z8XRoU3+5ZQwUbw3ATEyO3yU9gcAdaKWVqBmse6K3JUGWFVlMwd7i/wSdhhDM/C5R6R2m+c+350=@vger.kernel.org X-Gm-Message-State: AOJu0YynEqnLrbkeAEbUxCZ0RzFjwKytSmv7QVC3oJQYhiAiODmU5FZc QTD7ZOcmiuCwyvTJyTRDyioIW5ZJEvVDRxi9EKllwvQiBg20CiSm X-Gm-Gg: ASbGncuKLSJeWKaFKl1jCnx4Qkzi7nrFBrYZTetTr1Qr30rGBwMkTrDkI4olOpZ91Xw llOeXTqPXD/BR7t0YkmNcMpxsUBxen/2co34NaPvPrf7a6mSUPrdtvaadVJCG5+ppEAJ9tM6O1X nsYKf90z6EvllJ3eQ+3E58bwaUeIFO5iAt93OhabEwcadEjwE/BUduVfnmLnoB+VwB9fAaSysmU v7sH6i3/uK4fvmDfyJDgGV2Si/tFtumty2HTvcW6GSGU8sMl/jCyhCIekxcI4qncXT/loXVRWUl o5w6mZana30b8x4NSXBdQD2fU+2m4pfIA8sDmP4a+JgLaOvD7h8DdxY2d4d+Yfogq9kUIsV+JFs = 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> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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