summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/os_linux.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/os_linux.h')
-rw-r--r--drivers/gpu/nvgpu/common/linux/os_linux.h18
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
27struct 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
27struct nvgpu_os_linux { 42struct 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;