diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-11-07 12:19:53 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-11-09 22:18:11 -0500 |
commit | dc5f6bcee0281c5fa63c977519d732218f519ea0 (patch) | |
tree | bd465cb7e5c45999019a787547bdb79835d9dbf5 /drivers/gpu/nvgpu/common/linux | |
parent | 1dad4adbd2aecfd484a84d47b29b81bb665bc60b (diff) |
gpu: nvgpu: Return GPU classes in get_litter_value
Return GPU classes in HAL get_litter_value() instead of assigning
them to GPU characteristics at HAL initialization time.
JIRA NVGPU-259
Change-Id: Ife7a5cb38df3d33ce98a1caa43d3873fb1431234
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1593683
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/ce2.c | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/ce2.c b/drivers/gpu/nvgpu/common/linux/ce2.c index 5127a32b..5f89ef7b 100644 --- a/drivers/gpu/nvgpu/common/linux/ce2.c +++ b/drivers/gpu/nvgpu/common/linux/ce2.c | |||
@@ -54,10 +54,10 @@ int gk20a_ce_execute_ops(struct gk20a *g, | |||
54 | u32 methodSize; | 54 | u32 methodSize; |
55 | u32 cmd_buf_read_offset; | 55 | u32 cmd_buf_read_offset; |
56 | u32 fence_index; | 56 | u32 fence_index; |
57 | u32 dma_copy_class; | ||
57 | struct nvgpu_gpfifo gpfifo; | 58 | struct nvgpu_gpfifo gpfifo; |
58 | struct nvgpu_fence fence = {0,0}; | 59 | struct nvgpu_fence fence = {0,0}; |
59 | struct gk20a_fence *ce_cmd_buf_fence_out = NULL; | 60 | struct gk20a_fence *ce_cmd_buf_fence_out = NULL; |
60 | struct nvgpu_gpu_characteristics *gpu_capability = &g->gpu_characteristics; | ||
61 | 61 | ||
62 | if (!ce_app->initialised ||ce_app->app_state != NVGPU_CE_ACTIVE) | 62 | if (!ce_app->initialised ||ce_app->app_state != NVGPU_CE_ACTIVE) |
63 | goto end; | 63 | goto end; |
@@ -124,6 +124,7 @@ int gk20a_ce_execute_ops(struct gk20a *g, | |||
124 | 124 | ||
125 | cmd_buf_gpu_va = (ce_ctx->cmd_buf_mem.gpu_va + (u64)(cmd_buf_read_offset *sizeof(u32))); | 125 | cmd_buf_gpu_va = (ce_ctx->cmd_buf_mem.gpu_va + (u64)(cmd_buf_read_offset *sizeof(u32))); |
126 | 126 | ||
127 | dma_copy_class = g->ops.get_litter_value(g, GPU_LIT_DMA_COPY_CLASS); | ||
127 | methodSize = gk20a_ce_prepare_submit(src_buf, | 128 | methodSize = gk20a_ce_prepare_submit(src_buf, |
128 | dst_buf, | 129 | dst_buf, |
129 | size, | 130 | size, |
@@ -132,7 +133,7 @@ int gk20a_ce_execute_ops(struct gk20a *g, | |||
132 | payload, | 133 | payload, |
133 | gk20a_get_valid_launch_flags(g, launch_flags), | 134 | gk20a_get_valid_launch_flags(g, launch_flags), |
134 | request_operation, | 135 | request_operation, |
135 | gpu_capability->dma_copy_class, | 136 | dma_copy_class, |
136 | gk20a_fence_in); | 137 | gk20a_fence_in); |
137 | 138 | ||
138 | if (methodSize) { | 139 | if (methodSize) { |
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c b/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c index 83282b87..0481eacf 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c | |||
@@ -209,6 +209,14 @@ gk20a_ctrl_ioctl_gpu_characteristics( | |||
209 | pgpu->impl = g->params.gpu_impl; | 209 | pgpu->impl = g->params.gpu_impl; |
210 | pgpu->rev = g->params.gpu_rev; | 210 | pgpu->rev = g->params.gpu_rev; |
211 | pgpu->reg_ops_limit = NVGPU_IOCTL_DBG_REG_OPS_LIMIT; | 211 | pgpu->reg_ops_limit = NVGPU_IOCTL_DBG_REG_OPS_LIMIT; |
212 | pgpu->twod_class = g->ops.get_litter_value(g, GPU_LIT_TWOD_CLASS); | ||
213 | pgpu->threed_class = g->ops.get_litter_value(g, GPU_LIT_THREED_CLASS); | ||
214 | pgpu->compute_class = g->ops.get_litter_value(g, GPU_LIT_COMPUTE_CLASS); | ||
215 | pgpu->gpfifo_class = g->ops.get_litter_value(g, GPU_LIT_GPFIFO_CLASS); | ||
216 | pgpu->inline_to_memory_class = | ||
217 | g->ops.get_litter_value(g, GPU_LIT_I2M_CLASS); | ||
218 | pgpu->dma_copy_class = | ||
219 | g->ops.get_litter_value(g, GPU_LIT_DMA_COPY_CLASS); | ||
212 | 220 | ||
213 | pgpu->vbios_version = g->bios.vbios_version; | 221 | pgpu->vbios_version = g->bios.vbios_version; |
214 | pgpu->vbios_oem_version = g->bios.vbios_oem_version; | 222 | pgpu->vbios_oem_version = g->bios.vbios_oem_version; |