summaryrefslogtreecommitdiff
path: root/include/linux/tegra_nvavp.h
diff options
context:
space:
mode:
authorMandar Potdar <mpotdar@nvidia.com>2013-11-27 18:09:10 +0530
committerSachin Nikam <snikam@nvidia.com>2013-12-02 03:46:23 -0800
commit57e0592c5f1ec40d7c50512bfd9b11853491d1a6 (patch)
treec9050b48af94865b8efb375b8a3e28e2c0fd779c /include/linux/tegra_nvavp.h
parenteb4e05c4e3b129a066d4d411e28ae6ff80fe66f5 (diff)
video: tegra: avp: Add PM QoS control for CPU
Control minimum number of online CPUs, minimum CPU frequency by requesting PM QoS. CPU frequency is controlled using existing ioctl nvavp_set_clock_ioctl. Added new ioctl nvavp_set_min_online_cpus_ioctl for controlling minimum number of online CPUs. bug 1396367 Change-Id: I33bd1cd23a508e8015ad882c58be02aed349d719 Signed-off-by: Mandar Potdar <mpotdar@nvidia.com> Reviewed-on: http://git-master/r/336653 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Diffstat (limited to 'include/linux/tegra_nvavp.h')
-rw-r--r--include/linux/tegra_nvavp.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/linux/tegra_nvavp.h b/include/linux/tegra_nvavp.h
index 250eee379de9..a2e092e55a42 100644
--- a/include/linux/tegra_nvavp.h
+++ b/include/linux/tegra_nvavp.h
@@ -1,7 +1,7 @@
/*
* include/linux/tegra_nvavp.h
*
- * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2012-2013, NVIDIA CORPORATION. All rights reserved.
*
* This file is licensed under the terms of the GNU General Public License
* version 2. This program is licensed "as is" without any warranty of any
@@ -21,6 +21,7 @@
#define NVAVP_UCODE_EXT 0x00000001 /*use external ucode provided */
enum {
+ NVAVP_MODULE_ID_CPU = 1,
NVAVP_MODULE_ID_AVP = 2,
NVAVP_MODULE_ID_VCP = 3,
NVAVP_MODULE_ID_BSEA = 27,
@@ -73,6 +74,10 @@ struct nvavp_clock_stay_on_state_args {
enum nvavp_clock_stay_on_state state;
};
+struct nvavp_num_cpus_args {
+ __u32 min_online_cpus;
+};
+
#define NVAVP_IOCTL_MAGIC 'n'
#define NVAVP_IOCTL_SET_NVMAP_FD _IOW(NVAVP_IOCTL_MAGIC, 0x60, \
@@ -93,8 +98,10 @@ struct nvavp_clock_stay_on_state_args {
struct nvavp_clock_args)
#define NVAVP_IOCTL_DISABLE_AUDIO_CLOCKS _IOWR(NVAVP_IOCTL_MAGIC, 0x69, \
struct nvavp_clock_args)
+#define NVAVP_IOCTL_SET_MIN_ONLINE_CPUS _IOWR(NVAVP_IOCTL_MAGIC, 0x70, \
+ struct nvavp_num_cpus_args)
#define NVAVP_IOCTL_MIN_NR _IOC_NR(NVAVP_IOCTL_SET_NVMAP_FD)
-#define NVAVP_IOCTL_MAX_NR _IOC_NR(NVAVP_IOCTL_DISABLE_AUDIO_CLOCKS)
+#define NVAVP_IOCTL_MAX_NR _IOC_NR(NVAVP_IOCTL_SET_MIN_ONLINE_CPUS)
#endif /* __LINUX_TEGRA_NVAVP_H */