diff options
| author | Chris Lew <clew@codeaurora.org> | 2017-05-11 16:47:37 -0700 |
|---|---|---|
| committer | Chris Lew <clew@codeaurora.org> | 2017-05-23 10:45:33 -0700 |
| commit | a3b6b4e493804e18d98f92e160978fd2634d7b84 (patch) | |
| tree | 04672db2bd78976ba61c8d09743dc5cc00040d0c /include | |
| parent | 60be71604a84d2e047215cb702d6324379a353bb (diff) | |
soc: qcom: glink: Add new APIs to toggle RX thread priority
Low latency use cases are failing because glink RX thread to handle
the TX Done command is not being scheduled during high system load.
These new APIs allow clients to specify if they need the RX glink
thread to be Realtime
CRs-Fixed: 2050701
Change-Id: I6bd4023394e9ee617797826687f34abaee3fe65d
Signed-off-by: Chris Lew <clew@codeaurora.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/soc/qcom/glink.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/include/soc/qcom/glink.h b/include/soc/qcom/glink.h index fedca64ec9a2..cecd0c01d69a 100644 --- a/include/soc/qcom/glink.h +++ b/include/soc/qcom/glink.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014-2015,2017 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 @@ -339,6 +339,22 @@ int glink_qos_start(void *handle); */ unsigned long glink_qos_get_ramp_time(void *handle, size_t pkt_size); +/** + * glink_start_rx_rt() - Vote for RT thread priority on RX. + * @handle: Channel handle for which transaction are occurring. + * + * Return: 0 on success, standard Linux error codes on failure + */ +int glink_start_rx_rt(void *handle); + +/** + * glink_end_rx_rt() - Vote for RT thread priority on RX. + * @handle: Channel handle for which transaction are occurring. + * + * Return: 0 on success, standard Linux error codes on failure + */ +int glink_end_rx_rt(void *handle); + #else /* CONFIG_MSM_GLINK */ static inline void *glink_open(const struct glink_open_config *cfg_ptr) { @@ -427,5 +443,16 @@ static inline unsigned long glink_qos_get_ramp_time(void *handle, { return 0; } + +static inline int glink_start_rx_rt(void *handle) +{ + return -ENODEV; +} + +static inline int glink_end_rx_rt(void *handle) +{ + return -ENODEV; +} + #endif /* CONFIG_MSM_GLINK */ #endif /* _SOC_QCOM_GLINK_H_ */ |
