summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorSupriya <ssharatkumar@nvidia.com>2014-06-13 03:14:27 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:10:14 -0400
commitb7793a493a1fa292a22d5ce84c43ee342b9824b2 (patch)
tree963d128e317d319d2f53aff96420aec17b732bf6 /drivers/gpu/nvgpu/gk20a/gk20a.h
parentc32ac10b0bba400c1e83540a20c5ca210fa48613 (diff)
nvgpu: Host side changes to support HS mode
GM20B changes in PMU boot sequence to support booting in HS mode and LS mode Bug 1509680 Change-Id: I2832eda0efe17dd5e3a8f11dd06e7d4da267be70 Signed-off-by: Supriya <ssharatkumar@nvidia.com> Reviewed-on: http://git-master/r/423140 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Shridhar Rasal <srasal@nvidia.com> Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 726994ff..da5cc917 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -28,6 +28,7 @@ struct channel_gk20a;
28struct gr_gk20a; 28struct gr_gk20a;
29struct sim_gk20a; 29struct sim_gk20a;
30struct gk20a_ctxsw_ucode_segments; 30struct gk20a_ctxsw_ucode_segments;
31struct acr_gm20b;
31 32
32#include <linux/sched.h> 33#include <linux/sched.h>
33#include <linux/spinlock.h> 34#include <linux/spinlock.h>
@@ -45,6 +46,7 @@ struct gk20a_ctxsw_ucode_segments;
45#include "priv_ring_gk20a.h" 46#include "priv_ring_gk20a.h"
46#include "therm_gk20a.h" 47#include "therm_gk20a.h"
47#include "platform_gk20a.h" 48#include "platform_gk20a.h"
49#include "gm20b/acr_gm20b.h"
48 50
49extern struct platform_device tegra_gk20a_device; 51extern struct platform_device tegra_gk20a_device;
50 52
@@ -205,6 +207,8 @@ struct gpu_ops {
205 struct pmu_sequence *seq); 207 struct pmu_sequence *seq);
206 void *(*get_pmu_seq_out_a_ptr)( 208 void *(*get_pmu_seq_out_a_ptr)(
207 struct pmu_sequence *seq); 209 struct pmu_sequence *seq);
210 void (*set_pmu_cmdline_args_secure_mode)(struct pmu_gk20a *pmu,
211 u32 val);
208 } pmu_ver; 212 } pmu_ver;
209 struct { 213 struct {
210 int (*get_netlist_name)(int index, char *name); 214 int (*get_netlist_name)(int index, char *name);
@@ -214,6 +218,10 @@ struct gpu_ops {
214 int (*set_sparse)(struct vm_gk20a *vm, u64 vaddr, 218 int (*set_sparse)(struct vm_gk20a *vm, u64 vaddr,
215 u32 num_pages, u32 pgsz_idx); 219 u32 num_pages, u32 pgsz_idx);
216 } mm; 220 } mm;
221 struct {
222 int (*pmu_setup_sw)(struct gk20a *g);
223 int (*pmu_setup_hw_and_bootstrap)(struct gk20a *g);
224 } pmu;
217}; 225};
218 226
219struct gk20a { 227struct gk20a {
@@ -236,6 +244,7 @@ struct gk20a {
236 struct sim_gk20a sim; 244 struct sim_gk20a sim;
237 struct mm_gk20a mm; 245 struct mm_gk20a mm;
238 struct pmu_gk20a pmu; 246 struct pmu_gk20a pmu;
247 struct acr_gm20b acr;
239 struct cooling_device_gk20a gk20a_cdev; 248 struct cooling_device_gk20a gk20a_cdev;
240 249
241 /* Save pmu fw here so that it lives cross suspend/resume. 250 /* Save pmu fw here so that it lives cross suspend/resume.