* [PATCH 2/3] spi/pl022: disable the PL022 block when unused
@ 2011-10-17 13:12 Linus Walleij
[not found] ` <1318857154-32160-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Linus Walleij @ 2011-10-17 13:12 UTC (permalink / raw)
To: Grant Likely, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Cc: Viresh Kumar, Lee Jones, Linus Walleij,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
Virupax Sadashivpetimath
From: Virupax Sadashivpetimath <virupax.sadashivpetimath-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
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-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
Signed-off-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 2/3] spi/pl022: disable the PL022 block when unused
[not found] ` <1318857154-32160-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
@ 2011-10-18 9:13 ` Viresh Kumar
[not found] ` <4E9D4337.3030700-qxv4g6HH51o@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Viresh Kumar @ 2011-10-18 9:13 UTC (permalink / raw)
To: Linus WALLEIJ
Cc: Linus Walleij, Virupax SADASHIVPETIMATH,
spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
Lee Jones,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
On 10/17/2011 6:42 PM, Linus WALLEIJ wrote:
> From: Virupax Sadashivpetimath <virupax.sadashivpetimath-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
>
> 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-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
> Signed-off-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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-qxv4g6HH51o@public.gmane.org>
--
viresh
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 2/3] spi/pl022: disable the PL022 block when unused
[not found] ` <4E9D4337.3030700-qxv4g6HH51o@public.gmane.org>
@ 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: Viresh Kumar
Cc: Linus WALLEIJ, Linus Walleij, Virupax SADASHIVPETIMATH,
spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
Lee Jones,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
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-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
> >
> > 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-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
> > Signed-off-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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-qxv4g6HH51o@public.gmane.org>
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.)
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
^ 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
[not found] ` <1318857154-32160-1-git-send-email-linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>
2011-10-18 9:13 ` Viresh Kumar
[not found] ` <4E9D4337.3030700-qxv4g6HH51o@public.gmane.org>
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;
as well as URLs for NNTP newsgroup(s).