diff options
author | Chris Blair <chris.blair@stericsson.com> | 2012-02-02 07:59:34 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-02-02 13:32:16 -0500 |
commit | 14af60b6fb3b76634278364b697dae2f9f360abf (patch) | |
tree | 7b454608c85bb6823384009a90ebe290431f17cf /include/linux/amba/pl022.h | |
parent | 90bbf4fdf2dc64aa7c20a93a9744c56a566baf26 (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/pl022.h')
-rw-r--r-- | include/linux/amba/pl022.h | 3 |
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 | */ |
245 | struct pl022_ssp_controller { | 247 | struct 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 | /** |