diff options
author | Arto Merilainen <amerilainen@nvidia.com> | 2014-03-19 09:38:25 +0200 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2014-03-28 04:21:39 -0700 |
commit | e51e1033bd22dc5ea6a86f6704142baf89a2f7cb (patch) | |
tree | 9b5f65258f5777273f3b62e4f59f8001ed7da543 /drivers/gpu/nvgpu/gk20a/gk20a_scale.h | |
parent | 1428ed474d1acb22321e89301c06be1bb9e5fe17 (diff) |
gpu: nvgpu: Add NVIDIA GPU Driver
This patch moves the NVIDIA GPU driver to a new location.
Bug 1482562
Change-Id: I24293810b9d0f1504fd9be00135e21dad656ccb6
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-on: http://git-master/r/383722
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a_scale.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a_scale.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_scale.h b/drivers/gpu/nvgpu/gk20a/gk20a_scale.h new file mode 100644 index 000000000000..e76b16627105 --- /dev/null +++ b/drivers/gpu/nvgpu/gk20a/gk20a_scale.h @@ -0,0 +1,51 @@ +/* + * gk20a clock scaling profile + * + * Copyright (c) 2013-2014, NVIDIA Corporation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef GK20A_SCALE_H +#define GK20A_SCALE_H + +#include <linux/nvhost.h> +#include <linux/devfreq.h> + +struct platform_device; +struct clk; + +struct gk20a_scale_profile { + struct platform_device *pdev; + ktime_t last_event_time; + struct devfreq_dev_profile devfreq_profile; + struct devfreq_dev_status dev_stat; + struct notifier_block qos_notify_block; + void *private_data; +}; + +/* Initialization and de-initialization for module */ +void gk20a_scale_init(struct platform_device *); +void gk20a_scale_hw_init(struct platform_device *pdev); + +/* + * call when performing submit to notify scaling mechanism that the module is + * in use + */ +void gk20a_scale_notify_busy(struct platform_device *); +void gk20a_scale_notify_idle(struct platform_device *); + +void gk20a_scale_suspend(struct platform_device *); +void gk20a_scale_resume(struct platform_device *); + +#endif |