summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorSumit Gupta <sumitg@nvidia.com>2018-07-06 09:41:31 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-08-02 16:56:00 -0400
commit4b68191a08a3bb923f9a15df9db5dfb653b0343b (patch)
tree880ada6aeacc6e8f655e409e96d99afe85ab9cee /include/linux
parent2e44455ad1dde2e35a8c2d558508cc6b1a8cf876 (diff)
platform: tegra: add cbb noirq resume callback
Adding noirq phase callback in cbb to enable faults during resume. Also added no rumtime pm functions in cvsram driver to enable/disable CV clock before setting its NOC's registers in cbb resume/suspend noirq. This was required as the existing runtime pm used in cvnas driver is not up during noirq phase. Bug 200422155 Bug 200340783 Change-Id: I6ca19eec2bcad3254508c594a6d4e96e063c2cd0 Signed-off-by: Sumit Gupta <sumitg@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1772791 GVS: Gerrit_Virtual_Submit Reviewed-by: Puneet Saxena <puneets@nvidia.com> Reviewed-by: Alexander Van Brunt <avanbrunt@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/platform/tegra/tegra19x_cbb.h2
-rw-r--r--include/linux/platform/tegra/tegra_cbb.h12
2 files changed, 12 insertions, 2 deletions
diff --git a/include/linux/platform/tegra/tegra19x_cbb.h b/include/linux/platform/tegra/tegra19x_cbb.h
index fa6e8b7a5..c3717fcff 100644
--- a/include/linux/platform/tegra/tegra19x_cbb.h
+++ b/include/linux/platform/tegra/tegra19x_cbb.h
@@ -16,6 +16,8 @@
16extern int nvcvnas_busy(void); 16extern int nvcvnas_busy(void);
17extern int nvcvnas_idle(void); 17extern int nvcvnas_idle(void);
18extern int is_nvcvnas_probed(void); 18extern int is_nvcvnas_probed(void);
19extern int nvcvnas_busy_no_rpm(void);
20extern int nvcvnas_idle_no_rpm(void);
19 21
20static char *t194_master_id[] = { 22static char *t194_master_id[] = {
21 "CCPLEX", /* 0x1 */ 23 "CCPLEX", /* 0x1 */
diff --git a/include/linux/platform/tegra/tegra_cbb.h b/include/linux/platform/tegra/tegra_cbb.h
index 814278e07..2789bce60 100644
--- a/include/linux/platform/tegra/tegra_cbb.h
+++ b/include/linux/platform/tegra/tegra_cbb.h
@@ -138,6 +138,12 @@ struct tegra_cbb_errlog_record {
138 bool is_ax2apb_bridge_connected; 138 bool is_ax2apb_bridge_connected;
139 u64 *axi2abp_bases; 139 u64 *axi2abp_bases;
140 int apb_bridge_cnt; 140 int apb_bridge_cnt;
141 bool is_clk_rst;
142 int (*is_cluster_probed)(void);
143 int (*tegra_noc_en_clk_rpm)(void);
144 int (*tegra_noc_dis_clk_rpm)(void);
145 int (*tegra_noc_en_clk_no_rpm)(void);
146 int (*tegra_noc_dis_clk_no_rpm)(void);
141}; 147};
142 148
143struct tegra_cbb_noc_data { 149struct tegra_cbb_noc_data {
@@ -157,7 +163,9 @@ struct tegra_cbb_noc_data {
157 bool is_ax2apb_bridge_connected; 163 bool is_ax2apb_bridge_connected;
158 bool is_clk_rst; 164 bool is_clk_rst;
159 int (*is_cluster_probed)(void); 165 int (*is_cluster_probed)(void);
160 int (*tegra_noc_clk_enable)(void); 166 int (*tegra_noc_en_clk_rpm)(void);
161 int (*tegra_noc_clk_disable)(void); 167 int (*tegra_noc_dis_clk_rpm)(void);
168 int (*tegra_noc_en_clk_no_rpm)(void);
169 int (*tegra_noc_dis_clk_no_rpm)(void);
162}; 170};
163 171