diff options
author | Supriya <ssharatkumar@nvidia.com> | 2014-06-13 03:14:27 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:10:14 -0400 |
commit | b7793a493a1fa292a22d5ce84c43ee342b9824b2 (patch) | |
tree | 963d128e317d319d2f53aff96420aec17b732bf6 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | c32ac10b0bba400c1e83540a20c5ca210fa48613 (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.h | 9 |
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; | |||
28 | struct gr_gk20a; | 28 | struct gr_gk20a; |
29 | struct sim_gk20a; | 29 | struct sim_gk20a; |
30 | struct gk20a_ctxsw_ucode_segments; | 30 | struct gk20a_ctxsw_ucode_segments; |
31 | struct 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 | ||
49 | extern struct platform_device tegra_gk20a_device; | 51 | extern 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 | ||
219 | struct gk20a { | 227 | struct 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. |