diff options
author | Mandar Potdar <mpotdar@nvidia.com> | 2013-11-27 18:09:10 +0530 |
---|---|---|
committer | Sachin Nikam <snikam@nvidia.com> | 2013-12-02 03:46:23 -0800 |
commit | 57e0592c5f1ec40d7c50512bfd9b11853491d1a6 (patch) | |
tree | c9050b48af94865b8efb375b8a3e28e2c0fd779c /include/linux/tegra_nvavp.h | |
parent | eb4e05c4e3b129a066d4d411e28ae6ff80fe66f5 (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.h | 11 |
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 */ |