aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/amba
diff options
context:
space:
mode:
authorChris Blair <chris.blair@stericsson.com>2012-02-02 07:59:34 -0500
committerGrant Likely <grant.likely@secretlab.ca>2012-02-02 13:32:16 -0500
commit14af60b6fb3b76634278364b697dae2f9f360abf (patch)
tree7b454608c85bb6823384009a90ebe290431f17cf /include/linux/amba
parent90bbf4fdf2dc64aa7c20a93a9744c56a566baf26 (diff)
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/amba')
-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;
241 * @autosuspend_delay: delay in ms following transfer completion before the 241 * @autosuspend_delay: delay in ms following transfer completion before the
242 * runtime power management system suspends the device. A setting of 0 242 * runtime power management system suspends the device. A setting of 0
243 * indicates no delay and the device will be suspended immediately. 243 * indicates no delay and the device will be suspended immediately.
244 * @rt: indicates the controller should run the message pump with realtime
245 * priority to minimise the transfer latency on the bus.
244 */ 246 */
245struct pl022_ssp_controller { 247struct pl022_ssp_controller {
246 u16 bus_id; 248 u16 bus_id;
@@ -250,6 +252,7 @@ struct pl022_ssp_controller {
250 void *dma_rx_param; 252 void *dma_rx_param;
251 void *dma_tx_param; 253 void *dma_tx_param;
252 int autosuspend_delay; 254 int autosuspend_delay;
255 bool rt;
253}; 256};
254 257
255/** 258/**