From patchwork Thu Mar 6 16:25:27 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: 871017 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (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 E7D6D213241; Thu, 6 Mar 2025 16:26:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278379; cv=none; b=Z2f6a8BtjIKq9IGA7Fq1LPS6OtGl3VHoVLfV2jEa2yKHHxGfSA/T5qbwMW6N3Slb+o7X7oi8kWZAZ88KvMceGHNpZmz7d7ATGb3FYTQniVgRi5dW8bziOqITs9oOzikRT0G426452dkKj7U3DgQrK2PMGOydn7iOkrQwnGduA0Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278379; c=relaxed/simple; bh=CI2QBouZ2dkwbzeZblAU+6oACVJBoXLyg4YLH7XXZZk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ve7biRGmESmhhEdNui++hKVwwu+ep+WdvxRV7KiEMEUQP9TCkZXAvaRC/wzgKWQyQutT4lFtTQNhkHpbYJ7qqyD5YgGNhc/XhQVGfpGYyjkufMOfBZO6s7i+zdC78cj0FSjFWb9pOdjYk02NBrwSZvYT6t5JCHSqJs1HUW6ulxg= 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=CVYlKyBo; arc=none smtp.client-ip=209.85.216.44 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="CVYlKyBo" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-2ff6e91cff5so1032747a91.2; Thu, 06 Mar 2025 08:26:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741278377; x=1741883177; 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=g4VnYHrG4RwnHlGdrfRVkI5G3ZqKaX1Ck3mTCfWdoMQ=; b=CVYlKyBoG2ufgRtWVfwqci+hRFg6H819X2wPu7GFMeSmukT3Xpg4Lxsjry8UNIZ+m3 6i+08MyR5CCJIM/+32OtVubqu4tm0AzdyqpT4HeIfkS0KG23RIwdnywfIXvj9SGtWmGx N6b7Z3LIGi040ENpSsEMHfpmIgYtw+RcMo9uzKSibF9S+2zfxln9EMkMGRvCxuSI0FJs bNmgOTdx7A4PP/ZD9XFHTOLA4Ze/CiTglXpPWRG7IT8+8yb2sRb1Mcj2yYs+CJm8F1lY OFhp9oPGSiOiILQZINPt4eF8sHWKXzoBswwL1a65fItzs/OuCQ8rxMIrynB/vlyAFmTp jIfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741278377; x=1741883177; 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=g4VnYHrG4RwnHlGdrfRVkI5G3ZqKaX1Ck3mTCfWdoMQ=; b=xDM3/w/UjmeLExpFtlInHc6CexlU2JsaPMiaOVzPO1N043m3YxdwKlEzivPHdNzL/r q4r1dw/cYXo9TqUrQnTgCMfEAWV9Pf+MMSlCyBsx2aB2petr7IbTaJdOWK2Qjgufn1wl yRdzZ5zzW3erLQbP/mfLiQqGCH27LO0ptC2EmlUo+qq02gVKYG0dzt0/XWMajQMF8VSk MwiHEaYy9xehtLgUJ/PM7q4g4EQy7zfpvrJSgXNgcuVN1BuFzN7BDO2NqigDD0qlt1IX 77ZLDnHALL0zFVAecnoryVl3ne8AZUUoSEouASbaWsNfB1+0UZo0qlaKGnItYWupGi8u 62KA== X-Forwarded-Encrypted: i=1; AJvYcCW+vbmWn3pPSL6xNvzpN8iBvJ+c1LZ7ChbpFLp3VvEuVVBoOp7gLN1KmU26dMfuNFzF7jk=@vger.kernel.org, AJvYcCWzLObVbLm90PvJGW1dvBP97L+HCAaXLT5zHnek7nz35YhCRQQT4ToiRMfoFa2JqKBZbK3HdLE7y79PAtE=@vger.kernel.org, AJvYcCXCH1BeQSzABvEyhyaHY1EIg375IEiA4b4HDwn6vrbmpp2cTb9O1OY8zPihjY71+rYg2gX9oTG12wlnZS3E@vger.kernel.org, AJvYcCXHvwmE9ugPbJwUFqw8B0Wzl5cw3OnBKJ1zZ+zbn7+bi7eKDzmjeq0h6Lgpd7kpPhd/5sZA47Fc@vger.kernel.org, AJvYcCXMG6xW04jcZAIXsiTlmL6DbHx9MEo4z9///vgvJNWSrHIEvpI3f7hfmSBUG2f0Iy6pD1bpHG9jPrtlqVI=@vger.kernel.org, AJvYcCXP9DdWwK0D41/Je3puiGG9/UcUtKXGp8GE6UBpW7Y5kcIhrbdYeDx1+REVaKt3wA5xYjTU1Ls048uPmFAL@vger.kernel.org, AJvYcCXe5e/vgqK5pwrTxIc2m5byqleE+Pp01UmIzapUFVnyAeoCYsUkDSnOdTUioxF4v8n/Qr7JDczdicY7IjL7vKo=@vger.kernel.org X-Gm-Message-State: AOJu0YxFq9m/kEgEZLPQnTvfS49gMIk6NjBLblq1EA7d1Tfmdt0HS2bs Yyhftlw/4epKMjk03yr7aa7OZp8cD8GWygdiUV05EqwCi4m2Kp3O X-Gm-Gg: ASbGnctU2cdL1W6Q7YOC4iHtsQu4GLPTG00uxaQ/ymDoe3uIwAKyFGkTKj+TLBfJvK/ vVm/IGqgSBiOf4I3O2w/cE2a26fh98noKIN0iIjaHtddFmCuqGXLmJsANdoBQSJWqTHWPqnUeue rK99uKUzBw6n7wxm0Tz/nmxANt24q+R2IbgsbkVh4W5p1A1UyEKzlum5kdBZyMtJW92OK57DYn3 4OoubiybXg1AopkHv8GmVONmLrwl75Jx1SZXJnjhn3UeXe8uqjxj7XSpD6X/uwYUGzHUXAT+IOS sglUGCJVioDvAH3XUS7EUexaIjVxJ3AuAewv1qhAfBKmy6Ubb7XC6tI7zc11HHKEgtOWoySimQE = X-Google-Smtp-Source: AGHT+IHz+gPXGVLABcu1Z5L/FQeF1foGDNMRW0PUwFQDBuhtYoYyf91GQ4fqN6r0d6c4jX9sVUpwVA== X-Received: by 2002:a17:90b:264c:b0:2ee:863e:9ffc with SMTP id 98e67ed59e1d1-2ff49753d20mr10753652a91.21.1741278377011; Thu, 06 Mar 2025 08:26:17 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ff693e75bfsm1464298a91.33.2025.03.06.08.26.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 08: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, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v3 02/16] bitops: Add parity16(), parity32(), and parity64() helpers Date: Fri, 7 Mar 2025 00:25:27 +0800 Message-Id: <20250306162541.2633025-3-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250306162541.2633025-1-visitorckw@gmail.com> References: <20250306162541.2633025-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add parity16(), parity32(), and parity64() to compute the parity of 16-bit, 32-bit, and 64-bit values, respectively. Each function extends parity8() by XOR-ing upper and lower halves, reducing the input size progressively. Co-developed-by: Yu-Chun Lin Signed-off-by: Yu-Chun Lin Signed-off-by: Kuan-Wei Chiu --- include/linux/bitops.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 44e5765b8bec..906757e1ddf8 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -260,6 +260,48 @@ static inline __attribute_const__ bool parity8(u8 val) return (0x6996 >> (val & 0xf)) & 1; } +/** + * parity16 - get the parity of an u16 value + * @val: the value to be examined + * + * Determine the parity of the u16 argument. + * + * Returns: + * false for even parity, true for odd parity + */ +static inline __attribute_const__ bool parity16(u16 val) +{ + return parity8(val ^ (val >> 8)); +} + +/** + * parity32 - get the parity of an u32 value + * @val: the value to be examined + * + * Determine the parity of the u32 argument. + * + * Returns: + * false for even parity, true for odd parity + */ +static inline __attribute_const__ bool parity32(u32 val) +{ + return parity16(val ^ (val >> 16)); +} + +/** + * parity64 - get the parity of an u64 value + * @val: the value to be examined + * + * Determine the parity of the u64 argument. + * + * Returns: + * false for even parity, true for odd parity + */ +static inline __attribute_const__ bool parity64(u64 val) +{ + return parity32(val ^ (val >> 32)); +} + /** * __ffs64 - find first set bit in a 64 bit word * @word: The 64 bit word From patchwork Thu Mar 6 16:25:29 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: 871016 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) (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 4A2EC2147E5; Thu, 6 Mar 2025 16:26:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278400; cv=none; b=OpW+Ab0JxaJEZW22iVdpB6/5UsFNhwSxSKjqNYRWBsWBCj8FIH35QqfjyGPzBJ9gX6FWJMyhV2ZLbnFwLtJTgkGemo5Y5PiGANU+i7ewpYo10QwIM+sx6gnvwA0Q8JZbRLWdG+g3HuPV8Oq5NiOpQ64VTon2plDww9s72Ad+HBc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278400; c=relaxed/simple; bh=JIGbdj519hBofglwm1x6Wa4PWHJoF7xJSHZGDTpyM6Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eeaWuwIJejNv4Y2OC4U0JCp6FNoCblih5MdKkSyST5d8yvisKkv2i8lqmfsj5SWib/AdUemeKC6y+EaZU1tQ2rQKdG8iOLziMxLZV0FnIUORxL5JvRdwI1mdg4gDYdr1VPTvOhm55zkpvjJeCMbhsuEsIHU6W3ythgBja7IOzpI= 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=Vlodpozr; arc=none smtp.client-ip=209.85.216.54 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="Vlodpozr" Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-2f42992f608so1719360a91.0; Thu, 06 Mar 2025 08:26:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741278397; x=1741883197; 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=VlodpozrEtsyJB7yVBQbWAuEZ3FILQTFZfdq+Sy2YjFV7zKhB77BwEsmW+teTdMZwp 6vRTtopTGRzNWpOhjWJuHpmggGt6veijCa+kN9han/pU03oPm5uyhSmk/Z0Jq+iVm8fP cZVnVa7Rz442OQNSqOTRS1R2WmutVFs9CTJyYpOHvgFWFYNLVeWWz9SLVTuFV3Uh6ciV EZa6PND3ParJ9TIltyJcORcWcJh9oLdW/UUdV6lzq8q6xva/82s0qHgcICOK9CiNasHS rMGQ6ChY3k4X9VGP8e0OCsKhCa3ZGtbvrT3+5uTkH2fQ7udCKxemYMmnEKo4FtMtJtYB UZVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741278397; x=1741883197; 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=krfQMTMWJqdfaygyaH8N+W9/JvZsdzH2tz5dZpPO3b8IEKdOBNpAL1D2ATg8Sr+GCm bU8FbhptZTAa9YSvJdSsTnT98GgSxUfscRSJCJTsxBCiAQbKN84MjeC8ky1MEHxXAqe4 zFuuLKjmPWFzIe3bR64Rgl0+0Dz4uTkafnf55hM5K5VQEk5o25jXbB5dbzsI19/ycxKI 2/c2EFo4B2OamREzHIetAPsUEJsCjMUiBzEosT5+G4cdtnDmfCCts55tuu8qE8ax0WaQ GsrUfQlv8eboNuOV9KwJtvtjFphgKfFm9BBO1bNvnc8+5g5RRBKG/W4MAeXA44M/braC 5lqQ== X-Forwarded-Encrypted: i=1; AJvYcCURv8FIEbEV0YWhZe4Pqs5R+AFO3UwYj0r0kUiX672e2lT2H5muFF28CNtQ018ym/JnGOg0dn0M@vger.kernel.org, AJvYcCUnN03p11Gly4JLiHWbbphMXjT+Rth5joLeHBuN1m2HcojcE/3jVlbyt77AgLe0SgyoCVmy3z+kGEBfN1zCYcg=@vger.kernel.org, AJvYcCVHfKmu03iPISA+WN0Km6dIc6XL7pLhpUX/bv3BsVyRoipSUvFYL6edJIsdxkBkKzDtUk9tJQx1Gw/5AmPj@vger.kernel.org, AJvYcCVoVpY4XDCWkc9GiaWPgtpBFyVxkTNrChkqb/aHytww4kSjYbc/XGYdMG+iJDojSOpxIoo=@vger.kernel.org, AJvYcCVx7KijXj+WKOF88s0FoawDX7wlrHhsmB5e70r8WoDTBEeZutODNVVrfkZpHsLJrBl9f7ytJ46MFTQhMBY=@vger.kernel.org, AJvYcCVykCMGaNNb1hMYqFWgM1bbklTk9c2mPVSc+HVt/paFHZcPoOD0r14UEi0r+VYpa9GkiEaaOOV3rypeMi1z@vger.kernel.org, AJvYcCWGnvBk98+RRQGyeLYsvWP2/7A+tgxpB/8bTjA1FAd0XcXIbSbsM8vEQXU9RzUA6QbHOLWKj73UlqHd2xA=@vger.kernel.org X-Gm-Message-State: AOJu0Yzy9wozAGk56yy+H7ecISZzvBzxYbziQtbW6R8Jyui28te4sPZQ lWmRwgi1MnF7k+MCAWagAwh9XVWA7l5ZXdjeNe2vfS1MOiMbhror X-Gm-Gg: ASbGncuK5+qYVkVLA62UXwB7oDGTOAnUUs/WhpxyB9Enpe8hFitmKWN+AB2YxX3zX8s 0KGs2mLwPLj1CAwYz451n6+u4vfB2AgUJfcyLUxxNgjVgOAo6fWNlwNvTfmekjsy6sXYvAUdBwp 3YIPJzrLtWTJN7+j/ENVPtzq8Va7zaJF/JSmBFelNCeX7fA91AXhyLp6bROiYOySYe0tiIC76Cq H3tsGsxJTxukuHZwXa+RvIl+WezwYuNdAUJ0g00oTd7nGpFrClbdWO1Ru5uFAYqPhWC2X5gKNnf 2MwdB9wOdGRDjyjRagtX8v0LjdeW542Oak30TNsLh8Gs3kc9ehZ56fdt5IQ9E5T1FVFvmhH+8rs = X-Google-Smtp-Source: AGHT+IEdHwa48DziWanocz8wQ67fQs43cM3+X1TXQ11+KVNWCpcETjdD+vdPtUkiB0WUQbIndA90jg== X-Received: by 2002:a17:90b:1cc6:b0:2fe:afbc:cd53 with SMTP id 98e67ed59e1d1-2ff497a62c4mr12413101a91.28.1741278397498; Thu, 06 Mar 2025 08:26:37 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ff693e75bfsm1464298a91.33.2025.03.06.08.26.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 08:26:36 -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, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v3 04/16] media: pci: cx18-av-vbi: Replace open-coded parity calculation with parity8() Date: Fri, 7 Mar 2025 00:25:29 +0800 Message-Id: <20250306162541.2633025-5-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250306162541.2633025-1-visitorckw@gmail.com> References: <20250306162541.2633025-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-media@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 Thu Mar 6 16:25:31 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: 871015 Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) (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 14D772153D6; Thu, 6 Mar 2025 16:26:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278420; cv=none; b=iLvl0fmd4JU++xwNAbM05sno8yAsJnKG/6pObOJfKp7PhzgBuEuaZfUJju+b3NDNtYsmYgwRnTtNZDMnALeAF0J068qjcWcjVcCvmaz+LNg2feeLgwo2IlJulkoSNgWwii3ZIlH1wyuTB7gAxnAmqQoNpMq6KO5FaidaHCXlSxA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278420; c=relaxed/simple; bh=+p/YAFe+kk9OWZ8tBw9OGe2ynkLFMgdD4C/iDJ1Cf18=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pRlqmKOUcn/DNk/UztMfesvpdAwsaRVXqH7JKemjkPso7d8uYWpQwPfXguNgmx7STcbHyKOr44eBsjDsTlnY8ZXkLJdUJgEwvh4KaZFCPjjZTT2AkieaXtV+swsqhNKE55XZBxzhPTb3Wlm2BfGcAbLYqOgbCQIV1f7o4uGvLxs= 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=e50dwewd; arc=none smtp.client-ip=209.85.216.52 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="e50dwewd" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-2ff04f36fd2so1704361a91.1; Thu, 06 Mar 2025 08:26:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741278418; x=1741883218; 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=OLC46Ss2m89bTVvfLJi0Yp7p5tSaqeo4vrmp4oYzA88=; b=e50dwewdRGi8g1VNC7UqEKJ5q4nv9j8+RtvsD2S0BP3QF2EAi8WDdYikHxjB6f/GHG AfO0VfsEfy/784EpFSsBCtGfRZCSPmZHSulvDLLMUEhul6WtMDd8C6gJQ/m2UhNOC5If w5RFv089kK+fq5u2XMyR7G7S1XyS3kylE06hCAeHQRdWuugJ9Ak295MDd4K1rlsjxtwa MqFiQucLSjwGwFDQGvprPlwvX2WbcwpcnaTt2Et6Ky2eMsrT2rkdNAxmT87UgkLM/Qmj YoB3ANPxXk8++j8y5E2wPauT5f4ieifn3OqqtI5JE0u6Zsfthd6UtGN3p7cr9wItQF05 uPpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741278418; x=1741883218; 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=OLC46Ss2m89bTVvfLJi0Yp7p5tSaqeo4vrmp4oYzA88=; b=Unk1t8fWSQKFSHZdSHwxLNW7MivHYBaPTi/ltKTqRDhQKq0SFMzHeKlsIwmF5NZr2u HYL7Y3O5XyDQpivLrD3SpzLUPK9Km4BlVAf0N3Fb1wa9PIjQLyAb7qXEruqv7zdpFsrV eAmw1viXzwCA7nwdHci+95IxGmzS4qOwCg7Bvf5Hma5usgpucylpjvXoZFBH+j6biJDF yPrfWy2TS2O+qlTLjWlq1ywx14kCDT+nu6ktTM92wRbDCu+3FC5pKUY9KhtXy+TKGwGK kyQkXTNBsnEd+P1PliapnzGl1LHD6y4SwC4INGPD95woI0bKUn8iVTfOAqTx1Fjou/Dj HucA== X-Forwarded-Encrypted: i=1; AJvYcCU0OZZIXaNnX9qNEaVbzz9XAzpUv19FJoH12SaWV3X74dggZvNWRqbMkstlL+GPr/M86Go=@vger.kernel.org, AJvYcCUDtgzcXEw4nPINZ+kam3o5XOplp+1SIEj/POGMGqMKkuiMVek7qIgIBLvny5kggMFTKjj3ZkFl7WwsuZU=@vger.kernel.org, AJvYcCVMZLj8leFCt1lJzP/WOTjAAfNfZ2gYXdDOZqdyC1rQkCEOiLz791Heu0SzPVaYEqTn6G7PpU+QFznWrnE=@vger.kernel.org, AJvYcCVYJ4DBtQQC9TZpJBnXxyImc+LcZrT4J5ubi2r23FCCLBGuggzxKkP81hAve/cuwXwmocdVJQEjYbdVw4Go6co=@vger.kernel.org, AJvYcCVYUqmLUYQfulqXubUzVoAi5zhyFebWecqOQkaii0g0/FPYvux5CO9YmbIzdWB3SD1qqxUhgx3rW5T6Ze/e@vger.kernel.org, AJvYcCWr6IYDLyYe71ii4Mpb+4THC8UqR8azC/EqAsaY3KovVyR4aKAcZwvXR51E0QgecN1CLC0e1HAkd5/GBDoV@vger.kernel.org, AJvYcCXkQEqpTaqoilvRWJJDYrD0kxmnJxKXC0E/a430HcGHjv2kWeIpagWyxX+96JzXkalTJYN59KK9@vger.kernel.org X-Gm-Message-State: AOJu0YzDzYsQTtoySvrMZlgfGCxA+NP9BdCagVnPQAqD1dPmITHSu/1C UTxj9tYPMDuGavRIyPGt4CvPEMEjCW3wOVEapZ7T752RwlpbAbis X-Gm-Gg: ASbGncu6XlFXGK/wHGI4nQeYE/yFavfg7aPrf61ZGTyDxxbd5QtfYkcPRa6wzgs45OK hgU49NynSPU+qaabbtMPoZZjGxCHhybKixh97WwNpbEoB80RxBpLoghmtylf9siaXJe90IXK6SH w8+QR1kC2XFJAm7W4q2n+Ovd0/n7fexGzs8WM3C0i9Liw3mpeRUYvUVU7pwjVluu8iI4hXzYtF0 g5L9elP9rWpKKWm6p1kx7MuZ9enjpyMYuSzuesYVp4ZEUf6xqV1jy4xN5fU8G5vopA4Bh2Zm5vd vU9j02gb0tURiV68IXFN/FHpArZuGs3TH7Q2IYf35cG/Sdb/TRn1EEUbsnCO/U43IYh7Cs/J+ok = X-Google-Smtp-Source: AGHT+IG03DCzCpNpvI11hw07lC+sk1Ut5naphaEWX0iSJy+1ysJZeXoZKrfH0dsPOSnHxsIbzbSOpg== X-Received: by 2002:a17:90b:3c87:b0:2fa:15ab:4df5 with SMTP id 98e67ed59e1d1-2ff497ccd9emr10053018a91.34.1741278418239; Thu, 06 Mar 2025 08:26:58 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ff693e75bfsm1464298a91.33.2025.03.06.08.26.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 08:26:57 -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, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v3 06/16] serial: max3100: Replace open-coded parity calculation with parity8() Date: Fri, 7 Mar 2025 00:25:31 +0800 Message-Id: <20250306162541.2633025-7-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250306162541.2633025-1-visitorckw@gmail.com> References: <20250306162541.2633025-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-media@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 --- Changes in v3: - Change parity8(c) to !!parity8(c). 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..419d74043498 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 Thu Mar 6 16:25:33 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: 871014 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 19CBF218AC1; Thu, 6 Mar 2025 16:27:18 +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=1741278441; cv=none; b=Jb/0cSDBJy3bvXUWxnzU3CHcRS1ikhRdnlLrZgYtnAh+P3Fjev64UPg2kPi+S3rOMoDUU6o+uINLofUjuWPVZqfSem4HiGkbbbEoM0Ud1BCrVNphYs07pbhUbIbVgrIhrSTxNQlb9OlNSN7fYq8zdchk+NJUaqNeXFpch2sshnQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278441; c=relaxed/simple; bh=3j2xCVO3a9Gv7A0MIU2nyyU4C5wyCWXboaTPOU2Xcdg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=s+jfx20D9gtUCFqq+mV1+o96uJ9fA2PqIcNmJCFYvIl9IJTGPtY07DCJuojo9CUqOu+/In4sV9FpXg3DHFQ9b1ZEqu2hd3GUIS4EEmcNqouHdtfpX5dF+cXcCMy3jq5DHopa+2SYCnGB3jWdxr1jtRH6oLyx1/g6l0Xa9QUXEus= 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=ih+Z/hbI; 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="ih+Z/hbI" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-22349dc31bcso16486155ad.3; Thu, 06 Mar 2025 08:27:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741278438; x=1741883238; 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=XN5ImNH6dAdBfCykY87Jt3WvSMwHnviLIgPuEMqr3Q4=; b=ih+Z/hbI3yODcyYkdU52WfMC7XbuTBiiAWIc15+EbeYZca2nPvR9OI3OPJ0XvjnHun B2k20DQlSPVNk876jlsfGQWBJA6Yg/9GrRW1Qlpt1Kp7fXFImbYBodc4x2+eSiZRPA96 hr9gieEfI3pxfWZrbCFPI1sQY/R/A+ecmCXMqSSznRbMm3z7HR5ljZaeqKman8l8vP81 3zuJJlBBUTzNyEcJY6PWXUQgrUGQEK4ze1vQr/+hh/ezXOjq+36Y66iE1Gzb+uQYo9kq lGaGBCIZ4m+q7NnPzs8wLunSAGmTMim5tU8zNxREcj+TmaJzflWJhBXPYC5lTXhtRKx9 aQnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741278438; x=1741883238; 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=XN5ImNH6dAdBfCykY87Jt3WvSMwHnviLIgPuEMqr3Q4=; b=lrjHft2NeI4dwjLPPNKZeYvfrFeXDs+eRp6jJgb8X2AFtOlnmiho76Z5yb6ItDzFhg SoNYFMy22OUc+pwnsjcAB0UhE6FqZkPbS8ST9B/Kz9FCkttPNFCDnJAtJzyERMaC1M7P 0AyU0AHF5CxPRASvaxuRlvilS25NxyQMwY+t1aWc6LJYrkK1wJUGTFR96ASqYhxRQ/P7 0NigqCzTdfklT57uMOsqfyP1KvL46JCFa8gFEUfnvqNilyIYmoRwK9UNe9ynOJtgQWoB Iety5bg0Uvm3OlO3w0B7a6P+cNz96l31LFbIAtw/wxHqCM2znTDO2pwt7HkrXQjfEpMQ RFTA== X-Forwarded-Encrypted: i=1; AJvYcCU7TBqiUVBNiU6jQgIIxI0ZGhiGTAZjJINrL9wUQx7e31dzvqh/o+unQpOnBxEP0r4mLXPOlYOyTvirkFE=@vger.kernel.org, AJvYcCUs1fjJJeUvhJFdYYtd2mvwOK5B+WSuSOQkadm34wwfswpauUEhr+UuLSLlgix5XpBJq8c=@vger.kernel.org, AJvYcCVAAfbQgmcEJcv3j7uRa3JX3vr58PAQMnVx6J4UiEkv5L5ZjHDIWOyAp7RQgNgyRVUCo13ZTOoDh3tSdFjP@vger.kernel.org, AJvYcCVaFelyxMNUV/nnqgkxe2oLoEotsL/W1qoZAtivkIOjoHzJJyP8NOuWf0KkfOfwj6M4hX4/2CQ9z3gfAQUvvng=@vger.kernel.org, AJvYcCWDIMY0QoGh/J4anx9ejVkbgjam4XxBqKu1Yi7s3AqzX5UJcntUTEqwfumxDYDtpArPnn4R03Hi@vger.kernel.org, AJvYcCWRrATOD96ggCG/gR0erX1k+E4DSh+w/fxzdl9bi5wcQhO7rd1kDtzrMGRjvWZ7jCOc8+wU/4nRsklGWJJT@vger.kernel.org, AJvYcCXCidEQ83//UTWDwfB9kpMoHkR0dFCyo9cbZqjS52/74xJNBurKF+1xKzgFZzwmCxr9b1d9UNfLnxeG2IY=@vger.kernel.org X-Gm-Message-State: AOJu0YxmgUoFq89MunKDTA/G53OfuS6S9P3hj6zIZvFLSTGym1zbqGp9 HLWV03oXEiJHEsCmeO/8oZL83g255kXhK3SFV5Ey2DLyp5g3IS8S X-Gm-Gg: ASbGnctCPzSvmJkVCz1phQm2Mx+T9cnK1aqgWI44iQ14SxkMsxzzKnN/Aa/dfqG5LZz dJ2vMMgTBawr27KgfY0pnDUaOEYVzW0W9U2vvJJ7Ty8VykUBhPlQZ996YYfenAWDB0+sV+yQ9jg 0EJtNu84nOP5+D/lPMpCMT2WnL7F7wTH7qspSOL7v05InItxwBZF7k8sSwfYFPDgaqc/Ja4/s7q GVMiEl1irt7w7JrnHz/XUj9Spnt/Yp1470Iak6bNPNTp/+xYaqxvQ+oZZsIq9ODByoBXJCKE07n eMPMJCCWHqQjS4n38hiUVVmROakKVxW1wAJUPIlT7oHRuLpGD9w432sDLxTOciCiWbC0imz6T1Q = X-Google-Smtp-Source: AGHT+IF18uiSk+IKiG1ozkM3lMeST4qvi8jhpDhJUoUXK6z5h5Y70JgwenicEaPtYCl0NNS2nVYnUA== X-Received: by 2002:a17:902:e5cf:b0:224:1eaa:5de1 with SMTP id d9443c01a7336-2241eaa5f50mr17212195ad.18.1741278438234; Thu, 06 Mar 2025 08:27:18 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ff693e75bfsm1464298a91.33.2025.03.06.08.27.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 08:27:17 -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, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v3 08/16] Input: joystick - Replace open-coded parity calculation with parity32() Date: Fri, 7 Mar 2025 00:25:33 +0800 Message-Id: <20250306162541.2633025-9-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250306162541.2633025-1-visitorckw@gmail.com> References: <20250306162541.2633025-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-media@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 --- Changes in v3: - Change condition if(parity32(pkt) == 1) to if(parity32(pkt)). 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..26a7ae785942 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)) return IO_RESET; /* Acknowledge packet receipt */ From patchwork Thu Mar 6 16:25:35 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: 871013 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (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 618E521ABAC; Thu, 6 Mar 2025 16:27:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278460; cv=none; b=mluZyD6UHvXMePQqaedQddIix5t6MnpbRZMgnBKv7o1V9dTQ7LLs75nfYp2YSLT6finj28XGcJLrHSp3hHL2eYwt5KBd3VfQI5BOoPcue2maR3KncOm0qgrt5wwWKlMvtDrV001Scfzjcv23Sa6wV1M9OwD5t0tKCetLrVlpVEc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278460; c=relaxed/simple; bh=LKQP83Z0dDVRvLCdrMNAz3pPTpKO+Di7Zsh2SQ1o/Vg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=g8McMBOorLJgZZpsTtJsjQA0f0dLMkLEx9Hb0pAZB6CcSmzbKkxNAN0dplnxgIx1ODYDnSwHqP5khMx9kfkHm2B6xHoKMkaiT+zKA4jImCZ8Fkw6qIjC5R6sMKZZj3ciBc8GfJgjs7Np92fy3uyV+WAdRt490zTU1dcfOJHmzeo= 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=gCkH79B5; arc=none smtp.client-ip=209.85.216.51 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="gCkH79B5" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-2feae794508so1529850a91.0; Thu, 06 Mar 2025 08:27:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741278458; x=1741883258; 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=gCkH79B5MSWsKcw1aoVR5nExf91bJ5xUESnR4bdL6l5wWLDGhTu93cFygAq71TXbic eCnQpzgHVtzQZbYqVZ3UmC9MhMhk0ne8mlWEYWus2aIvILgjDb+lrDcZjLibDHTt5ORp uUOs0yHS6SRlNDjhE8QG/JmYI71OoOozI9StgAhujG1653R1Bp793reNqcfGuYmGNmlN Vv12S9kf3X1Ov27jeh5fuYbgt6s+bIxZCanutZWxvbhIc6IseBUReas+zbGmG6DqgpQJ MwPdz4dSi7mUesUEWUZu1ywQXVsuimVXEmqcpbdjcJjU9W56o0xGcJ3xsMDWsg0jO9gq JGRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741278458; x=1741883258; 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=iPRN5SbLi1qGlKwYbrhl+SDuAPsMRJ+wbTAi5LKPZLo08DaG1aRGYaUz8ex5s1+MQo 80f62QMw8Ln/s9BM9juOLAXp2fBi9aCb8DtGcHORN0HZuLZvnqMoqlXC5JP5hJQtwJB7 TooyZgh4NIe0OIk8vHTnvGciNDsY0B73fDW8LcDL2VNC7tNmydcyYj5xt1uT6oScY78l JcXqkTqzZ3pxp5lK4HZHppxyiDPhktiLscAT21v8RgG5gTOH5GIwKP4ApPqNVxhaAqkz 7JGtexvIqxUrEGWq7EfJ/YDpNu86SAkLbe8UFacw2AKiOcrplLbKnrVO1k6CUp+UsqwO akFQ== X-Forwarded-Encrypted: i=1; AJvYcCU/o6sNq/ob/FQVdq2rKvnSX8ewaY9LY0kLOXGUt4DuKWDl1EmNvbekABbYDVgeN2vsrHsUb7dFZ4t3+do=@vger.kernel.org, AJvYcCUteYIWz/RRGhECTNMjg+FMJiTzgE+kw9nk0041p/SRLYxPBSy50pKE3/y+dGzFDn9C4buyWvqgKtpxgBY=@vger.kernel.org, AJvYcCV0ucoJ9JyX85kfH7rKhKdLSgh/88ptu/y5OS+KFeWW7DPo/E6Q4+PdqHulQOfwHi151+5KQX9f0juAQ24a@vger.kernel.org, AJvYcCVcOmVBNEWA+QtUlLyveicCz7yVH/uvNkslf1ZYu7BwI80VcPt2f3TQaV6tQXqGOabJuHHsSlsrh/v7n1jb@vger.kernel.org, AJvYcCWBerG6Tcxjfe/z0jWrFmxkqHddzlx76yFpeGsZuXqlEKwY+vCUSCP5gv/NHalfdXYQ9lrscNdH@vger.kernel.org, AJvYcCX6Nq/ILj4/1APomW5Cx405EEawHddJ3GcWi9gjCQwi27JZ74cpbgZhcPPGN1rFGTyTtGjKUBUqv/OmBbX2L8A=@vger.kernel.org, AJvYcCXy+HRKDXjq9Oyd0rv9T3qP7tNWInp3JN5qqzvozNVbNW3No38hmPC0mywBabeFVPV3+HY=@vger.kernel.org X-Gm-Message-State: AOJu0YwGLGE42Rn2hR6Q2pNoDaw1BQgTZvONh4aVn+bq0esQQGU6vQ7x 9eIfhgT983dbIVWK8eLAiAiBNe/GtUfp8LldHlNDbRMFOXZTVN/V0ZQxZNYUvRA= X-Gm-Gg: ASbGncsT/Gi4Pqw+OLQ+wA11x8Rs7uLnMUGUDQN+lK0H3kkepoxRUjhpjMURscJMTzM 6d4dKUpOaGPA8e4wLawRQjx9/vv1iUSuDZACLCy/Sso8mrNjyDJ4teCYMAdrgGiy3mmFwBOcEiH 2U15Uf/7na4T8NR3gKctq6ffIk0p3m4CxPHIHF+IvvDB3MNZdWlZAph4CW7PtKTSo4Y+3zZRlEo YPT124Lqgusmjvaz/9v+FWDFKt2a9eMsSfgt6+Dx3cjd42C4Eho3ibppuGBNT52ICOOwqPaFY4I f/+/GjQqYC9StVxqaWlG7rtfgDTpuLAKg2mezf5OQ7K9v/fYtSW2o6qodDJ0+uR6tqHQ3nJB53M = X-Google-Smtp-Source: AGHT+IHic3IzGXhBZWP6zBd/pJJw64LoRGQ/N6k6+q6inZlCxRIB1pB5KkHjt//av4DrSwa4YWD19w== X-Received: by 2002:a17:90b:1e04:b0:2ee:a76a:830 with SMTP id 98e67ed59e1d1-2ff49841eeamr12538794a91.24.1741278458615; Thu, 06 Mar 2025 08:27:38 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ff693e75bfsm1464298a91.33.2025.03.06.08.27.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 08:27: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, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v3 10/16] wifi: brcm80211: Replace open-coded parity calculation with parity32() Date: Fri, 7 Mar 2025 00:25:35 +0800 Message-Id: <20250306162541.2633025-11-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250306162541.2633025-1-visitorckw@gmail.com> References: <20250306162541.2633025-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-media@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 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 Thu Mar 6 16:25:37 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: 871012 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (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 E59AF21ABD3; Thu, 6 Mar 2025 16:27:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278479; cv=none; b=lrhMnKmAPr4DGidCwtR+vE6hpUiO/KaKa9CDIiNgaaKmM3fGuM9MGoINj1COQwzbKPSP/2zl9qKcCNId0z7s6W+9XLqIrCwoVpOE6ZYionre0I61O9eDfCzgNQI4gPBKTdFE/SBIS6RgWPDtrKHdDzb1syaFgd/W6Rm1JdwTvik= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278479; c=relaxed/simple; bh=QiMst4KG8nw5lbncH+WStoqZ0M1Swh/bMRY1iwVqAwY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=TinAK7Yw95ZGnTmFfA8nMRNEagkpXUkRJutwSt19xC70dT2Q9ul7+x6BMHQgO7cDGGoOuTjsybZgaRoJG0gs6YgfQ9a/iWoVs6in4tEVTEIRujCbwjyIkpnvLrs7IsIu/AjkkYb/2tcopMfa5Ko2LuvFMRaVjONa2wv2fsa9nFk= 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=gSOch9Gh; arc=none smtp.client-ip=209.85.216.47 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="gSOch9Gh" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-2fea795bafeso4098889a91.1; Thu, 06 Mar 2025 08:27:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741278477; x=1741883277; 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=VAZ6yehSc4MEYrK/rteyLhLjWQGTSbLYrKbJr1roEME=; b=gSOch9GhNDfuUe9oP4mbLMeYVbxbgdfQPn8H7PPm6oC5eIPGX3jwFAHTR9Ilxhfh97 Albc6yBB5kDMD9h5V/FCnIzMDp0/Del8KcwVLKWf/G9p1iE1QpnQKDkqF27jGfa6yVS6 jRK2yOWXsNA1Nw893Nji2Ld48Y3UOKcMMSVUC1n98vBSir00E/S2o5pbiqBrBe2QBzAb PvvmKcxG6aX4zd2cyI0wk9n0sR2Yz0yQUnoeht3kVeJBKpWxZZ8Pnmm/DG6Ijxvv0LDs 7ZxC5hyYDPqBAb87UMOiIeHHnP0nUFw04/3023iDdNYVDe/rY4EQJx9/BWnkUPqwtWiu 7tCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741278477; x=1741883277; 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=VAZ6yehSc4MEYrK/rteyLhLjWQGTSbLYrKbJr1roEME=; b=Y2tVkwFK1UT3/vbPEgFVBmMkCIAhFKS2m/qzKCSLvFkvASR5enpmfspqBhPyUrdd8p RiEuEop4n5BgWwHkmLr0W5ofUc0A1USslFWk6IT3RGFGyv/pEmbPsRrZcIzcg5S1etbZ gmzfIlaNDrsKc5ivxElalgMQ2PpdeNDXxGXh5AICkE9KhxpcjZbtdGk9acH/hNDC4rDT gJZBFlv59WGnFJWJQZ7M+xOzsdas+hHy0RHHP4HjstDspfVJj194rmv51HvBXAH3Rq3g zWFbsrnmclni5DIQdKGFlHYTZiy6C//Bv5wb8qQZt6cXCoNXsfiM+w5Wgz6EHGvEHvt0 SSnA== X-Forwarded-Encrypted: i=1; AJvYcCV8TpWyx7HrPzC0I56Pw3fZYTuvDgyS56VRkWKD3WvwzNwvBsLCl6woLpll7lpdCijRgXNocTjm@vger.kernel.org, AJvYcCVAwhH+aqyPEz5IYhmetCuikzJCLyNgT0EbRQetaMZTkaGeV+3oafEuZ5EcVx9yvj0dj/VQ7wozoSDTJF4J@vger.kernel.org, AJvYcCVaYQpdJjefpgWq/F4N5dFEmQbA0GSx/UnIZkMAFrp/6szxMRVuX7zwGQyGu5iCsgFJG6Y=@vger.kernel.org, AJvYcCW/CC5jX0pKbCDmqPwhT4XG2hfItrUE3gGpudEPFwblsEPUJRGX2asH79RgVJV8GekY+HoTTPP7hfv88YE=@vger.kernel.org, AJvYcCWLL5x8/oF3do9PTTMQNrgRNwbKPlKJzpiYZkOw8my6dbhg+ynUoqxWI0B4XOcciCdXl2tTcozuWVQz38D++HY=@vger.kernel.org, AJvYcCXUMY20HG+xy9I9+L91tHDk5TtwQkFM3VHzzdM3KVftUtC0R5TStzJiDWWPppyOhqfmjAGMVZ5dIXs7t/Hi@vger.kernel.org, AJvYcCXdPl9BqXbHcXNG0msws2vLTJRaI9vGxbnxUdals3VvlnlotV0+pi3C4aDdN0YikumvCSORCxL8hR1T6gc=@vger.kernel.org X-Gm-Message-State: AOJu0YxfWirgaM6ELHRHTQXEC0CevgfnW4SWA8KAy5EFZp5M1yj85l9u h13gtjAZq61rVXVU3iK/SlSNrxqyg4bC5+nXPPLgDlc3qXjnakL7 X-Gm-Gg: ASbGnctpxORcZSUR2fsZH2xqGjbjTnBsFZvfRWgSmgswVzp6ZMOf9T1ng//qFBhX3/a MQxFpSrOP0/ldP//KuUvweB74preE71iuDIq3Rf9Er/xqJzT0me8FE96DlREECAPtCDJehhDSAa 5j3+/nDw9vaVJI8DlYb1jHzFHae/eD0kcvG+n+Y/UlTSphds/RU5Sv+XXLm6A/GHv/CPPv6VZOY +cOxDo4AJXdSSwtYpAXdke3D7RgjMP3iOmB0oRBGx7cQqeQGUaLQHvzkjSHmXeWo8t+X+NEcaxS LVUFTYelW/Bo3gdJPuCYoDojV47Ndbi34kVG+Qlhdb48ZdLqintvab+JUtxPwHg+qRw6wdaWN3Q = X-Google-Smtp-Source: AGHT+IGSTp6IoXEU2YpG6BXR34TKK6tsBmlfHVAOxv0eBhCn0t3RdyPBa0hZZRnTXXw4e83qNulrtA== X-Received: by 2002:a17:90a:e707:b0:2fa:1d9f:c80 with SMTP id 98e67ed59e1d1-2ff618003c5mr6206329a91.17.1741278477310; Thu, 06 Mar 2025 08:27:57 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ff693e75bfsm1464298a91.33.2025.03.06.08.27.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 08:27: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, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v3 12/16] mtd: ssfdc: Replace open-coded parity calculation with parity32() Date: Fri, 7 Mar 2025 00:25:37 +0800 Message-Id: <20250306162541.2633025-13-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250306162541.2633025-1-visitorckw@gmail.com> References: <20250306162541.2633025-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-media@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 --- Changes in v3: - Change variable 'parity' type from int to bool. drivers/mtd/ssfdc.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/drivers/mtd/ssfdc.c b/drivers/mtd/ssfdc.c index 46c01fa2ec46..53a72576a646 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,24 +179,11 @@ 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) { - int block_address, parity; + int block_address; + bool parity; int offset[2] = {6, 11}; /* offset of the 2 address fields within OOB */ int j; int ok = 0; @@ -215,7 +203,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 Thu Mar 6 16:25:39 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: 871011 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (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 4DA8B2139A6; Thu, 6 Mar 2025 16:28:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278500; cv=none; b=gFTPipviFw9fGmNf1CfXOt+nEu55Fql2S8jfQ8Knpln7Y9jKs2vfvrtgag9tq5Ac5PmawlhnZM00965VgCrF/6znXji81/jcCtCC3HhN9lbl/p5We4F6OxdjR2iP4GVZmc4louWi8Lr/QIMNwHShMDJi/hQZJNkoE7dRxl3DAeQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278500; c=relaxed/simple; bh=Wbj+Koi+nWFPD6iLPf9X8IXOjBAM7BvB2b2RpboElIY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LIWmaLekbvVNYqAgvkK4cmtB3oQhrAgmWrXsH1CrYbizC/yGzanpzC7RbocROewvBFRINYX+zm265+jCCbmwnHW1m0QXdvV1gBcgGsKm6kF6dY1ZRPmMoi1ljkn89ow+kNsAr2XzUqJ6o1cQ7xSmGvFf4LCTPwuzB0fsou7Ch38= 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=Aese9qAZ; arc=none smtp.client-ip=209.85.216.48 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="Aese9qAZ" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-2ff187f027fso1640782a91.1; Thu, 06 Mar 2025 08:28:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741278496; x=1741883296; 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=BS9Ngq0ErapA9ho16k90z8id/zApcMAPWGpuMTc0x9A=; b=Aese9qAZgdqyfZk/8HD6AF1tFDjhIKKKYqoliMrm8IvASf+ODDYeAn2TXdZ+sbtpTx EBj1gjWZEq98p3zfwT4x+3JnwlzCevaU4wMEL8kkDUk92vjZTcADYF8HTSK3UfihySw2 YW0lRMFw1YuKXUtrdFzdgZ7wFeWHSHnn3iOXHU3deHYiNFqTObkbun2/LxQLETjeefH/ +Ct0P0Q3oWYmUUW/PP6hJw23T+zzIEioxlRwvvBuqe5HhuiEh0AOT0HzjY7VGmkVJEAf +YXMMEvPXeIUZZsxkHvru6/z7MgEddqAJuFQKNGxylNTX6ZXTIU4VUvWZaWHlgFDByZT Qa7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741278496; x=1741883296; 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=BS9Ngq0ErapA9ho16k90z8id/zApcMAPWGpuMTc0x9A=; b=DV92oCIPQnMuVrCqlc2DjjGlL6ViaLZYmQqzcvNj4EUPnnQoqaRgosi/sFbMhZXbNt bvJ9UM4NrlRmiTHX+mFzUY/r8m4FWoXpYt9reUyD+4gzsf++ivcytrW1lEwb1DZnxieU bX7ta00Y5lTTLrWHJ6ag035I43QqOAF4ws5d4I5U70GUIwAlLYc+Y78BiIzCc6yLKnEN taFu3fywtiM277d4W3eAW2Y5FZ6tP3pZT/C9Bd4ebXkLC05upb5YEYUvOTeWeBcdO+b6 /+YrND39VkEVBVSZ9ct5Fcl7dRxfZZT/SLkDav61pB9CBLQEqdxpNkSSg6pLFUYd4HKA jqeA== X-Forwarded-Encrypted: i=1; AJvYcCU6P1mxlad4pBuDzNrMGNszTzpwfbLIOuqJ8PP3eeVjtUM76ek34SgwyvKfRByxpq+y+xY67M886rhTy2x3@vger.kernel.org, AJvYcCUHP6ipiWy7IFAT4OlBPp0o6Wtw7L11c17th//MlOlQRjk5NkjwjTm9GQV6tkJX7PHyjLjqaLkXuCNKVP4=@vger.kernel.org, AJvYcCV3C2EsFte+6J36lO+N0/lkbOADcghIe42ob5+0C2sa2zGCSDAuhduQiYZarpoYKfVYMZg=@vger.kernel.org, AJvYcCWI84c1+HsD1zMoIySzrF7IsKt01YQvg2xgTUFu5fOQ/hecuebHtaMkzaBQiAbHKuHHBKcol5K7MAFBYmI=@vger.kernel.org, AJvYcCX0ED0v+JYaz7Tg4At+HpZzjDi7GVME8lqzVrkj5+VCrLV3tw9drA6CagRp0pzpivLB7loEPcpCyqn4AT0Rdtk=@vger.kernel.org, AJvYcCXKVaZMA7pwunjJwsgZDxQLm3/BgxnOBGKhB5G92daRmfuxcpZD7BkasxbYNcmItx0JBDOWq4Hg@vger.kernel.org, AJvYcCXQhUuLL7VLkYafLoEFsXff7EviLbjr+dTAJdWmF4QoIhwXTpdereSo22x/y8s3wZqPUlKzlhSaNDUsFuNo@vger.kernel.org X-Gm-Message-State: AOJu0Yzxn9Zpr/v0SVLz8oOu/EYmUkvi4+ljWf6Pf+POCaI3ec/LLkqP ma3xNi7r0o6aA/uFcs82nvKZ2WZJ6yl+8X45ylOoYyc3uyJa+BhG X-Gm-Gg: ASbGncvCNIAn7ut8+ir7s++1jGRLiXgJ5yootoIitgHHlHLWeBmYlJLKZMUk2xaFB4q SZW0e6gaFTc8LlPSHvIlZaeXNW0NFnjQqOwy/e5Gj83kdiURFLnLX3iT2uEqcwn3hgUZCD1d6hp bu0UNRj5X1DNZHUvsoS5Ilv37ErRkqgP8ijpre7WlvtGAhaxA+twiPjEKWzdnZ0joTUAJqQi73V FsdYtoPY7b7HLwgb5RojsfXPd+bxQv7qlEHBIjOrifOeN79YKM0FYzaUOsW6Lz2JO6+8X8Rg9gV ohsTNbUwJypO94MIW5HyLEc2ic2j2228765V0SvX42pLS8yXvU4wbaxNlO2NENXDjzLgGlSsf8E = X-Google-Smtp-Source: AGHT+IFnMh654YdQkj0YFSRHf+ssdwCg9qa/rMgaUesbiD2om2YrQrVL25CKfgP6tloqN6SwFoBXOA== X-Received: by 2002:a17:90b:4c4f:b0:2fa:6793:e860 with SMTP id 98e67ed59e1d1-2ff6162ec0fmr6970693a91.0.1741278496344; Thu, 06 Mar 2025 08:28:16 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ff693e75bfsm1464298a91.33.2025.03.06.08.28.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 08:28:15 -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, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v3 14/16] fsi: i2cr: Replace open-coded parity calculation with parity64() Date: Fri, 7 Mar 2025 00:25:39 +0800 Message-Id: <20250306162541.2633025-15-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250306162541.2633025-1-visitorckw@gmail.com> References: <20250306162541.2633025-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-media@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 --- Changes in v3: - Change parity ^= parity64(v) to parity != parity64(v). 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 46511236bbca..3356c478e395 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 Thu Mar 6 16:25:41 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: 871010 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (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 79F98213E64; Thu, 6 Mar 2025 16:28:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278518; cv=none; b=mYmC/I9BcRzxZN70MYEI5Ed+77rGJqU0DY5yuJ9qp8jyHiPVsDBye985QM/kTppwQOm1X8GsD6ae1SiEZiTMKg0UVkg+D3CMRHBnFop1hWIhgLAptwWAqpVZ24g2XLXq5WOxMAlvBIYk5Lp2bqNQqYMbe3ERscrBW2tKABkEyh0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741278518; c=relaxed/simple; bh=I6WJGZ+wmJHASMpeshHLkCaDYKparCJHsPTSZrYO2e4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=NAKkn0IXk+fH7mF0e3MKn1G5n82SgRMZaU7GjN1xlUS5c05tcHsZCbYx8shOXPihRyImA6lpcb7z77kAz/S8JMNQxI0hOKFRplCuCUMAkDE1PQqew5RjrQ4cl7DCj09Jcf7V3GGaS+UkPGih1KmuB/U92eCrdTUgW3rvbMJnjn0= 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=hcUoBAwN; arc=none smtp.client-ip=209.85.216.44 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="hcUoBAwN" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-2fec13a4067so1485876a91.2; Thu, 06 Mar 2025 08:28:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741278517; x=1741883317; 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=AlCo47pw1I/mq/I7vHIVVBFEFMdGZP7EQcov25MLW34=; b=hcUoBAwNnnHEBxps5zeFU/Y0zD0u/WtBJ40PZNM7MlRn4KSyeDkmzCeL0EiGovEF5O Fr+LW0r8FL+wQOfMysJyaFU8iSLQmb48ZaLG0Z6eFRpYBnW50wMbhMD9Xu6BAOI/wPqu khs7QC/i+KLlLFVatGPdlmpCCqyaGD+6OlOjAs4c3E/t7E1EsE+595r9eB4sUHKmLlIu gblcAu8H3IKfrRrpH9MVzFjrsepX3ny6RiKWYqm6/Hn0U9usM7dEDkPmH9DktpVGlrY5 SCvmbyp7D05+H0xYcNC/0G5hOoZQPcu8KqvIOTI5DEO/yC2Y2xRY8Wb/6hqbO5ZRzksK WzmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741278517; x=1741883317; 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=AlCo47pw1I/mq/I7vHIVVBFEFMdGZP7EQcov25MLW34=; b=TsfXnptNjVsUNHeGlHEvWpBqH3WGQt+OGJZ+Fd7R6W6pZXraBEB0EaSwFGwWTnCCJI r6MqoT3+vfr5OKxCqVPlWXceySxSeXmW6CVrOWd8Z4Pszg+V0a0NIziCKeX3OP+JXc9R DAwywgHA50hOqBh7dUoAmg41IQo4Pg171OsScVBwTjg8w1SIbE4ad38QQpeRWh2mMFjn qJeFv4N5a9br7oCXWnthWJfYimowELPShlu3xa7AzpU9NsutYQiCcUnU3IeDM91T7GQ5 D1rRIx7vS9TUeH34dLlTvI0A7cSXno1kviTZcLbGmwqsovpF+1a0lkzAxHuVMsC06mAE u76A== X-Forwarded-Encrypted: i=1; AJvYcCUfFySXOEpRJ8acvCsnDzRp3KrR8gjnurHX6pdDoUhD3Ny8mCmuAJSh8d6rY48AqaWzXlKmc3Il@vger.kernel.org, AJvYcCUpZRm+PeB5qcrcs8v8R0QGudtJ5c7u3JefCA8+1qef2HBtn4oUqdit+8Vm69whyHbbcdo=@vger.kernel.org, AJvYcCVMnCwgMgITiNG3O2xnXTBqEv8knEqQOnEryy3dxZDS8RkPFg3Cmd6OfRQ4+YLwM9wzrTtf0gEH8F3ptaOaTAk=@vger.kernel.org, AJvYcCVyH9wQBsL/8VVI2Vu3QvOo2Z3n3FjtDK0a4T1RfEW9hN7TJKZdrtKo2fJIZI3FNyLa66MkZkHpHiiGGgs=@vger.kernel.org, AJvYcCWg7EGb0jLO7Rm4gC+ia4RCieiufy7l8D34u6Ky9dLPuBk2jo0tOJyQXt9i9rPAU3tvhG2gZUssd0TBmKE=@vger.kernel.org, AJvYcCX/VPMBctiekShGJ4QnXkuE6kZHVmNPQwg8oU31KEq2ilrBdAo1hMbzjBw16AI6sT6Wrj1koJEv5FQqUTjU@vger.kernel.org, AJvYcCXlcnL1KPwDBVCfjskvarMGP528egwBuYsJknlgFvwSUI5CT18xNWkrV7qbp78DcsPtk1VwlP1gUZC9DVyq@vger.kernel.org X-Gm-Message-State: AOJu0YwTyWkz4OmOIIe+NyO7/i4F9xo40jE0efNKkdzSkGl7827hNRC3 bhZg2W0Okkmico8ZJ18nc7i1ktDxi5x6H31sXfnzPZjaPkAabB6d X-Gm-Gg: ASbGncuNLKdf6m1Eu4el34okOxRqct+GvQGRRT5gjtgyY9GYJ6EGrvM8F9Defs6TLhf SMDr0ef3SKzZM0tR9MBoSZCWOgJLVeDy0Qwvulk/fUWjhtS4pbr8hsnH8d1jdWCwvAAADhijmxq V1719bb2hmGa+aKz6+0jhhQ4Zmw02+jDlfqYl1CRipMnP+ilHC2bu+k70owQ7qf//H1K56x3Tf1 pm/4sAbslquYTOwrYSM81iv+ceH6u2WwhTla+PJiLcGGmWmzy+pqopme6Qb4C04k6PFcVCBrnKK SJWrKvjqBg6Et6hxNBYXE5aEY1ja/meggbh5Aj7cRqyfrHY0OifLeIkhTfXB/dOGfBOgRxLq0g8 = X-Google-Smtp-Source: AGHT+IEEoNncBZARV2kGM5Yy+T23A5PpEPT2NiyzW+biIXJ8M18fImFLR3KC2etUuhFwV9KdupSQZw== X-Received: by 2002:a17:90b:1f88:b0:2fe:68a5:d84b with SMTP id 98e67ed59e1d1-2ff49716658mr11420319a91.1.1741278516777; Thu, 06 Mar 2025 08:28:36 -0800 (PST) Received: from visitorckw-System-Product-Name.. ([140.113.216.168]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ff693e75bfsm1464298a91.33.2025.03.06.08.28.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 08:28:36 -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, Kuan-Wei Chiu , Yu-Chun Lin Subject: [PATCH v3 16/16] nfp: bpf: Replace open-coded parity calculation with parity64() Date: Fri, 7 Mar 2025 00:25:41 +0800 Message-Id: <20250306162541.2633025-17-visitorckw@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250306162541.2633025-1-visitorckw@gmail.com> References: <20250306162541.2633025-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-media@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 --- Changes in v3: - Change parity64() to !!parity64(). 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..14306f128497 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; }