spi/pl022: disable the PL022 block when unused
Subsystems (2)
PATCH 2/3 spi/pl022: disable the PL022 block when unused
From: Virupax Sadashivpetimath <[email protected]>
Make sure we clear the enable bit when the block is not used. This will save some energy in certain hardware versions.
--- drivers/spi/spi-pl022.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
drivers/spi/spi-pl022.c +6 -1
@@ -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);
Signature · 1 line
1.7.3.2
PATCH 2/3 spi/pl022: disable the PL022 block when unused
Quoted 19 lines · Linus WALLEIJ
From: Virupax Sadashivpetimath <[email protected]>
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 <[email protected]>Signed-off-by Linus Walleij <[email protected]>--- drivers/spi/spi-pl022.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)drivers/spi/spi-pl022.c +0
-0@@ -513,7 +513,12 @@ static void giveback(struct pl022 *pl022) msg->state =NULL ;if (msg->complete) msg->complete (msg->context);
drivers/spi/spi-pl022.c static void giveback(struct pl022 *pl022) · line 524
Quoted 10 lines
drivers/spi/spi-pl022.c +6
-1-/* 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);
Signature · 1 line
viresh
PATCH 2/3 spi/pl022: disable the PL022 block when unused
Quoted 24 lines · Viresh Kumar
Quoted 23 lines · Linus WALLEIJ
From: Virupax Sadashivpetimath <[email protected]>
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 <[email protected]>Signed-off-by Linus Walleij <[email protected]>--- drivers/spi/spi-pl022.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)drivers/spi/spi-pl022.c +3
-1@@ -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)) &
Quoted 8 lines
drivers/spi/spi-pl022.c static void giveback(struct pl022 *pl022) · line 524
Quoted 6 lines
drivers/spi/spi-pl022.c +3
-0+ (~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 <[email protected]>
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.)