Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/3] spi/pl022: disable the PL022 block when unused
@ 2011-10-17 13:12 Linus Walleij
  2011-10-18  9:13 ` Viresh Kumar
  0 siblings, 1 reply; 3+ messages in thread
From: Linus Walleij @ 2011-10-17 13:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>

Make sure we clear the enable bit when the block is not used.
This will save some energy in certain hardware versions.

Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/spi/spi-pl022.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index 91700bb..0a1d8ed 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -513,7 +513,12 @@ static void giveback(struct pl022 *pl022)
 	msg->state = NULL;
 	if (msg->complete)
 		msg->complete(msg->context);
-	/* This message is completed, so let's turn off the clocks & power */
+
+	/* disable the SPI/SSP operation */
+	writew((readw(SSP_CR1(pl022->virtbase)) &
+		(~SSP_CR1_MASK_SSE)), SSP_CR1(pl022->virtbase));
+
+	/* This message is completed, so let's turn off the clock! */
 	clk_disable(pl022->clk);
 	amba_pclk_disable(pl022->adev);
 	amba_vcore_disable(pl022->adev);
-- 
1.7.3.2

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/3] spi/pl022: disable the PL022 block when unused
  2011-10-17 13:12 [PATCH 2/3] spi/pl022: disable the PL022 block when unused Linus Walleij
@ 2011-10-18  9:13 ` Viresh Kumar
  2011-10-18  9:34   ` Russell King - ARM Linux
  0 siblings, 1 reply; 3+ messages in thread
From: Viresh Kumar @ 2011-10-18  9:13 UTC (permalink / raw)
  To: linux-arm-kernel

On 10/17/2011 6:42 PM, Linus WALLEIJ wrote:
> From: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
> 
> Make sure we clear the enable bit when the block is not used.
> This will save some energy in certain hardware versions.
> 
> Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  drivers/spi/spi-pl022.c |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
> index 91700bb..0a1d8ed 100644
> --- a/drivers/spi/spi-pl022.c
> +++ b/drivers/spi/spi-pl022.c
> @@ -513,7 +513,12 @@ static void giveback(struct pl022 *pl022)
>  	msg->state = NULL;
>  	if (msg->complete)
>  		msg->complete(msg->context);
> -	/* This message is completed, so let's turn off the clocks & power */
> +
> +	/* disable the SPI/SSP operation */
> +	writew((readw(SSP_CR1(pl022->virtbase)) &
> +		(~SSP_CR1_MASK_SSE)), SSP_CR1(pl022->virtbase));
> +
> +	/* This message is completed, so let's turn off the clock! */
>  	clk_disable(pl022->clk);
>  	amba_pclk_disable(pl022->adev);
>  	amba_vcore_disable(pl022->adev);

Reviewed-by: Viresh Kumar <viresh.kumar@st.com>

-- 
viresh

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 2/3] spi/pl022: disable the PL022 block when unused
  2011-10-18  9:13 ` Viresh Kumar
@ 2011-10-18  9:34   ` Russell King - ARM Linux
  0 siblings, 0 replies; 3+ messages in thread
From: Russell King - ARM Linux @ 2011-10-18  9:34 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Oct 18, 2011 at 02:43:27PM +0530, Viresh Kumar wrote:
> On 10/17/2011 6:42 PM, Linus WALLEIJ wrote:
> > From: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
> > 
> > Make sure we clear the enable bit when the block is not used.
> > This will save some energy in certain hardware versions.
> > 
> > Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> > ---
> >  drivers/spi/spi-pl022.c |    7 ++++++-
> >  1 files changed, 6 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
> > index 91700bb..0a1d8ed 100644
> > --- a/drivers/spi/spi-pl022.c
> > +++ b/drivers/spi/spi-pl022.c
> > @@ -513,7 +513,12 @@ static void giveback(struct pl022 *pl022)
> >  	msg->state = NULL;
> >  	if (msg->complete)
> >  		msg->complete(msg->context);
> > -	/* This message is completed, so let's turn off the clocks & power */
> > +
> > +	/* disable the SPI/SSP operation */
> > +	writew((readw(SSP_CR1(pl022->virtbase)) &
> > +		(~SSP_CR1_MASK_SSE)), SSP_CR1(pl022->virtbase));
> > +
> > +	/* This message is completed, so let's turn off the clock! */
> >  	clk_disable(pl022->clk);
> >  	amba_pclk_disable(pl022->adev);
> >  	amba_vcore_disable(pl022->adev);
> 
> Reviewed-by: Viresh Kumar <viresh.kumar@st.com>

Note that I have some changes around here in my amba branch (which are
dependent on other changes I have for the primecell runtime pm.)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-10-18  9:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-17 13:12 [PATCH 2/3] spi/pl022: disable the PL022 block when unused Linus Walleij
2011-10-18  9:13 ` Viresh Kumar
2011-10-18  9:34   ` Russell King - ARM Linux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox