{"id":2224685,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2224685/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260417175955.375275-3-ynorov@nvidia.com/","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.2/projects/42/?format=json","name":"Linux GPIO development","link_name":"linux-gpio","list_id":"linux-gpio.vger.kernel.org","list_email":"linux-gpio@vger.kernel.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260417175955.375275-3-ynorov@nvidia.com>","list_archive_url":null,"date":"2026-04-17T17:59:54","name":"[v2,2/2] gpio: xilinx: drop bitmap_complement() where feasible","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"68c8b3d26072eb7079e2864d4a1237652c7937ef","submitter":{"id":92516,"url":"http://patchwork.ozlabs.org/api/1.2/people/92516/?format=json","name":"Yury Norov","email":"ynorov@nvidia.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260417175955.375275-3-ynorov@nvidia.com/mbox/","series":[{"id":500384,"url":"http://patchwork.ozlabs.org/api/1.2/series/500384/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/list/?series=500384","date":"2026-04-17T17:59:53","name":"gpio: drop bitmap_complement() where feasible","version":2,"mbox":"http://patchwork.ozlabs.org/series/500384/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2224685/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2224685/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-gpio+bounces-35216-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=XGt88K/e;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35216-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"XGt88K/e\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.52.41","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nvidia.com;"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fy2rS5Wxpz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Apr 2026 04:06:32 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 4F4643030102\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 18:00:14 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 6BFC0314A83;\n\tFri, 17 Apr 2026 18:00:08 +0000 (UTC)","from BL2PR02CU003.outbound.protection.outlook.com\n (mail-eastusazon11011041.outbound.protection.outlook.com [52.101.52.41])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id CB1EA359A9E;\n\tFri, 17 Apr 2026 18:00:06 +0000 (UTC)","from CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16)\n by MN0PR12MB5737.namprd12.prod.outlook.com (2603:10b6:208:370::15) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.21; Fri, 17 Apr\n 2026 18:00:02 +0000","from CY8PR12MB8300.namprd12.prod.outlook.com\n ([fe80::ce75:8187:3ac3:c5de]) by CY8PR12MB8300.namprd12.prod.outlook.com\n ([fe80::ce75:8187:3ac3:c5de%3]) with mapi id 15.20.9818.023; Fri, 17 Apr 2026\n 18:00:02 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776448808; cv=fail;\n b=N3NPHCkfSeBwQgeOGeQMulzYBs9XfwRtiOXq894yGtBxkhGb49jw/UP2KqAoB+WKPk7ANXe1rjNn8ewYAoKiN5zxFXtdT1vzV5r+EzpYNQU8kwloeimEBN5AidMxrvan4vLF2bbFzY/lnikUvzvSr4pi1NGN+DU1uZ4C5TkSB0s=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=mLU6AKLAexVtYwDV+mNVT38yQtqXhh6t5cmYkNzN4z3LnMJvEQRUPlU4H68TohLad5TDyxQIhefOl9ufiuFMgIdjdr0RqGwujOPTuSv2CMOdzQzDpHy+VF8wq8xZBD3ZML39mhkF4PBwZdf4b1UAk92jwunRnOTF3zRGMzMY0Gq5UMzqbt6HnBkjWnW4O+cVmZKqoDPCB1YIByrcMXdoW0DWduuPU6ChbsHUFqOFrvWfu/l9itg8QltUyaUIEU6G+EXczfhMzBvIb/VG8tjs61q3ZE2NB8Oj7Ynd0qe+BK7a84wzmE8ULoQNB2BjI9r0cq/bIYFCc6SQ5UCooFmG0g=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776448808; c=relaxed/simple;\n\tbh=RwI1lmS/9z72RRHRj7/hvWSdIMbT/tB0cQ+52tT1ATc=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=OJQBb0xjLmd7/WjDpr6J0vTuZo4xRUiJBAtMl/LLUQ0BhjATMVknCxOb3vRvagPek0KpFD0614r5ybDzP8AFdbpD923/zemMgiA4o72xCwxap1wofXyByYkCfUJT2BHxnvO9+59zOIm6puKjS2aUloZDJoKPIN13Ai0k/srnrCM=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=eKnuqK5gxXv4kVl8+1xi85Th1iksv24OjLJBXHj7S2s=;\n b=oGVLzT5SjhrupIpRtHxvrdGnNyoartiw/D1OI95n6W8ketEjFYhaV6cyoreYpxa6TTSLN0rsSbmo0jUWjzqvLj4LCNM9vLashHJ8ZgDmUxRhDJWbYbiOqRLLC8PyCAzDatXuVHwGEuihEAhv8kpHFpYRjPwh0rk60je0Ttk6NxeYgsU3wcRLf7O+G1fi4JKyw5WVtzMJyumCbNsWUQhgFHJkPU0pF2rV67K68kIIwCK0+j5AhS3gwYvwbmrQN8tLSSfq7vUMA6ib4Eyms8vgOYzhv7rh2CiFUyWBA0QK071EM0wWB9z66fVIVWxg33Moh+IbAMcD0Pie2a0BSKhj4Q=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=XGt88K/e; arc=fail smtp.client-ip=52.101.52.41","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;\n dkim=pass header.d=nvidia.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=eKnuqK5gxXv4kVl8+1xi85Th1iksv24OjLJBXHj7S2s=;\n b=XGt88K/ek9/ZeXgLY78bpyqNSap51Udeu7gwoDL5moYUW7hP609t0JFRYLcmhVbw5590KmtAA1DuXn9ApdIeEx6UENuaQCoxwYcm3Sld/8IxyKcF7VixIKDkeCWGUvAWP3DVVe86mJUfUs2vBzUfhxDremirm5p4xw71iOWFyweQ/XP1iAraDM8gAaqHBMl1SFfNlpAnOjAE8IA+xDdtRtxhsxd9nyAAG8M/oY44HqBE4GA8RBQHLDHgFXt8XE/J05JnoSXdOKnXM84T846bplPXx6yWhGTVfmSwZ/lgf7KXuPWQGeTGJ/hH+bglc1HxoGWZgMXOsd1gXAGPB4eAFw==","From":"Yury Norov <ynorov@nvidia.com>","To":"Linus Walleij <linusw@kernel.org>,\n\tAndy Shevchenko <andriy.shevchenko@linux.intel.com>,\n\tBartosz Golaszewski <brgl@kernel.org>,\n\tShubhrajyoti Datta <shubhrajyoti.datta@amd.com>,\n\tSrinivas Neeli <srinivas.neeli@amd.com>,\n\tMichal Simek <michal.simek@amd.com>,\n\tYury Norov <yury.norov@gmail.com>,\n\tlinux-gpio@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org","Cc":"Yury Norov <ynorov@nvidia.com>","Subject":"[PATCH v2 2/2] gpio: xilinx: drop bitmap_complement() where feasible","Date":"Fri, 17 Apr 2026 13:59:54 -0400","Message-ID":"<20260417175955.375275-3-ynorov@nvidia.com>","X-Mailer":"git-send-email 2.51.0","In-Reply-To":"<20260417175955.375275-1-ynorov@nvidia.com>","References":"<20260417175955.375275-1-ynorov@nvidia.com>","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"BN0PR04CA0003.namprd04.prod.outlook.com\n (2603:10b6:408:ee::8) To CY8PR12MB8300.namprd12.prod.outlook.com\n (2603:10b6:930:7d::16)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"CY8PR12MB8300:EE_|MN0PR12MB5737:EE_","X-MS-Office365-Filtering-Correlation-Id":"fc4d9610-e520-4cbb-149d-08de9cab2622","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|10070799003|366016|1800799024|376014|7416014|921020|56012099003|18002099003|22082099003;","X-Microsoft-Antispam-Message-Info":"\n\tOfWYIHm9AvgkKgxtJ/4bHLZc3gxARy1WvrDZIoKxDUjJGEG7ktEzRqFgfFv60D7V9eLZTrGWySpzztVx7/6rEHNYlo3mGgy4r/FVZyMChKkqTRb8E64FxNtjtfxEsXQ+smRQziueO6kfnXsiDK7WZj+3quyglik52xCbU8jfU8JlWVczgLr6kREzT3cbMoDBIqFiaSYwTx8PV4tII8ut04tmVqg/nE/mV88usqPjl4yxTyqJoyMwVWrcPBekDMrQOdtNoFoZu9NIuhLtqVnOQYxevIb9jh7bcqT3R8Wvpy5IJbe9yoktO2+A+/J6jOopvJaifNsxu0h1j91/6BpZXwz9679UeQcAWwm9zlTk2UVlyBMF2jQSAcFTNRv7tA6GE0D7xtt5s4ZRJ6gRIf8SyVQ37f93DXPH1i6USkffQlcr5Z5+ysRdHRkhgBL/kCzvn2EEO198u89OTBblNTBVPCfdkf6GBNJuH3xUfAJep1wtalg5RyZYQigeaKbup4GZMu5glE5AQ8pwR3CBdNX1DZVToM0K5GejHxMX0zTXl24DPtNfSPkhl6rYsIMz5siHMB76KbsPbl5ZPcBIhhgssN1zrJJf2GDYz/UiTG2BUtCiTq8ceFaP+DJ64TC40n+sgPre86UJnZU8clitf9su9vLA+ipB9+lswBK+fonM3t8Z0o2h7aNt0cUEMcnJG9XmkpZ8EgiRROC3mDJsBdVkGAXNxKWX0BSIfIzEai0VmxPb2HPa3J5iOblQXczoHp36PDvQkRMf8Uh/g6QuqIq1tw==","X-Forefront-Antispam-Report":"\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR12MB8300.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(366016)(1800799024)(376014)(7416014)(921020)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n x5KmoIJ1xgUaz36zafzxcO14ofBD4vS69lcS6Z02JcghrPw9ZcsLHH2XUBGAbWXxY7ntqifnN1X6L4Kv4S5cJ3BCoNMbYOHBivkMyitjYC8wUdVrsGmmUpGTAqIEzEJCC7iK79UnSJO6OMQB8BSkaqVK5FeAYE+mLEFrCk6F7BibMd0lE3ptB31PtQVCd3TH2UqfwQH6UZzvIBwQe2sNkDLu6VdDLKbNPyjfskcn1gPjkj+HJpu403WYmt24UVRY6XGMfYpAMjepuNAQkMJr0D3tKyMbL0J5YCklHLGC3ssax/MtAPT3Nkj46QnmxrKH/7KK9U32d7VjW0T3wAu1Aaf6PedxV6iZXstlo03KBtSPZVtlFQ7dflWcxmtfwV2JAi/HgC8TVSARrmdyXGfilCdbcXd9xK3Cg20G7OISdm2zokcjnFUv+BT8nxpy32LQB0LlfPOpYxsOx3Y2q5mnTrV9Bnb8JkAyUEiGf7ojuj39rB3I2mLCa5tPKi1KJuB3G2tkbCaUs9bsj+T8cQQWZWrbp2GsGJecHhdiwg6/nkfwf93Qtu33t6TVCa2r4rS0zZPAAIRjleO4gPMJFQEmGSFosBxDps9wC1CAa5rzIIb2ayjx6ZoeokXlcQfT61HHl/cf16lJVmnyoX2rZYjHxb0i3qwQgvDdHB95v3Y/FQnwnFD+wXwqJ53Y36BCJueEbClcsAs9IqwbRv/S0Ivpltu9hlaaSnSp38V7uupEXPkss8OGMTx5VfH577+493F2PZsPvYTke7GCcgOi7u+UmMpDWMnpDuVrSJsNSgv0EjckiDEVrMYlYAlhPkyWVy5A018PmbutrSCX4ranuxyavGR5oeuzu55Jig1OV4HZ/ByMJ+38FXdn3AZAxjolh1ac+8W9C2VjrCciJcVBd2kzu8HDO1bI5l4nnQ8ROyMdKtVuZzKgGMAAdBoFvs9negVQxUHI7st6LAZnbIhuxMGUVHhFXWi+87dzb57L+nIzKDXNNxf7ROOR9nwRUThPEcbIO2ANgXRT8MWtQuLoHqlW5vonmO0gb9dlxrLy5FDj/GMh/0JUKebjclMWAoeSYaUu41PzLz4Cfq+pbQk//x/hU4JVuLS4aaFdCsXqT6ZO4Yi1+tjDc5KK+okvOFSd83CwiRlRdXehAB9DoZMWfqg+T639RcNlR+CFZ4M4rA3QRclAS9ofcBuhHwdj+N1i3YLGuKXV3msQrq7o92avBfGHPdhf1dhQpISJJgxg4FQHdvvukrCPznViMejNZCM30YYUfsua9U1yQFskoW7smma0CIu1aYrJjpe7eDSuX2OjwaqC7iinm9CYwZD7Lq2pUzteuJ+U+h2MGy+CxhCCPI3GXSp7aWFuV23uLEPwTs06EQhiuxM3nMrbjPJsan96vGW1u8rmFT5lwxzrmLBlQfys3Y+QBTXGj4gH5LxKM3UINzIFS8HT4HIn67PYpBrGZgD4iwLVz5x2A7TF3TeNV3OYCpGxB9sDqOFZdhz699KYyy8IyYyZwG6dcnqIqesHrtMMTboFNX/NvJHJ3ybweXzEvuTQnkvxZWd8GM/LzLi4sKhQNaebsjJTcWystMTtrL/vQbzrvksjrCH0EWmpCH17fBwpjSgzdswV+X0ERBSH8EiuzW6f0ZZXzy0mRluX+LRYBuf7IVCuIiKWz1r+fl7cQ/umVisZx2oCM53bOcGSkx8Kh0BsF23kpcJBki698qEkxa+KjT/UKMsg2yUHyK3QoiwgcbRIeynwMyr2GR2PzlJTE69XjNolvIDfV7rsWZ47","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n fc4d9610-e520-4cbb-149d-08de9cab2622","X-MS-Exchange-CrossTenant-AuthSource":"CY8PR12MB8300.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"17 Apr 2026 18:00:02.7501\n (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"43083d15-7273-40c1-b7db-39efd9ccc17a","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n zyrlVo8/6vBbbOfMJ4cUJU24AKsTbVY3RAvsa6AGshB6HvBNtGql3h9ZRZaMxtYvlPtBUm9FOsblfodqNOvs/w==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"MN0PR12MB5737"},"content":"The drivers reproduces the following pattern:\n\n\tbitmap_complement(tmp, data1, nbits);\n\tbitmap_and(dst, data2, tmp, nbits);\n\nThis can be done in a single pass:\n\n\tbitmap_andnot(dst, data2, data1, nbits);\n\nReviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>\nSigned-off-by: Yury Norov <ynorov@nvidia.com>\n---\n drivers/gpio/gpio-xilinx.c | 6 ++----\n 1 file changed, 2 insertions(+), 4 deletions(-)","diff":"diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c\nindex be4b4d730547..532205175827 100644\n--- a/drivers/gpio/gpio-xilinx.c\n+++ b/drivers/gpio/gpio-xilinx.c\n@@ -495,13 +495,11 @@ static void xgpio_irqhandler(struct irq_desc *desc)\n \n \txgpio_read_ch_all(chip, XGPIO_DATA_OFFSET, hw);\n \n-\tbitmap_complement(rising, chip->last_irq_read, 64);\n-\tbitmap_and(rising, rising, hw, 64);\n+\tbitmap_andnot(rising, hw, chip->last_irq_read, 64);\n \tbitmap_and(rising, rising, chip->enable, 64);\n \tbitmap_and(rising, rising, chip->rising_edge, 64);\n \n-\tbitmap_complement(falling, hw, 64);\n-\tbitmap_and(falling, falling, chip->last_irq_read, 64);\n+\tbitmap_andnot(falling, chip->last_irq_read, hw, 64);\n \tbitmap_and(falling, falling, chip->enable, 64);\n \tbitmap_and(falling, falling, chip->falling_edge, 64);\n \n","prefixes":["v2","2/2"]}