public inbox for linux-sh@vger.kernel.org
 help / color / mirror / Atom feed
* [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