summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorChris Blair <chris.blair@stericsson.com>2012-02-02 13:59:34 +0100
committerGrant Likely <grant.likely@secretlab.ca>2012-02-02 11:32:16 -0700
commit14af60b6fb3b76634278364b697dae2f9f360abf (patch)
tree7b454608c85bb6823384009a90ebe290431f17cf /include/linux
parent90bbf4fdf2dc64aa7c20a93a9744c56a566baf26 (diff)
downloadlinux-14af60b6fb3b76634278364b697dae2f9f360abf.tar.gz
linux-14af60b6fb3b76634278364b697dae2f9f360abf.tar.bz2
linux-14af60b6fb3b76634278364b697dae2f9f360abf.zip
spi/pl022: Add high priority message pump support
This switches the PL022 worker to a kthread in order to get hold of a mechanism to control the message pump priority. On low-latency systems elevating the message kthread to realtime priority give a real sleek response curve. This has been confirmed by measurements. Realtime priority elevation for a certain PL022 port can be requested from platform data. Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-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> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/amba/pl022.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/amba/pl022.h b/include/linux/amba/pl022.h
index 572f637299c9..3672f40f3455 100644
--- a/include/linux/amba/pl022.h
+++ b/include/linux/amba/pl022.h
@@ -241,6 +241,8 @@ struct dma_chan;
* @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.
+ * @rt: indicates the controller should run the message pump with realtime
+ * priority to minimise the transfer latency on the bus.
*/
struct pl022_ssp_controller {
u16 bus_id;
@@ -250,6 +252,7 @@ struct pl022_ssp_controller {
void *dma_rx_param;
void *dma_tx_param;
int autosuspend_delay;
+ bool rt;
};
/**