diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/platform_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/platform_gk20a.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h index 49f386d8..4e454140 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h | |||
@@ -20,12 +20,20 @@ | |||
20 | 20 | ||
21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
22 | #include <linux/pm_domain.h> | 22 | #include <linux/pm_domain.h> |
23 | #include <linux/dma-attrs.h> | ||
23 | 24 | ||
24 | struct gk20a; | 25 | struct gk20a; |
25 | struct channel_gk20a; | 26 | struct channel_gk20a; |
26 | struct gr_ctx_buffer_desc; | 27 | struct gr_ctx_buffer_desc; |
27 | struct gk20a_scale_profile; | 28 | struct gk20a_scale_profile; |
28 | 29 | ||
30 | struct secure_page_buffer { | ||
31 | void (*destroy)(struct platform_device *, struct secure_page_buffer *); | ||
32 | size_t size; | ||
33 | u64 iova; | ||
34 | struct dma_attrs attrs; | ||
35 | }; | ||
36 | |||
29 | struct gk20a_platform { | 37 | struct gk20a_platform { |
30 | #ifdef CONFIG_TEGRA_GK20A | 38 | #ifdef CONFIG_TEGRA_GK20A |
31 | u32 syncpt_base; | 39 | u32 syncpt_base; |
@@ -79,6 +87,13 @@ struct gk20a_platform { | |||
79 | struct gr_ctx_buffer_desc *desc, | 87 | struct gr_ctx_buffer_desc *desc, |
80 | size_t size); | 88 | size_t size); |
81 | 89 | ||
90 | /* Function to allocate a secure buffer of PAGE_SIZE at probe time. | ||
91 | * This is also helpful to trigger secure memory resizing | ||
92 | * while GPU is off | ||
93 | */ | ||
94 | int (*secure_page_alloc)(struct platform_device *dev); | ||
95 | struct secure_page_buffer secure_buffer; | ||
96 | |||
82 | /* Device is going to be suspended */ | 97 | /* Device is going to be suspended */ |
83 | int (*suspend)(struct device *); | 98 | int (*suspend)(struct device *); |
84 | 99 | ||