* [to-be-updated] gpio-thunderx-utilize-for_each_set_clump-macro.patch removed from -mm tree
@ 2020-12-22 20:42 akpm
0 siblings, 0 replies; only message in thread
From: akpm @ 2020-12-22 20:42 UTC (permalink / raw)
To: mm-commits, vilhelm.gray, rrichter, bgolaszewski, syednwaris
The patch titled
Subject: gpio: thunderx: utilize for_each_set_clump macro
has been removed from the -mm tree. Its filename was
gpio-thunderx-utilize-for_each_set_clump-macro.patch
This patch was dropped because an updated version will be merged
------------------------------------------------------
From: Syed Nayyar Waris <syednwaris@gmail.com>
Subject: gpio: thunderx: utilize for_each_set_clump macro
Reimplement the thunderx_gpio_set_multiple function in
drivers/gpio/gpio-thunderx.c to use the new for_each_set_clump macro.
Instead of looping for each bank in thunderx_gpio_set_multiple function,
now we can skip bank which is not set and save cycles.
Link: https://lkml.kernel.org/r/5e94ad3c156b98d2ed28617b2ca25bacadc189d5.1603055402.git.syednwaris@gmail.com
Signed-off-by: Syed Nayyar Waris <syednwaris@gmail.com>
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Cc: Robert Richter <rrichter@marvell.com>
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/gpio/gpio-thunderx.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
--- a/drivers/gpio/gpio-thunderx.c~gpio-thunderx-utilize-for_each_set_clump-macro
+++ a/drivers/gpio/gpio-thunderx.c
@@ -275,12 +275,15 @@ static void thunderx_gpio_set_multiple(s
unsigned long *bits)
{
int bank;
- u64 set_bits, clear_bits;
+ unsigned long set_bits, clear_bits, gpio_mask;
+ unsigned long offset;
+
struct thunderx_gpio *txgpio = gpiochip_get_data(chip);
- for (bank = 0; bank <= chip->ngpio / 64; bank++) {
- set_bits = bits[bank] & mask[bank];
- clear_bits = ~bits[bank] & mask[bank];
+ for_each_set_clump(offset, gpio_mask, mask, chip->ngpio, 64) {
+ bank = offset / 64;
+ set_bits = bits[bank] & gpio_mask;
+ clear_bits = ~bits[bank] & gpio_mask;
writeq(set_bits, txgpio->register_base + (bank * GPIO_2ND_BANK) + GPIO_TX_SET);
writeq(clear_bits, txgpio->register_base + (bank * GPIO_2ND_BANK) + GPIO_TX_CLR);
}
_
Patches currently in -mm which might be from syednwaris@gmail.com are
gpio-xilinx-utilize-generic-bitmap_get_value-and-_set_value.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-12-22 20:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-22 20:42 [to-be-updated] gpio-thunderx-utilize-for_each_set_clump-macro.patch removed from -mm tree akpm
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).