#include "hw_top_gk20a.h"
#include "hw_ltc_gk20a.h"
#include "gk20a_scale.h"
-#include "gr3d/pod_scaling.h"
#include "dbg_gpu_gk20a.h"
#include "hal.h"
*/
#include "platform_gk20a.h"
+#include "gr3d/scale3d.h"
#include "gk20a_scale.h"
#include "nvhost_acm.h"
#include "bus_client.h"
#include "class_ids.h"
#include "t124/syncpt_t124.h"
-#include "gr3d/pod_scaling.h"
#include "../../../../../arch/arm/mach-tegra/iomap.h"
#include <linux/tegra-powergate.h>
#include <linux/nvhost_ioctl.h>
*
* Tegra Graphics Host 3D
*
- * Copyright (c) 2012-2013 NVIDIA Corporation. All rights reserved.
+ * Copyright (c) 2012-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,
#include "bus_client.h"
#include "nvhost_channel.h"
#include "chip_support.h"
-#include "pod_scaling.h"
#include "class_ids.h"
#include "nvhost_job.h"
#include "nvhost_acm.h"
#include "scale3d.h"
-#include "pod_scaling.h"
#include "dev.h"
+#define GET_TARGET_FREQ_DONTSCALE 1
+
/* time frame for load and hint tracking - when events come in at a larger
* interval, this probably indicates the current estimates are stale
*/
}
/*******************************************************************************
- * nvhost_scale3d_suspend(dev)
+ * nvhost_pod_suspend(dev)
*
* Prepare the device for suspend
******************************************************************************/
-void nvhost_scale3d_suspend(struct device *dev)
+static void nvhost_pod_suspend(struct devfreq *df)
{
- struct nvhost_device_data *pdata = dev_get_drvdata(dev);
- struct devfreq *df = pdata->power_manager;
struct podgov_info_rec *podgov;
- if (!df)
- return;
-
mutex_lock(&df->lock);
podgov = df->data;
case DEVFREQ_GOV_START:
ret = nvhost_pod_init(df);
break;
-
case DEVFREQ_GOV_STOP:
nvhost_pod_exit(df);
break;
+ case DEVFREQ_GOV_SUSPEND:
+ nvhost_pod_suspend(df);
+ break;
default:
break;
}
+++ /dev/null
-/*
- * drivers/video/tegra/host/gr3d/pod_scaling.h
- *
- * Tegra Graphics Host Power-On-Demand Scaling
- *
- * Copyright (c) 2012-2013, 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 POD_SCALING_H
-#define POD_SCALING_H
-
-struct platform_device;
-struct dentry;
-
-#define GET_TARGET_FREQ_DONTSCALE 1
-/* Suspend is called when powering down module */
-void nvhost_scale3d_suspend(struct device *);
-#endif
return pdata->clk[index];
}
+/*******************************************************************************
+ * nvhost_scale3d_suspend(dev)
+ *
+ * Prepare the device for suspend
+ ******************************************************************************/
+
+void nvhost_scale3d_suspend(struct device *dev)
+{
+ struct nvhost_device_data *pdata = dev_get_drvdata(dev);
+ struct devfreq *df = pdata->power_manager;
+
+ if (!df)
+ return;
+
+ devfreq_suspend_device(df);
+}
+
long nvhost_scale3d_get_emc_rate(struct nvhost_emc_params *emc_params,
long freq)
{
*
* Tegra Graphics Host 3D Clock Scaling
*
- * Copyright (c) 2010-2013, NVIDIA Corporation. All rights reserved.
+ * Copyright (c) 2010-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,
bool linear;
};
+/* Suspend is called when powering down module */
+void nvhost_scale3d_suspend(struct device *);
+
/* Initialization and de-initialization for module */
void nvhost_scale3d_init(struct platform_device *pdev);
void nvhost_scale3d_deinit(struct platform_device *pdev);
#include "chip_support.h"
#include "nvhost_channel.h"
#include "chip_support.h"
-#include "gr3d/pod_scaling.h"
#include "class_ids.h"
/* HACK! This needs to come from DT */
#include "tsec/tsec.h"
#include "vi/vi.h"
#include "isp/isp.h"
-#include "gr3d/pod_scaling.h"
#include "gr3d/scale3d.h"
#include "chip_support.h"
#include "gr3d/gr3d_t114.h"
#include "gr3d/scale3d.h"
#include "nvhost_scale.h"
-#include "gr3d/pod_scaling.h"
#include "msenc/msenc.h"
#include "tsec/tsec.h"
#include "linux/nvhost_ioctl.h"