diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-09-28 13:34:27 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-10-17 13:43:39 -0400 |
commit | b252653ac5f2b12a9a84476f9dde6a844a77a602 (patch) | |
tree | d2ca5a3f56c652db2e30e21409f3f1ab1994d0a3 /drivers/gpu/nvgpu/common/linux/os_linux.h | |
parent | 5c5b52dce54fa09d16ae38a232a0e17b4729b472 (diff) |
gpu: nvgpu: Move rest of CDE structures to Linux
Move rest of CDE structures to common/linux. This includes moving
the per-chip firmware file interpretation functions, and removing CDE
ops from HAL and adding it to nvgpu_os_linux.
JIRA NVGPU-259
Change-Id: I59d8f44bddadecef81ad3c455b363a14034c5e13
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1570403
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
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; |