summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorBanajit Goswami <bgoswami@codeaurora.org>2017-05-15 13:54:01 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2019-01-17 01:22:02 -0800
commit571090a2b3d1fdf8e01b0343d056d3c571b6bdb2 (patch)
tree7e8eb8927700503a55cd085bb211435ecbae75a6 /include/linux
parentfdf0731fd5fcc51bf1de5bb70600dca4585b2a4e (diff)
soc: q6dspv2: add api to vote for upgrading thread priority
For some time critical tasks, the thread priority might need to be upgraded to Real-Time Thread priority level. Expose an interface from APR layer so that clients can vote for a priority upgrade whenever needed. Change-Id: Ieb4afa914905750eccdf7672020a8751fdcf6462 Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/qdsp6v2/apr.h4
-rw-r--r--include/linux/qdsp6v2/apr_tal.h10
2 files changed, 12 insertions, 2 deletions
diff --git a/include/linux/qdsp6v2/apr.h b/include/linux/qdsp6v2/apr.h
index 98432952f278..31c552b8da07 100644
--- a/include/linux/qdsp6v2/apr.h
+++ b/include/linux/qdsp6v2/apr.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2010-2017, 2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -196,4 +196,6 @@ int apr_set_q6_state(enum apr_subsys_state state);
void apr_set_subsys_state(void);
const char *apr_get_lpass_subsys_name(void);
uint16_t apr_get_reset_domain(uint16_t proc);
+int apr_start_rx_rt(void *handle);
+int apr_end_rx_rt(void *handle);
#endif
diff --git a/include/linux/qdsp6v2/apr_tal.h b/include/linux/qdsp6v2/apr_tal.h
index 9b35c9f9882d..6100fe0b229c 100644
--- a/include/linux/qdsp6v2/apr_tal.h
+++ b/include/linux/qdsp6v2/apr_tal.h
@@ -1,4 +1,5 @@
-/* Copyright (c) 2010-2011, 2016-2017 The Linux Foundation. All rights reserved.
+/* Copyright (c) 2010-2011, 2016-2017, 2019 The Linux Foundation.
+ * All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -78,6 +79,9 @@ int apr_tal_rx_intents_config(struct apr_svc_ch_dev *apr_ch,
#if defined(CONFIG_MSM_QDSP6_APRV2_GLINK) || \
defined(CONFIG_MSM_QDSP6_APRV3_GLINK)
+int apr_tal_start_rx_rt(struct apr_svc_ch_dev *apr_ch);
+int apr_tal_end_rx_rt(struct apr_svc_ch_dev *apr_ch);
+
struct apr_svc_ch_dev {
void *handle;
spinlock_t w_lock;
@@ -90,6 +94,10 @@ struct apr_svc_ch_dev {
bool if_remote_intent_ready;
};
#else
+static inline int apr_tal_start_rx_rt(struct apr_svc_ch_dev *apr_ch)
+{ return 0; }
+static inline int apr_tal_end_rx_rt(struct apr_svc_ch_dev *apr_ch) { return 0; }
+
struct apr_svc_ch_dev {
struct smd_channel *ch;
spinlock_t lock;