* [PATCH 00/04] sh: gpio update
@ 2008-12-25 9:17 Magnus Damm
2008-12-26 19:10 ` David Brownell
0 siblings, 1 reply; 2+ messages in thread
From: Magnus Damm @ 2008-12-25 9:17 UTC (permalink / raw)
To: linux-sh
sh: gpio update
[PATCH 01/04] sh: make gpio_get/set_value() O(1)
[PATCH 02/04] sh: lockless gpio_get_value()
[PATCH 03/04] sh: lockless gpio_set_value()
[PATCH 04/04] sh: use gpiolib
This patchset improves the performance of the SuperH gpio
implementation and converts it to make use of gpiolib.
The patches have been tested on Migo-R with the spi_gpio driver
together with mmc_spi. Bitbanging mmc performance is improved
from about 11 KBytes/s to 40 KBytes/s.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
---
arch/sh/Kconfig | 7
arch/sh/boards/Kconfig | 4
arch/sh/include/asm/gpio.h | 70 ++++---
arch/sh/kernel/Makefile_32 | 2
arch/sh/kernel/Makefile_64 | 2
arch/sh/kernel/gpio.c | 386 ++++++++++++++++++++++++++------------------
drivers/serial/sh-sci.h | 2
7 files changed, 288 insertions(+), 185 deletions(-)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH 00/04] sh: gpio update
2008-12-25 9:17 [PATCH 00/04] sh: gpio update Magnus Damm
@ 2008-12-26 19:10 ` David Brownell
0 siblings, 0 replies; 2+ messages in thread
From: David Brownell @ 2008-12-26 19:10 UTC (permalink / raw)
To: linux-sh
On Thursday 25 December 2008, Magnus Damm wrote:
> sh: gpio update
>
> [PATCH 01/04] sh: make gpio_get/set_value() O(1)
More than doubling the speed. Good.
> [PATCH 02/04] sh: lockless gpio_get_value()
Lockless register reads ... generally safe. :)
I'll trust you refactored this right.
> [PATCH 03/04] sh: lockless gpio_set_value()
I'm not clear how "lockless" here could be safe though;
these all use software for register read/modify/write,
which means an IRQ could arrive in the middle and, by
reentering that code, invalidate what's being written.
> [PATCH 04/04] sh: use gpiolib
>
> This patchset improves the performance of the SuperH gpio
> implementation and converts it to make use of gpiolib.
>
> The patches have been tested on Migo-R with the spi_gpio driver
> together with mmc_spi. Bitbanging mmc performance is improved
> from about 11 KBytes/s to 40 KBytes/s.
Sounds good. The mmc_spi code won't be what I'd call fast,
especially when bitbanging, so every little bit helps.
If those ganged GPIO calls ever happen, MMC would seem to
be a decent candidate to use them: get a 4x improvement in
raw data rate by implementing the native protocol not the
SPI version.
- Dave
> Signed-off-by: Magnus Damm <damm@igel.co.jp>
> ---
>
> arch/sh/Kconfig | 7
> arch/sh/boards/Kconfig | 4
> arch/sh/include/asm/gpio.h | 70 ++++---
> arch/sh/kernel/Makefile_32 | 2
> arch/sh/kernel/Makefile_64 | 2
> arch/sh/kernel/gpio.c | 386 ++++++++++++++++++++++++++------------------
> drivers/serial/sh-sci.h | 2
> 7 files changed, 288 insertions(+), 185 deletions(-)
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-12-26 19:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-25 9:17 [PATCH 00/04] sh: gpio update Magnus Damm
2008-12-26 19:10 ` David Brownell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox