summaryrefslogtreecommitdiff
path: root/include/linux/amba
diff options
context:
space:
mode:
authorChris Blair <chris.blair@stericsson.com>2011-11-08 08:54:46 +0000
committerLinus Walleij <linus.walleij@linaro.org>2011-12-01 17:16:08 +0100
commit53e4acea0e819a6a8513e10a0773f2259ede0481 (patch)
tree621636e14849593e0d2381ee20124309ac624713 /include/linux/amba
parent0ad2deeab5d3fc80fc7cd85638f805830254ef1d (diff)
downloadlwn-53e4acea0e819a6a8513e10a0773f2259ede0481.tar.gz
lwn-53e4acea0e819a6a8513e10a0773f2259ede0481.zip
spi/pl022: add support for pm_runtime autosuspend
Adds support for configuring the spi bus to use autosuspend for runtime power management. This can reduce the latency in starting an spi transfer by not suspending the device immediately following completion of a transfer. If another transfer then takes place before the autosuspend timeout, the call to resume the device can return immediately rather than needing to risk sleeping in order to resume the device. Reviewed-by: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Chris Blair <chris.blair@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'include/linux/amba')
-rw-r--r--include/linux/amba/pl022.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/amba/pl022.h b/include/linux/amba/pl022.h
index 4ce98f54186b..572f637299c9 100644
--- a/include/linux/amba/pl022.h
+++ b/include/linux/amba/pl022.h
@@ -238,6 +238,9 @@ struct dma_chan;
* @enable_dma: if true enables DMA driven transfers.
* @dma_rx_param: parameter to locate an RX DMA channel.
* @dma_tx_param: parameter to locate a TX DMA channel.
+ * @autosuspend_delay: delay in ms following transfer completion before the
+ * runtime power management system suspends the device. A setting of 0
+ * indicates no delay and the device will be suspended immediately.
*/
struct pl022_ssp_controller {
u16 bus_id;
@@ -246,6 +249,7 @@ struct pl022_ssp_controller {
bool (*dma_filter)(struct dma_chan *chan, void *filter_param);
void *dma_rx_param;
void *dma_tx_param;
+ int autosuspend_delay;
};
/**