summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/os_linux.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-09-28 13:34:27 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-10-17 13:43:39 -0400
commitb252653ac5f2b12a9a84476f9dde6a844a77a602 (patch)
treed2ca5a3f56c652db2e30e21409f3f1ab1994d0a3 /drivers/gpu/nvgpu/common/linux/os_linux.h
parent5c5b52dce54fa09d16ae38a232a0e17b4729b472 (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.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;