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: 869829 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: linux-wireless@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: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: 869828 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: linux-wireless@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: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: 869827 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: linux-wireless@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: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: 869826 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: linux-wireless@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: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: 869825 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: linux-wireless@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/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: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: 869824 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: linux-wireless@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: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: 869823 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: linux-wireless@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: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: 869822 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: linux-wireless@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: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: 869821 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: linux-wireless@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