diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/os_linux.h')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/os_linux.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/os_linux.h b/drivers/gpu/nvgpu/common/linux/os_linux.h index c67cbbcc..27433e32 100644 --- a/drivers/gpu/nvgpu/common/linux/os_linux.h +++ b/drivers/gpu/nvgpu/common/linux/os_linux.h | |||
@@ -24,6 +24,21 @@ | |||
24 | #include "gk20a/gk20a.h" | 24 | #include "gk20a/gk20a.h" |
25 | #include "cde.h" | 25 | #include "cde.h" |
26 | 26 | ||
27 | struct nvgpu_os_linux_ops { | ||
28 | struct { | ||
29 | void (*get_program_numbers)(struct gk20a *g, | ||
30 | u32 block_height_log2, | ||
31 | u32 shader_parameter, | ||
32 | int *hprog, int *vprog); | ||
33 | bool (*need_scatter_buffer)(struct gk20a *g); | ||
34 | int (*populate_scatter_buffer)(struct gk20a *g, | ||
35 | struct sg_table *sgt, | ||
36 | size_t surface_size, | ||
37 | void *scatter_buffer_ptr, | ||
38 | size_t scatter_buffer_size); | ||
39 | } cde; | ||
40 | }; | ||
41 | |||
27 | struct nvgpu_os_linux { | 42 | struct nvgpu_os_linux { |
28 | struct gk20a g; | 43 | struct gk20a g; |
29 | struct device *dev; | 44 | struct device *dev; |
@@ -99,6 +114,9 @@ struct nvgpu_os_linux { | |||
99 | #ifdef CONFIG_TEGRA_19x_GPU | 114 | #ifdef CONFIG_TEGRA_19x_GPU |
100 | struct nvgpu_os_linux_t19x t19x; | 115 | struct nvgpu_os_linux_t19x t19x; |
101 | #endif | 116 | #endif |
117 | |||
118 | struct nvgpu_os_linux_ops ops; | ||
119 | |||
102 | #ifdef CONFIG_DEBUG_FS | 120 | #ifdef CONFIG_DEBUG_FS |
103 | struct dentry *debugfs; | 121 | struct dentry *debugfs; |
104 | struct dentry *debugfs_alias; | 122 | struct dentry *debugfs_alias; |