diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-11-07 12:31:37 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-11-09 22:18:31 -0500 |
commit | c87e85af0cd812c6e1c138d4d1e48c23e3aa6bd3 (patch) | |
tree | 51f415090fa9fc2be12cc496316ea543a90011bf /drivers/gpu/nvgpu | |
parent | 5b368d3e46b946ed2a6b1b70ad2ac600740e582a (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: I92cbadf3bd07292a8715d30843972def879795f5
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1593691
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gv100/hal_gv100.c | 26 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hal_gv11b.c | 26 |
2 files changed, 36 insertions, 16 deletions
diff --git a/drivers/gpu/nvgpu/gv100/hal_gv100.c b/drivers/gpu/nvgpu/gv100/hal_gv100.c index 4ee333b5..88008e77 100644 --- a/drivers/gpu/nvgpu/gv100/hal_gv100.c +++ b/drivers/gpu/nvgpu/gv100/hal_gv100.c | |||
@@ -213,6 +213,24 @@ static int gv100_get_litter_value(struct gk20a *g, int value) | |||
213 | case GPU_LIT_SMPC_PRI_STRIDE: | 213 | case GPU_LIT_SMPC_PRI_STRIDE: |
214 | ret = proj_smpc_stride_v(); | 214 | ret = proj_smpc_stride_v(); |
215 | break; | 215 | break; |
216 | case GPU_LIT_TWOD_CLASS: | ||
217 | ret = FERMI_TWOD_A; | ||
218 | break; | ||
219 | case GPU_LIT_THREED_CLASS: | ||
220 | ret = VOLTA_A; | ||
221 | break; | ||
222 | case GPU_LIT_COMPUTE_CLASS: | ||
223 | ret = VOLTA_COMPUTE_A; | ||
224 | break; | ||
225 | case GPU_LIT_GPFIFO_CLASS: | ||
226 | ret = VOLTA_CHANNEL_GPFIFO_A; | ||
227 | break; | ||
228 | case GPU_LIT_I2M_CLASS: | ||
229 | ret = KEPLER_INLINE_TO_MEMORY_B; | ||
230 | break; | ||
231 | case GPU_LIT_DMA_COPY_CLASS: | ||
232 | ret = VOLTA_DMA_COPY_A; | ||
233 | break; | ||
216 | default: | 234 | default: |
217 | break; | 235 | break; |
218 | } | 236 | } |
@@ -697,7 +715,6 @@ static const struct gpu_ops gv100_ops = { | |||
697 | int gv100_init_hal(struct gk20a *g) | 715 | int gv100_init_hal(struct gk20a *g) |
698 | { | 716 | { |
699 | struct gpu_ops *gops = &g->ops; | 717 | struct gpu_ops *gops = &g->ops; |
700 | struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics; | ||
701 | 718 | ||
702 | gops->bios = gv100_ops.bios; | 719 | gops->bios = gv100_ops.bios; |
703 | gops->ltc = gv100_ops.ltc; | 720 | gops->ltc = gv100_ops.ltc; |
@@ -754,12 +771,5 @@ int gv100_init_hal(struct gk20a *g) | |||
754 | 771 | ||
755 | g->name = "gv10x"; | 772 | g->name = "gv10x"; |
756 | 773 | ||
757 | c->twod_class = FERMI_TWOD_A; | ||
758 | c->threed_class = VOLTA_A; | ||
759 | c->compute_class = VOLTA_COMPUTE_A; | ||
760 | c->gpfifo_class = VOLTA_CHANNEL_GPFIFO_A; | ||
761 | c->inline_to_memory_class = KEPLER_INLINE_TO_MEMORY_B; | ||
762 | c->dma_copy_class = VOLTA_DMA_COPY_A; | ||
763 | |||
764 | return 0; | 774 | return 0; |
765 | } | 775 | } |
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c index ced5006d..681ddf3a 100644 --- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c | |||
@@ -196,6 +196,24 @@ int gv11b_get_litter_value(struct gk20a *g, int value) | |||
196 | case GPU_LIT_FBPA_SHARED_BASE: | 196 | case GPU_LIT_FBPA_SHARED_BASE: |
197 | ret = 0; | 197 | ret = 0; |
198 | break; | 198 | break; |
199 | case GPU_LIT_TWOD_CLASS: | ||
200 | ret = FERMI_TWOD_A; | ||
201 | break; | ||
202 | case GPU_LIT_THREED_CLASS: | ||
203 | ret = VOLTA_A; | ||
204 | break; | ||
205 | case GPU_LIT_COMPUTE_CLASS: | ||
206 | ret = VOLTA_COMPUTE_A; | ||
207 | break; | ||
208 | case GPU_LIT_GPFIFO_CLASS: | ||
209 | ret = VOLTA_CHANNEL_GPFIFO_A; | ||
210 | break; | ||
211 | case GPU_LIT_I2M_CLASS: | ||
212 | ret = KEPLER_INLINE_TO_MEMORY_B; | ||
213 | break; | ||
214 | case GPU_LIT_DMA_COPY_CLASS: | ||
215 | ret = VOLTA_DMA_COPY_A; | ||
216 | break; | ||
199 | 217 | ||
200 | default: | 218 | default: |
201 | nvgpu_err(g, "Missing definition %d", value); | 219 | nvgpu_err(g, "Missing definition %d", value); |
@@ -674,7 +692,6 @@ static const struct gpu_ops gv11b_ops = { | |||
674 | int gv11b_init_hal(struct gk20a *g) | 692 | int gv11b_init_hal(struct gk20a *g) |
675 | { | 693 | { |
676 | struct gpu_ops *gops = &g->ops; | 694 | struct gpu_ops *gops = &g->ops; |
677 | struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics; | ||
678 | u32 val; | 695 | u32 val; |
679 | bool priv_security; | 696 | bool priv_security; |
680 | 697 | ||
@@ -760,12 +777,5 @@ int gv11b_init_hal(struct gk20a *g) | |||
760 | 777 | ||
761 | g->name = "gv11b"; | 778 | g->name = "gv11b"; |
762 | 779 | ||
763 | c->twod_class = FERMI_TWOD_A; | ||
764 | c->threed_class = VOLTA_A; | ||
765 | c->compute_class = VOLTA_COMPUTE_A; | ||
766 | c->gpfifo_class = VOLTA_CHANNEL_GPFIFO_A; | ||
767 | c->inline_to_memory_class = KEPLER_INLINE_TO_MEMORY_B; | ||
768 | c->dma_copy_class = VOLTA_DMA_COPY_A; | ||
769 | |||
770 | return 0; | 780 | return 0; |
771 | } | 781 | } |